56 lines
1.6 KiB
Groovy
56 lines
1.6 KiB
Groovy
apply plugin: 'java-library'
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion = JavaLanguageVersion.of(21)
|
|
}
|
|
modularity.inferModulePath.set(true)
|
|
withSourcesJar()
|
|
withJavadocJar()
|
|
}
|
|
|
|
jar {
|
|
manifest {
|
|
attributes('Implementation-Name': project.name)
|
|
attributes('Implementation-Version': project.version)
|
|
attributes('Implementation-Vendor': project.vendor)
|
|
attributes('X-Compile-Source-JDK': JavaLanguageVersion.of(21).toString())
|
|
attributes('X-Compile-Target-JDK': JavaLanguageVersion.of(21).toString())
|
|
}
|
|
duplicatesStrategy = DuplicatesStrategy.INCLUDE
|
|
from (project.file('.')) {
|
|
include 'LICENSE.txt'
|
|
include 'NOTICE.txt'
|
|
into 'META-INF'
|
|
}
|
|
}
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
doFirst {
|
|
options.fork = true
|
|
options.forkOptions.jvmArgs += ['-Duser.language=en', '-Duser.country=US']
|
|
options.encoding = 'UTF-8'
|
|
options.compilerArgs.add('-Xlint:all')
|
|
// enforce presence of module-info.java
|
|
options.compilerArgs.add("--module-version")
|
|
options.compilerArgs.add(project.version as String)
|
|
options.compilerArgs.add("--module-path")
|
|
options.compilerArgs.add(classpath.asPath)
|
|
classpath = files()
|
|
}
|
|
}
|
|
|
|
tasks.withType(Javadoc).configureEach {
|
|
doFirst {
|
|
options.addStringOption('Xdoclint:none', '-quiet')
|
|
options.encoding = 'UTF-8'
|
|
}
|
|
}
|
|
|
|
tasks.withType(JavaExec).configureEach {
|
|
doFirst {
|
|
jvmArguments.add("--module-path")
|
|
jvmArguments.add(classpath.asPath)
|
|
classpath = files()
|
|
}
|
|
}
|