czuckie
05/14/2023, 11:02 PMkotlin {
jvm() {
compilations {
val main = getByName("main")
tasks {
register<Jar>("buildFatJar") {
group = "application"
dependsOn(build)
manifest {
attributes["Main-Class"] = "my.package.MainKt"
}
excludes += "META-INF/versions/9/module-info.class"
from(configurations.getByName("jvmRuntimeClasspath").map { if (it.isDirectory) it else zipTree(it) }, main.output.classesDirs)
archiveBaseName.set("${project.name}-jar")
}
}
}
...
Tóth István Zoltán
05/15/2023, 8:13 AMplugins {
id("com.github.johnrengelman.shadow") version "7.1.2"
}
tasks {
shadowJar {
mergeServiceFiles()
// minimize() // do not use minimize!!!
}
}
Full example (this builds a docker image as well):
https://github.com/spxbhuhb/zakadabar-application-template/blob/842effccf066cbb9e0469264311848bc370473f6/build.gradle.ktsczuckie
05/15/2023, 1:03 PMTóth István Zoltán
05/16/2023, 11:34 AM