From 5b8f2f7da7aea5660cda1128f3bcfa03c9f70450 Mon Sep 17 00:00:00 2001 From: Josh Cummings Date: Tue, 1 Oct 2024 15:10:11 -0600 Subject: [PATCH] Support Building Against a Different JDK Version Can use -PtestToolchain=17 to test the compatibility against JDK 17 --- .../gradle/convention/AbstractSpringJavaPlugin.groovy | 8 ++++++++ .../io/spring/gradle/convention/SpringModulePlugin.groovy | 1 - .../io/spring/gradle/convention/SpringTestPlugin.groovy | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/AbstractSpringJavaPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/AbstractSpringJavaPlugin.groovy index a927e4fa..27a9fac8 100644 --- a/buildSrc/src/main/groovy/io/spring/gradle/convention/AbstractSpringJavaPlugin.groovy +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/AbstractSpringJavaPlugin.groovy @@ -65,8 +65,16 @@ public abstract class AbstractSpringJavaPlugin implements Plugin { project.test { useJUnitPlatform() } + project.java.sourceCompatibility = toolchainVersion(project) additionalPlugins(project); } protected abstract void additionalPlugins(Project project); + + private Integer toolchainVersion(Project project) { + if (project.hasProperty("testToolchain")) { + return project.property("testToolchain").toString().toInteger(); + } + return 17; + } } diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/SpringModulePlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/SpringModulePlugin.groovy index a7bb2eb6..55c8ef63 100644 --- a/buildSrc/src/main/groovy/io/spring/gradle/convention/SpringModulePlugin.groovy +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/SpringModulePlugin.groovy @@ -40,7 +40,6 @@ class SpringModulePlugin extends AbstractSpringJavaPlugin { if (!Utils.isRelease(project)) { deployArtifacts.dependsOn project.tasks.artifactoryPublish } - project.java.sourceCompatibility = JavaVersion.VERSION_17 } } diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/SpringTestPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/SpringTestPlugin.groovy index 7d360728..ff18dfc5 100644 --- a/buildSrc/src/main/groovy/io/spring/gradle/convention/SpringTestPlugin.groovy +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/SpringTestPlugin.groovy @@ -14,9 +14,9 @@ * the License. */ -package io.spring.gradle.convention; +package io.spring.gradle.convention -import org.gradle.api.Project; +import org.gradle.api.Project /** * @author Rob Winch