Skip to content

Commit 8708a21

Browse files
committed
Configure Gradle toolchain auto-provisioning
This commit configures the Foojay resolver plugin in the Gradle build in order to auto-provision a required JDK distribution if it's not present already on the host. Currently the Spring Framework build requires both a JDK 17 and a JDK 21 distribution to build artifacts. Closes gh-30474
1 parent 0aec9f1 commit 8708a21

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

Diff for: buildSrc/src/main/java/org/springframework/build/JavaConventions.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
import org.gradle.api.plugins.JavaPluginExtension;
2828
import org.gradle.api.tasks.compile.JavaCompile;
2929
import org.gradle.jvm.toolchain.JavaLanguageVersion;
30+
import org.gradle.jvm.toolchain.JavaToolchainSpec;
31+
import org.gradle.jvm.toolchain.JvmVendorSpec;
3032

3133
/**
3234
* {@link Plugin} that applies conventions for compiling Java sources in Spring Framework.
@@ -70,8 +72,10 @@ public void apply(Project project) {
7072
* @param project the current project
7173
*/
7274
private void applyJavaCompileConventions(Project project) {
73-
project.getExtensions().getByType(JavaPluginExtension.class)
74-
.getToolchain().getLanguageVersion().set(JavaLanguageVersion.of(17));
75+
project.getExtensions().getByType(JavaPluginExtension.class).toolchain(toolchain -> {
76+
toolchain.getVendor().set(JvmVendorSpec.BELLSOFT);
77+
toolchain.getLanguageVersion().set(JavaLanguageVersion.of(17));
78+
});
7579
project.getTasks().withType(JavaCompile.class)
7680
.matching(compileTask -> compileTask.getName().equals(JavaPlugin.COMPILE_JAVA_TASK_NAME))
7781
.forEach(compileTask -> {

Diff for: settings.gradle

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
plugins {
22
id "com.gradle.enterprise" version "3.14"
33
id "io.spring.ge.conventions" version "0.0.13"
4+
id "org.gradle.toolchains.foojay-resolver-convention" version "0.7.0"
45
}
56

67
include "spring-aop"

0 commit comments

Comments
 (0)