Skip to content

Commit 4a3f3f3

Browse files
authored
Let the user override the default toolchain (#266)
This commit lets the user set a couple of environement variables to tweak which JDK will be used to compile the tests and build the native binaries: - TCK_JAVA_VERSION should be set to the language version, eg. 20 - TCK_JAVA_VENDOR should be set to the vendor, e.g Oracle
1 parent d5db4fb commit 4a3f3f3

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

tests/tck-build-logic/src/main/groovy/org.graalvm.internal.tck.gradle

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,12 @@ repositories {
1919

2020
java {
2121
toolchain {
22-
languageVersion = JavaLanguageVersion.of(JavaVersion.current().majorVersion)
23-
vendor = JvmVendorSpec.GRAAL_VM
22+
languageVersion = providers.environmentVariable("TCK_JAVA_VERSION")
23+
.orElse(JavaVersion.current().majorVersion)
24+
.map(JavaLanguageVersion::of)
25+
vendor = providers.environmentVariable("TCK_JAVA_VENDOR")
26+
.map(JvmVendorSpec::matching)
27+
.orElse(JvmVendorSpec.GRAAL_VM)
2428
}
2529
}
2630

@@ -89,4 +93,15 @@ graalvmNative {
8993
verbose = true
9094
}
9195
}
96+
binaries.all {
97+
def toolchainService = project.extensions.findByType(JavaToolchainService)
98+
javaLauncher.set(toolchainService.launcherFor {
99+
languageVersion = providers.environmentVariable("TCK_JAVA_VERSION")
100+
.orElse(JavaVersion.current().majorVersion)
101+
.map(JavaLanguageVersion::of)
102+
vendor = providers.environmentVariable("TCK_JAVA_VENDOR")
103+
.map(JvmVendorSpec::matching)
104+
.orElse(JvmVendorSpec.GRAAL_VM)
105+
})
106+
}
92107
}

0 commit comments

Comments
 (0)