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