net/gradle/compile/java.gradle

48 lines
1.2 KiB
Groovy
Raw Normal View History

2022-10-20 09:43:33 +02:00
apply plugin: 'java-library'
java {
2023-09-30 15:33:07 +02:00
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
2022-10-20 09:43:33 +02:00
modularity.inferModulePath.set(true)
2023-04-05 20:23:01 +02:00
withSourcesJar()
withJavadocJar()
2022-10-20 09:43:33 +02:00
}
jar {
manifest {
attributes('Implementation-Version': project.version)
}
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}
2024-04-05 15:31:06 +02:00
tasks.withType(JavaCompile).configureEach {
2024-03-04 13:54:05 +01:00
doFirst {
options.fork = true
2024-04-05 15:31:06 +02:00
options.forkOptions.jvmArgs += ['-Duser.language=en', '-Duser.country=US']
2024-03-04 13:54:05 +01:00
options.encoding = 'UTF-8'
options.compilerArgs.add('-Xlint:all')
// enforce presence of module-info.java
2024-04-15 15:34:55 +02:00
options.compilerArgs.add("--module-version")
options.compilerArgs.add(project.version as String)
2024-03-04 13:54:05 +01:00
options.compilerArgs.add("--module-path")
options.compilerArgs.add(classpath.asPath)
classpath = files()
}
2022-11-04 16:49:11 +01:00
}
2024-04-05 15:31:06 +02:00
tasks.withType(Javadoc).configureEach {
2024-03-04 13:54:05 +01:00
doFirst {
options.addStringOption('Xdoclint:none', '-quiet')
options.encoding = 'UTF-8'
}
}
2024-04-05 15:31:06 +02:00
tasks.withType(JavaExec).configureEach {
2024-03-04 13:54:05 +01:00
doFirst {
jvmArguments.add("--module-path")
jvmArguments.add(classpath.asPath)
classpath = files()
}
2022-11-04 16:49:11 +01:00
}