at master 76 lines 2.3 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchzip, 5 jdk, 6 makeWrapper, 7 installShellFiles, 8 coreutils, 9 testers, 10 gitUpdater, 11}: 12 13stdenv.mkDerivation (finalAttrs: { 14 pname = "spring-boot-cli"; 15 version = "3.5.6"; 16 17 src = fetchzip { 18 url = "mirror://maven/org/springframework/boot/spring-boot-cli/${finalAttrs.version}/spring-boot-cli-${finalAttrs.version}-bin.zip"; 19 hash = "sha256-ujG9miirmOfWKB5o4ju0jtYoWu9k0bYRYohFnEpOVRA="; 20 }; 21 22 nativeBuildInputs = [ 23 makeWrapper 24 installShellFiles 25 ]; 26 27 installPhase = '' 28 runHook preInstall 29 rm bin/spring.bat 30 installShellCompletion --bash shell-completion/bash/spring 31 installShellCompletion --zsh shell-completion/zsh/_spring 32 rm -r shell-completion 33 cp -r . $out 34 wrapProgram $out/bin/spring \ 35 --set JAVA_HOME ${jdk} \ 36 --set PATH /bin:${coreutils}/bin:${jdk}/bin 37 runHook postInstall 38 ''; 39 40 passthru = { 41 tests.version = testers.testVersion { 42 package = finalAttrs.finalPackage; 43 command = "${lib.getExe finalAttrs.finalPackage} --version"; 44 version = "v${finalAttrs.version}"; 45 }; 46 updateScript = gitUpdater { 47 url = "https://github.com/spring-projects/spring-boot"; 48 ignoredVersions = ".*-(RC|M).*"; 49 rev-prefix = "v"; 50 }; 51 }; 52 53 meta = with lib; { 54 description = '' 55 CLI which makes it easy to create spring-based applications 56 ''; 57 longDescription = '' 58 Spring Boot makes it easy to create stand-alone, production-grade 59 Spring-based Applications that you can run. We take an opinionated view 60 of the Spring platform and third-party libraries, so that you can get 61 started with minimum fuss. Most Spring Boot applications need very 62 little Spring configuration. 63 64 You can use Spring Boot to create Java applications that can be started 65 by using java -jar or more traditional war deployments. We also provide 66 a command line tool that runs spring scripts. 67 ''; 68 homepage = "https://spring.io/projects/spring-boot"; 69 changelog = "https://github.com/spring-projects/spring-boot/releases/tag/v${finalAttrs.version}"; 70 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 71 mainProgram = "spring"; 72 license = licenses.asl20; 73 platforms = platforms.all; 74 maintainers = with maintainers; [ moaxcp ]; 75 }; 76})