1{
2 callPackage,
3 lib,
4 stdenv,
5 fetchurl,
6 jre_headless,
7 makeWrapper,
8}:
9
10let
11 jre = jre_headless;
12 this = stdenv.mkDerivation (finalAttrs: {
13 version = "7.15.0";
14 pname = "openapi-generator-cli";
15
16 jarfilename = "openapi-generator-cli-${finalAttrs.version}.jar";
17
18 nativeBuildInputs = [
19 makeWrapper
20 ];
21
22 src = fetchurl {
23 url = "mirror://maven/org/openapitools/openapi-generator-cli/${finalAttrs.version}/${finalAttrs.jarfilename}";
24 sha256 = "sha256-TaGnzbeMOkOx6rBkiJETXow1R9Lu26Ddadrzd/hl82Y=";
25 };
26
27 dontUnpack = true;
28
29 installPhase = ''
30 runHook preInstall
31
32 install -D "$src" "$out/share/java/${finalAttrs.jarfilename}"
33
34 makeWrapper ${jre}/bin/java $out/bin/${finalAttrs.pname} \
35 --add-flags "-jar $out/share/java/${finalAttrs.jarfilename}"
36
37 runHook postInstall
38 '';
39
40 meta = with lib; {
41 description = "Allows generation of API client libraries (SDK generation), server stubs and documentation automatically given an OpenAPI Spec";
42 homepage = "https://github.com/OpenAPITools/openapi-generator";
43 changelog = "https://github.com/OpenAPITools/openapi-generator/releases/tag/v${finalAttrs.version}";
44 sourceProvenance = with sourceTypes; [ binaryBytecode ];
45 license = licenses.asl20;
46 maintainers = with maintainers; [ shou ];
47 mainProgram = "openapi-generator-cli";
48 };
49
50 passthru.tests.example = callPackage ./example.nix {
51 openapi-generator-cli = this;
52 };
53 });
54in
55this