瀏覽代碼

Support toolchain switching and JDK 21

Issue gh-12790
Issue gh-13811
Steve Riesenberg 1 年之前
父節點
當前提交
f3a012eaa2
共有 1 個文件被更改,包括 24 次插入11 次删除
  1. 24 11
      build.gradle

+ 24 - 11
build.gradle

@@ -123,16 +123,35 @@ updateDependenciesSettings {
 	}
 	}
 }
 }
 
 
-subprojects {
-	plugins.withType(JavaPlugin) {
-		project.sourceCompatibility=JavaVersion.VERSION_17
+def toolchainVersion() {
+	if (project.hasProperty('testToolchain')) {
+		return project.property('testToolchain').toString().toInteger()
 	}
 	}
-	tasks.withType(JavaCompile) {
+	return 17
+}
+
+subprojects {
+	def toolchainVersion = toolchainVersion()
+
+	tasks.withType(JavaCompile).configureEach {
 		options.encoding = "UTF-8"
 		options.encoding = "UTF-8"
 		options.compilerArgs.add("-parameters")
 		options.compilerArgs.add("-parameters")
+
+		java {
+			toolchain {
+				languageVersion = JavaLanguageVersion.of(toolchainVersion)
+			}
+		}
 	}
 	}
-}
 
 
+	tasks.withType(Test).configureEach {
+		java {
+			toolchain {
+				languageVersion = JavaLanguageVersion.of(toolchainVersion)
+			}
+		}
+	}
+}
 
 
 allprojects {
 allprojects {
 	if (!['spring-security-bom', 'spring-security-docs'].contains(project.name)) {
 	if (!['spring-security-bom', 'spring-security-docs'].contains(project.name)) {
@@ -158,12 +177,6 @@ allprojects {
 			}
 			}
 		}
 		}
 	}
 	}
-
-	tasks.withType(JavaCompile).configureEach {
-		javaCompiler = javaToolchains.compilerFor {
-			languageVersion = JavaLanguageVersion.of(17)
-		}
-	}
 }
 }
 
 
 if (hasProperty('buildScan')) {
 if (hasProperty('buildScan')) {