From f537468f19245cdf8ed9b6eb2e4789a2c25a2eb3 Mon Sep 17 00:00:00 2001 From: Morgan Jones Date: Mon, 1 Sep 2025 17:19:20 -0700 Subject: [PATCH] gradle{,_7,_8,_9}{,-unwrapped}: clean up wrapping Eliminate duplicate function calls and make the API cleaner. $ nix-instantiate --eval -A gradle.updateScript [ "--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 --- .../tools/build-managers/gradle/default.nix | 20 ++++++++++++------- pkgs/top-level/all-packages.nix | 16 +++++++-------- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix index dfb36de7fae5..673b115d6c48 100644 --- a/pkgs/development/tools/build-managers/gradle/default.nix +++ b/pkgs/development/tools/build-managers/gradle/default.nix @@ -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; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cc0a8eaef983..ec67d0728aae 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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-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_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 = 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;