Unverified Commit 205f8269 authored by Benedikt Ritter's avatar Benedikt Ritter
Browse files

gradle: add test for toolchain functionality

The test asserts for the output of the javaToolchains tasks making sure
Gradle detected toolchains via environment variables created by the Nix
package.
Since we can't call override on finalAttrs.finalPackage, the test has to
be implemented in wrapGradle instead of in the passthru of the gen
function body.
parent 0a58524b
Loading
Loading
Loading
Loading
+29 −1
Original line number Diff line number Diff line
{
  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 {
+1 −1
Original line number Diff line number Diff line
@@ -7848,7 +7848,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 { };