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