gradle: Improve toolchains test (#395965)
This commit is contained in:
@@ -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"));
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user