Files
sheepit-shadow-nabber/build.gradle
2024-06-03 14:02:30 +00:00

73 lines
1.9 KiB
Groovy

plugins {
id 'java-library'
id 'application'
id 'com.github.johnrengelman.shadow' version '7.1.2'
id 'pmd'
}
sourceCompatibility = '1.11'
targetCompatibility = '1.11'
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'
}
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")
}
}
shadowJar {
exclude 'OSGI-OPT/' // args4j garbage
}
tasks.shadowJar.dependsOn(generateVersionFile)
repositories {
mavenCentral()
}
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.24'
annotationProcessor 'org.projectlombok:lombok:1.18.24'
implementation 'args4j:args4j:2.33'
implementation 'net.lingala.zip4j:zip4j:2.11.1'
implementation 'net.java.dev.jna:jna-platform:5.12.1'
implementation 'com.github.oshi:oshi-core:6.2.2'
implementation 'org.simpleframework:simple-xml:2.7.1'
implementation 'com.formdev:flatlaf:2.2' // 2.3+ causes illegal reflective access warning on win + adoptium java 11.0.16
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'
}
mainClassName = "com.sheepit.client.standalone.Worker"
jar {
manifest {
attributes "Main-Class": "com.sheepit.client.standalone.Worker"
}
from {
configurations.implementation.collect { it.isDirectory() ? it : zipTree(it) }
}
}
pmd {
ignoreFailures = false
ruleSetFiles = files("rulesets/java-sheepit.xml")
ruleSets = []
}