Unverified Commit d5eb632f authored by Pol Dellaiera's avatar Pol Dellaiera Committed by GitHub
Browse files

gradle: Improve toolchains test (#395965)

parents 246bbe3c 2d72e0e3
Loading
Loading
Loading
Loading
+7 −8
Original line number Diff line number Diff line
{
  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;
          }
+11 −0
Original line number Diff line number Diff line
plugins {
    id('application')
}

java {
    toolchain.languageVersion.set(JavaLanguageVersion.of(@JAVA_VERSION@))
}

application {
    mainClass = 'Main'
}
+5 −0
Original line number Diff line number Diff line
public class Main {
    public static void main(String[] args) {
        System.out.println(System.getProperty("java.version"));
    }
}
+0 −1
Original line number Diff line number Diff line
@@ -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