1{ lib, stdenv, fetchurl, jre, makeWrapper, testers, swagger-codegen3 }:
2
3stdenv.mkDerivation rec {
4 version = "3.0.50";
5 pname = "swagger-codegen";
6
7 jarfilename = "${pname}-cli-${version}.jar";
8
9 nativeBuildInputs = [
10 makeWrapper
11 ];
12
13 src = fetchurl {
14 url = "mirror://maven/io/swagger/codegen/v3/${pname}-cli/${version}/${jarfilename}";
15 sha256 = "sha256-UbUXzNpLXMZdcZO/xLdC425LOV2jsZdqcqHTNShwNMY=";
16 };
17
18 dontUnpack = true;
19
20 installPhase = ''
21 install -D $src $out/share/java/${jarfilename}
22
23 makeWrapper ${jre}/bin/java $out/bin/${pname}3 \
24 --add-flags "-jar $out/share/java/${jarfilename}"
25 '';
26
27 passthru.tests.version = testers.testVersion {
28 package = swagger-codegen3;
29 command = "swagger-codegen3 version";
30 };
31
32 meta = with lib; {
33 description = "Allows generation of API client libraries (SDK generation), server stubs and documentation automatically given an OpenAPI Spec";
34 homepage = "https://github.com/swagger-api/swagger-codegen/tree/3.0.0";
35 sourceProvenance = with sourceTypes; [ binaryBytecode ];
36 license = licenses.asl20;
37 maintainers = [ maintainers._1000101 ];
38 mainProgram = "swagger-codegen3";
39 };
40}