1 { lib, stdenv, fetchzip, jdk, makeWrapper, installShellFiles, coreutils, testers, gitUpdater }:
3 stdenv.mkDerivation (finalAttrs: {
4 pname = "spring-boot-cli";
8 url = "mirror://maven/org/springframework/boot/${finalAttrs.pname}/${finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}-bin.zip";
9 hash = "sha256-rOXQyIdyDT/YRuWgbbObFWnCOI+XEZ4+vGvIxJJ8CC4=";
12 nativeBuildInputs = [ makeWrapper installShellFiles ];
17 installShellCompletion --bash shell-completion/bash/spring
18 installShellCompletion --zsh shell-completion/zsh/_spring
19 rm -r shell-completion
21 wrapProgram $out/bin/spring \
22 --set JAVA_HOME ${jdk} \
23 --set PATH /bin:${coreutils}/bin:${jdk}/bin
28 tests.version = testers.testVersion {
29 package = finalAttrs.finalPackage;
30 command = "${lib.getExe finalAttrs.finalPackage} --version";
31 version = "v${finalAttrs.version}";
33 updateScript = gitUpdater {
34 url = "https://github.com/spring-projects/spring-boot";
35 ignoredVersions = ".*-(RC|M).*";
42 CLI which makes it easy to create spring-based applications
45 Spring Boot makes it easy to create stand-alone, production-grade
46 Spring-based Applications that you can run. We take an opinionated view
47 of the Spring platform and third-party libraries, so that you can get
48 started with minimum fuss. Most Spring Boot applications need very
49 little Spring configuration.
51 You can use Spring Boot to create Java applications that can be started
52 by using java -jar or more traditional war deployments. We also provide
53 a command line tool that runs “spring scripts”.
55 homepage = "https://spring.io/projects/spring-boot";
56 changelog = "https://github.com/spring-projects/spring-boot/releases/tag/v${finalAttrs.version}";
57 sourceProvenance = with sourceTypes; [ binaryBytecode ];
58 mainProgram = "spring";
59 license = licenses.asl20;
60 platforms = platforms.all;
61 maintainers = with maintainers; [ moaxcp ];