diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix index ff23eda5f569..bb8961145f91 100644 --- a/pkgs/development/tools/build-managers/gradle/default.nix +++ b/pkgs/development/tools/build-managers/gradle/default.nix @@ -1,6 +1,8 @@ { + jdk11, jdk17, jdk21, + jdk23, }: rec { @@ -251,6 +253,7 @@ rec { concatTextFile, makeSetupHook, nix-update-script, + runCommand, }: gradle-unwrapped: updateAttrPath: lib.makeOverridable ( @@ -281,8 +284,33 @@ rec { passthru = { fetchDeps = callPackage ./fetch-deps.nix { inherit mitm-cache; }; - inherit (gradle) jdk tests; + inherit (gradle) jdk; unwrapped = gradle; + tests = { + toolchains = + 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; + } + '' + cp -a $src/* . + 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.tests; } // lib.optionalAttrs (updateAttrPath != null) { updateScript = nix-update-script { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 54bd5ead3f6b..1df22e351d71 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7682,7 +7682,7 @@ with pkgs; gnumake = callPackage ../development/tools/build-managers/gnumake { }; gradle-packages = import ../development/tools/build-managers/gradle { - inherit jdk17 jdk21; + inherit jdk11 jdk17 jdk21 jdk23; }; gradleGen = gradle-packages.gen; wrapGradle = callPackage gradle-packages.wrapGradle { };