Unverified Commit f537468f authored by Morgan Jones's avatar Morgan Jones
Browse files

gradle{,_7,_8,_9}{,-unwrapped}: clean up wrapping

Eliminate duplicate function calls and make the API cleaner.

$ nix-instantiate --eval -A gradle.updateScript
[ <CODE> "--url=https://github.com/gradle/gradle" "--version-regex=^v(\\d+\\.\\d+(?:\\.[1-9]\\d?)?)(\\.0)?$" ]
$ nix-instantiate --eval -A gradle_7.updateScript
error: attribute 'updateScript' in selection path 'gradle_7.updateScript' not found
$ nix-instantiate --eval -A gradle_9.updateScript
error: attribute 'updateScript' in selection path 'gradle_9.updateScript' not found
parent cfcc505f
Loading
Loading
Loading
Loading
+13 −7
Original line number Diff line number Diff line
@@ -16,13 +16,18 @@ let
      concatTextFile,
      makeSetupHook,
      nix-update-script,

      # This is the "current" version of gradle in nixpkgs.
      # Used to define the update script.
      gradle-unwrapped,

      runCommand,
    }:
    gradle-unwrapped: updateAttrPath:
    this-gradle-unwrapped:
    lib.makeOverridable (
      args:
      let
        gradle = gradle-unwrapped.override args;
        gradle = this-gradle-unwrapped.override args;
      in
      symlinkJoin {
        pname = "gradle";
@@ -80,9 +85,8 @@ let
          }
          // gradle.tests;
        }
        // lib.optionalAttrs (updateAttrPath != null) {
        // lib.optionalAttrs (this-gradle-unwrapped == gradle-unwrapped) {
          updateScript = nix-update-script {
            attrPath = updateAttrPath;
            extraArgs = [
              "--url=https://github.com/gradle/gradle"
              # Gradle’s .0 releases are tagged as `vX.Y.0`, but the actual
@@ -283,7 +287,7 @@ let
      };
      passthru.jdk = defaultJava;
      passthru.unwrapped = gen' genArgs;
      passthru.wrap = callPackage wrapGradle { } finalAttrs.finalPackage.unwrapped;
      passthru.wrapped = callPackage wrapGradle { } finalAttrs.finalPackage.unwrapped;

      meta =
        with lib;
@@ -320,7 +324,7 @@ let
  # Calls the generated Gradle package with default arguments.
  gen' = args: callPackage (gen args) { };
in
{
rec {
  # NOTE: Default JDKs that are hardcoded below must be LTS versions
  # and respect the compatibility matrix at
  # https://docs.gradle.org/current/userguide/compatibility.html
@@ -335,10 +339,12 @@ in
    hash = "sha256-vXEQIhNJMGCVbsIp2Ua+7lcVjb2J0OYrkbyg+ixfNTE=";
    defaultJava = jdk21;
  };

  gradle_7 = gen' {
    version = "7.6.6";
    hash = "sha256-Zz2XdvMDvHBI/DMp0jLW6/EFGweJO9nRFhb62ahnO+A=";
    defaultJava = jdk17;
  };

  # Default version of Gradle in nixpkgs.
  gradle = gradle_8;
}
+9 −9
Original line number Diff line number Diff line
@@ -6918,15 +6918,15 @@ with pkgs;

  gradle-packages = callPackage ../development/tools/build-managers/gradle { };

  gradle_7-unwrapped = gradle-packages.gradle_7.unwrapped;
  gradle_8-unwrapped = gradle-packages.gradle_8.unwrapped;
  gradle_9-unwrapped = gradle-packages.gradle_9.unwrapped;
  gradle-unwrapped = gradle_8-unwrapped;

  gradle_7 = gradle_7-unwrapped.wrap null;
  gradle_8 = gradle_8-unwrapped.wrap null;
  gradle_9 = gradle_9-unwrapped.wrap null;
  gradle = gradle-unwrapped.wrap "gradle-unwrapped";
  gradle_7-unwrapped = gradle-packages.gradle_7;
  gradle_8-unwrapped = gradle-packages.gradle_8;
  gradle_9-unwrapped = gradle-packages.gradle_9;
  gradle-unwrapped = gradle-packages.gradle;

  gradle_7 = gradle-packages.gradle_7.wrapped;
  gradle_8 = gradle-packages.gradle_8.wrapped;
  gradle_9 = gradle-packages.gradle_9.wrapped;
  gradle = gradle-packages.gradle.wrapped;

  griffe = with python3Packages; toPythonApplication griffe;