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