plugins {
id 'application'
id 'com.palantir.git-version' version '0.12.3'
}
group 'com.whitemagicsoftware'
repositories {
mavenCentral()
}
dependencies {
implementation 'info.picocli:picocli:4.4.0'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.1'
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.7.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
}
sourceSets {
main {
java {
srcDirs = ["src/main/java"]
}
}
}
compileJava {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
options.compilerArgs.addAll(['--release', '11'])
}
application {
applicationName = 'keenquotes'
mainClassName = "com.whitemagicsoftware.${applicationName}.KeenQuotes"
}
version = gitVersion()
def resourceDir = sourceSets.main.resources.srcDirs[0]
final File propertiesFile = file("${resourceDir}/com/whitemagicsoftware/${applicationName}/app.properties")
propertiesFile.write("application.version=${version}")
jar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
manifest {
attributes 'Main-Class': mainClassName
}
from {
(configurations.runtimeClasspath.findAll { !it.path.endsWith(".pom") }).collect {
it.isDirectory() ? it : zipTree(it)
}
}
archiveFileName = "${applicationName}.jar"
exclude 'META-INF/*.RSA', 'META-INF/*.SF', 'META-INF/*.DSA'
}
tasks.named('test') {
useJUnitPlatform()
}