gradle: Improve toolchains test (#395965)

This commit is contained in:
Pol Dellaiera
2025-04-26 11:42:52 +00:00
committed by GitHub
4 changed files with 23 additions and 9 deletions
@@ -1,5 +1,4 @@
{
jdk11,
jdk17,
jdk21,
jdk23,
@@ -286,27 +285,27 @@ rec {
unwrapped = gradle;
tests = {
toolchains =
let
javaVersion = lib.versions.major (lib.getVersion jdk23);
in
runCommand "detects-toolchains-from-nix-env"
{
# Use JDKs that are not the default for any of the gradle versions
nativeBuildInputs = [
(gradle.override {
javaToolchains = [
jdk11
jdk23
];
})
];
src = ./tests/java-application;
src = ./tests/toolchains;
}
''
cp -a $src/* .
substituteInPlace ./build.gradle --replace-fail '@JAVA_VERSION@' '${javaVersion}'
env GRADLE_USER_HOME=$TMPDIR/gradle org.gradle.native.dir=$TMPDIR/native \
gradle javaToolchains --no-daemon --quiet --console plain > $out
cat $out | grep "Language Version: 11"
cat $out | grep "Detected by: environment variable 'JAVA_TOOLCHAIN_NIX_0'"
cat $out | grep "Language Version: 23"
cat $out | grep "Detected by: environment variable 'JAVA_TOOLCHAIN_NIX_1'"
gradle run --no-daemon --quiet --console plain > $out
test "$(<$out)" = "${javaVersion}"
'';
} // gradle.tests;
}
@@ -0,0 +1,11 @@
plugins {
id('application')
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(@JAVA_VERSION@))
}
application {
mainClass = 'Main'
}
@@ -0,0 +1,5 @@
public class Main {
public static void main(String[] args) {
System.out.println(System.getProperty("java.version"));
}
}
-1
View File
@@ -8309,7 +8309,6 @@ with pkgs;
gnumake = callPackage ../development/tools/build-managers/gnumake { };
gradle-packages = import ../development/tools/build-managers/gradle {
inherit
jdk11
jdk17
jdk21
jdk23