summary refs log tree commit diff
path: root/pkgs/development/tools/spring-boot-cli/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/spring-boot-cli/default.nix')
-rw-r--r--pkgs/development/tools/spring-boot-cli/default.nix27
1 files changed, 21 insertions, 6 deletions
diff --git a/pkgs/development/tools/spring-boot-cli/default.nix b/pkgs/development/tools/spring-boot-cli/default.nix
index b9fd2749527..8306a05def0 100644
--- a/pkgs/development/tools/spring-boot-cli/default.nix
+++ b/pkgs/development/tools/spring-boot-cli/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchzip, jdk, makeWrapper, installShellFiles, coreutils }:
+{ lib, stdenv, fetchzip, jdk, makeWrapper, installShellFiles, coreutils, testers, gitUpdater }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "spring-boot-cli";
-  version = "2.3.2";
+  version = "3.1.5";
 
   src = fetchzip {
-    url = "https://repo.spring.io/release/org/springframework/boot/${pname}/${version}.RELEASE/${pname}-${version}.RELEASE-bin.zip";
-    sha256 = "1zqfnxz57234227rp303iwis0mjkkjkpcqnj9jgw78gykjnqdmmq";
+    url = "mirror://maven/org/springframework/boot/${finalAttrs.pname}/${finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}-bin.zip";
+    hash = "sha256-5Q6bAuEEBkiRHjX8Ie5FFhPfzwKRdlNIQucTqDEIZuQ=";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
@@ -24,6 +24,19 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru = {
+    tests.version = testers.testVersion {
+      package = finalAttrs.finalPackage;
+      command = "${lib.getExe finalAttrs.finalPackage} --version";
+      version = "v${finalAttrs.version}";
+    };
+    updateScript = gitUpdater {
+      url = "https://github.com/spring-projects/spring-boot";
+      ignoredVersions = ".*-(RC|M).*";
+      rev-prefix = "v";
+    };
+  };
+
   meta = with lib; {
     description = ''
       CLI which makes it easy to create spring-based applications
@@ -40,9 +53,11 @@ stdenv.mkDerivation rec {
       a command line tool that runs “spring scripts”.
     '';
     homepage = "https://spring.io/projects/spring-boot";
+    changelog = "https://github.com/spring-projects/spring-boot/releases/tag/v${finalAttrs.version}";
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
+    mainProgram = "spring";
     license = licenses.asl20;
     platforms = platforms.all;
     maintainers = with maintainers; [ moaxcp ];
   };
-}
+})