From 99d5c97a8ca9ee83529e76632137829bf0986a0b Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Wed, 14 Apr 2021 11:45:56 +0200 Subject: [PATCH 1/3] openapi-generator-cli: Add passthru.tests.example --- .../openapi-generator-cli/default.nix | 11 +++++-- .../openapi-generator-cli/example.nix | 31 +++++++++++++++++++ .../openapi-generator-cli/unstable.nix | 10 ++++-- 3 files changed, 46 insertions(+), 6 deletions(-) create mode 100644 pkgs/tools/networking/openapi-generator-cli/example.nix diff --git a/pkgs/tools/networking/openapi-generator-cli/default.nix b/pkgs/tools/networking/openapi-generator-cli/default.nix index 1aba61de054..a88a807a9f9 100644 --- a/pkgs/tools/networking/openapi-generator-cli/default.nix +++ b/pkgs/tools/networking/openapi-generator-cli/default.nix @@ -1,6 +1,6 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ callPackage, lib, stdenv, fetchurl, jre, makeWrapper }: -stdenv.mkDerivation rec { +let this = stdenv.mkDerivation rec { version = "5.1.0"; pname = "openapi-generator-cli"; @@ -30,4 +30,9 @@ stdenv.mkDerivation rec { license = licenses.asl20; maintainers = [ maintainers.shou ]; }; -} + + passthru.tests.example = callPackage ./example.nix { + openapi-generator-cli = this; + }; +}; +in this diff --git a/pkgs/tools/networking/openapi-generator-cli/example.nix b/pkgs/tools/networking/openapi-generator-cli/example.nix new file mode 100644 index 00000000000..f59173b9744 --- /dev/null +++ b/pkgs/tools/networking/openapi-generator-cli/example.nix @@ -0,0 +1,31 @@ +{ openapi-generator-cli, fetchurl, runCommand }: + +runCommand "openapi-generator-cli-test" { + nativeBuildInputs = [ openapi-generator-cli ]; + petstore = fetchurl { + url = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/14c0908becbccd78252be49bd92be8c53cd2b9e3/examples/v3.0/petstore.yaml"; + sha256 = "sha256:1mgdbzv42alv0b1a18dqbabqyvyhrg3brynr5hqsrm3qljfzaq5b"; + }; + config = builtins.toJSON { + elmVersion = "0.19"; + elmPrefixCustomTypeVariants = false; + }; + passAsFile = [ "config" ]; +} '' + openapi-generator-cli generate \ + --input-spec $petstore \ + --enable-post-process-file \ + --generator-name elm \ + --config "$config" \ + --additional-properties elmEnableCustomBasePaths=true \ + --output "$out" \ + ; + find $out + echo >&2 'Looking for some keywords' + set -x + grep 'module Api.Request.Pets' $out/src/Api/Request/Pets.elm + grep 'createPets' $out/src/Api/Request/Pets.elm + grep '"limit"' $out/src/Api/Request/Pets.elm + set +x + echo "Looks OK!" +'' diff --git a/pkgs/tools/networking/openapi-generator-cli/unstable.nix b/pkgs/tools/networking/openapi-generator-cli/unstable.nix index 1384f35a3f2..63a780951ac 100644 --- a/pkgs/tools/networking/openapi-generator-cli/unstable.nix +++ b/pkgs/tools/networking/openapi-generator-cli/unstable.nix @@ -1,6 +1,6 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ callPackage, lib, stdenv, fetchurl, jre, makeWrapper }: -stdenv.mkDerivation rec { +let this = stdenv.mkDerivation rec { version = "6.0.0-2021-01-18"; # Also update the fetchurl link pname = "openapi-generator-cli"; @@ -30,5 +30,9 @@ stdenv.mkDerivation rec { license = licenses.asl20; maintainers = [ maintainers.shou ]; }; -} + passthru.tests.example = callPackage ./example.nix { + openapi-generator-cli = this; + }; +}; +in this From cd855e6746aed9121bbecb77a29ae2b3336acc1b Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Wed, 14 Apr 2021 11:46:19 +0200 Subject: [PATCH 2/3] openapi-generator-cli: Use jre_headless --- pkgs/top-level/all-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 63de087f73f..760ced07eb6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7202,8 +7202,8 @@ in onlykey-cli = callPackage ../tools/security/onlykey-cli { }; - openapi-generator-cli = callPackage ../tools/networking/openapi-generator-cli { }; - openapi-generator-cli-unstable = callPackage ../tools/networking/openapi-generator-cli/unstable.nix { }; + openapi-generator-cli = callPackage ../tools/networking/openapi-generator-cli { jre = pkgs.jre_headless; }; + openapi-generator-cli-unstable = callPackage ../tools/networking/openapi-generator-cli/unstable.nix { jre = pkgs.jre_headless; }; openbazaar = callPackage ../applications/networking/openbazaar { }; openbazaar-client = callPackage ../applications/networking/openbazaar/client.nix { }; From 66fd2ea7ee1147fe9c008cc7b1ade3e91a9a7ae0 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Wed, 14 Apr 2021 16:18:50 +0200 Subject: [PATCH 3/3] openapi-generator-cli: Invoke install hooks --- pkgs/tools/networking/openapi-generator-cli/default.nix | 4 ++++ pkgs/tools/networking/openapi-generator-cli/unstable.nix | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/pkgs/tools/networking/openapi-generator-cli/default.nix b/pkgs/tools/networking/openapi-generator-cli/default.nix index a88a807a9f9..b195c655c93 100644 --- a/pkgs/tools/networking/openapi-generator-cli/default.nix +++ b/pkgs/tools/networking/openapi-generator-cli/default.nix @@ -18,10 +18,14 @@ let this = stdenv.mkDerivation rec { phases = [ "installPhase" ]; installPhase = '' + runHook preInstall + install -D "$src" "$out/share/java/${jarfilename}" makeWrapper ${jre}/bin/java $out/bin/${pname} \ --add-flags "-jar $out/share/java/${jarfilename}" + + runHook postInstall ''; meta = with lib; { diff --git a/pkgs/tools/networking/openapi-generator-cli/unstable.nix b/pkgs/tools/networking/openapi-generator-cli/unstable.nix index 63a780951ac..306654f05d9 100644 --- a/pkgs/tools/networking/openapi-generator-cli/unstable.nix +++ b/pkgs/tools/networking/openapi-generator-cli/unstable.nix @@ -18,10 +18,14 @@ let this = stdenv.mkDerivation rec { phases = [ "installPhase" ]; installPhase = '' + runHook preInstall + install -D "$src" "$out/share/java/${jarfilename}" makeWrapper ${jre}/bin/java $out/bin/${pname} \ --add-flags "-jar $out/share/java/${jarfilename}" + + runHook postInstall ''; meta = with lib; {