2021-05-11 15:36:59 +00:00
|
|
|
plugins {
|
|
|
|
|
id 'java-library'
|
2023-11-08 12:00:44 +01:00
|
|
|
id 'application'
|
2022-01-03 10:52:03 +00:00
|
|
|
id 'com.github.johnrengelman.shadow' version '7.1.2'
|
2024-06-03 14:02:30 +00:00
|
|
|
id 'pmd'
|
2019-08-10 22:09:32 +02:00
|
|
|
}
|
|
|
|
|
|
2021-09-08 15:17:16 +02:00
|
|
|
sourceCompatibility = '1.11'
|
2021-09-08 13:14:12 +00:00
|
|
|
targetCompatibility = '1.11'
|
|
|
|
|
|
2020-04-09 23:39:09 +08:00
|
|
|
compileJava {
|
|
|
|
|
// Suppress warnings about internal api usage - https://stackoverflow.com/a/19553686/6238618
|
|
|
|
|
options.fork = true
|
|
|
|
|
options.forkOptions.executable = 'javac'
|
|
|
|
|
options.compilerArgs << '-XDignore.symbol.file'
|
|
|
|
|
}
|
|
|
|
|
|
2022-02-19 14:20:08 +01:00
|
|
|
task generateVersionFile {
|
|
|
|
|
def stdout = new ByteArrayOutputStream()
|
|
|
|
|
def result = exec {
|
|
|
|
|
ignoreExitValue true
|
|
|
|
|
commandLine "git", "describe", "--tags", "--always"
|
|
|
|
|
standardOutput = stdout
|
|
|
|
|
}
|
|
|
|
|
if(result.getExitValue() == 0) {
|
|
|
|
|
new File(projectDir, "src/main/resources/VERSION").text = stdout.toString() - "v"
|
|
|
|
|
} else {
|
|
|
|
|
logger.warn("Warning: automatic version detection failed")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-04-26 21:29:48 +08:00
|
|
|
shadowJar {
|
|
|
|
|
exclude 'OSGI-OPT/' // args4j garbage
|
|
|
|
|
}
|
2022-02-19 14:20:08 +01:00
|
|
|
tasks.shadowJar.dependsOn(generateVersionFile)
|
2020-04-26 21:29:48 +08:00
|
|
|
|
2019-08-10 22:09:32 +02:00
|
|
|
repositories {
|
|
|
|
|
mavenCentral()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
dependencies {
|
2022-07-29 23:27:10 +00:00
|
|
|
compileOnly 'org.projectlombok:lombok:1.18.24'
|
|
|
|
|
annotationProcessor 'org.projectlombok:lombok:1.18.24'
|
2020-04-14 23:24:28 +10:00
|
|
|
|
2021-05-11 15:36:59 +00:00
|
|
|
implementation 'args4j:args4j:2.33'
|
2022-08-02 20:57:06 +02:00
|
|
|
implementation 'net.lingala.zip4j:zip4j:2.11.1'
|
2022-08-29 15:58:47 +00:00
|
|
|
implementation 'net.java.dev.jna:jna-platform:5.12.1'
|
2022-08-12 12:48:21 +00:00
|
|
|
implementation 'com.github.oshi:oshi-core:6.2.2'
|
2021-05-11 15:36:59 +00:00
|
|
|
implementation 'org.simpleframework:simple-xml:2.7.1'
|
2022-08-29 15:58:47 +00:00
|
|
|
implementation 'com.formdev:flatlaf:2.2' // 2.3+ causes illegal reflective access warning on win + adoptium java 11.0.16
|
2022-07-29 23:27:10 +00:00
|
|
|
implementation 'com.squareup.okhttp3:okhttp:4.10.0'
|
|
|
|
|
implementation 'com.squareup.okhttp3:okhttp-urlconnection:4.10.0'
|
|
|
|
|
implementation 'org.slf4j:slf4j-nop:1.7.36'
|
2019-08-10 22:09:32 +02:00
|
|
|
}
|
|
|
|
|
|
2023-11-08 12:00:44 +01:00
|
|
|
mainClassName = "com.sheepit.client.standalone.Worker"
|
|
|
|
|
|
2019-08-10 22:09:32 +02:00
|
|
|
jar {
|
|
|
|
|
manifest {
|
|
|
|
|
attributes "Main-Class": "com.sheepit.client.standalone.Worker"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
from {
|
2021-05-11 15:36:59 +00:00
|
|
|
configurations.implementation.collect { it.isDirectory() ? it : zipTree(it) }
|
2019-08-10 22:09:32 +02:00
|
|
|
}
|
|
|
|
|
}
|
2024-06-03 14:02:30 +00:00
|
|
|
|
|
|
|
|
pmd {
|
|
|
|
|
ignoreFailures = false
|
|
|
|
|
ruleSetFiles = files("rulesets/java-sheepit.xml")
|
|
|
|
|
ruleSets = []
|
|
|
|
|
}
|