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