def toolchainVersion() { if (project.hasProperty('testToolchain')) { return project.property('testToolchain').toString().toInteger() } return 17 } project.afterEvaluate { subprojects { subproject -> afterEvaluate { if (subproject.plugins.hasPlugin(JavaPlugin.class)) { java { toolchain { languageVersion = JavaLanguageVersion.of(toolchainVersion()) } } tasks.withType(JavaCompile).configureEach { options.encoding = "UTF-8" options.compilerArgs.add("-parameters") options.compilerArgs.addAll(["-Werror", "-Xlint:unchecked", "-Xlint:deprecation", "-Xlint:rawtypes", "-Xlint:varargs"]); options.release.set(17) } } } } }