diff --git a/README.md b/README.md index 5f6ac0d2..0019502a 100644 --- a/README.md +++ b/README.md @@ -28,12 +28,12 @@ or the [full tutorial][dhall-tutorial]. ## Prerequisites -**NOTE**: `dhall-kubernetes` requires at least version `1.18.0` of [the interpreter](https://github.com/dhall-lang/dhall-haskell) -(version `3.0.0` of the language). +**NOTE**: `dhall-kubernetes` requires at least version `1.20.1` of [the interpreter](https://github.com/dhall-lang/dhall-haskell) +(version `5.0.0` of the language). You can install the latest version with the following: ```bash -stack install dhall-1.18.0 dhall-json-1.2.4 --resolver=nightly-2018-11-12 +stack install dhall-1.20.1 dhall-json-1.2.6 --resolver=nightly-2019-01-17 ``` ## Quickstart - main API @@ -177,7 +177,7 @@ in let Ingress = ../types/io.k8s.api.extensions.v1beta1.Ingress.dhall in let defaultIngress = ../default/io.k8s.api.extensions.v1beta1.Ingress.dhall in let defaultMeta = ../default/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta.dhall in let defaultSpec = ../default/io.k8s.api.extensions.v1beta1.IngressSpec.dhall -in let IntOrString = ../default/io.k8s.apimachinery.pkg.util.intstr.IntOrString.dhall +in let IntOrString = ../types/io.k8s.apimachinery.pkg.util.intstr.IntOrString.dhall -- Our Service type in let Service = ./Config.dhall diff --git a/api/Deployment/RawDefaults b/api/Deployment/RawDefaults index cfa25067..447df9a5 100644 --- a/api/Deployment/RawDefaults +++ b/api/Deployment/RawDefaults @@ -1,4 +1,4 @@ -let intOrString = ../../default/io.k8s.apimachinery.pkg.util.intstr.IntOrString.dhall +let intOrString = ../../types/io.k8s.apimachinery.pkg.util.intstr.IntOrString.dhall in { deployment = ../../default/io.k8s.api.apps.v1.Deployment.dhall @@ -17,7 +17,6 @@ in , pathVolume = ../../default/io.k8s.api.core.v1.HostPathVolumeSource.dhall , meta = ../../default/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta.dhall , selector = ../../default/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector.dhall -, intOrString = intOrString , Int = intOrString.Int , String = intOrString.String -} \ No newline at end of file +} diff --git a/api/Service/RawDefaults b/api/Service/RawDefaults index 1a7c0bdd..541c9318 100644 --- a/api/Service/RawDefaults +++ b/api/Service/RawDefaults @@ -1,4 +1,4 @@ -let intOrString = ../../default/io.k8s.apimachinery.pkg.util.intstr.IntOrString.dhall +let intOrString = ../../types/io.k8s.apimachinery.pkg.util.intstr.IntOrString.dhall in { service = ../../default/io.k8s.api.core.v1.Service.dhall , spec = ../../default/io.k8s.api.core.v1.ServiceSpec.dhall @@ -6,4 +6,4 @@ in , meta = ../../default/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta.dhall , Int = intOrString.Int , String = intOrString.String -} \ No newline at end of file +} diff --git a/api/Service/default b/api/Service/default index 4f679031..796fd62b 100644 --- a/api/Service/default +++ b/api/Service/default @@ -2,5 +2,5 @@ , annotations = [] : List { mapKey : Text, mapValue : Text } , containerPort = 8080 , outPort = 80 -, type = (constructors ./ServiceType).NodePort {=} -} \ No newline at end of file +, type = (./ServiceType).NodePort {=} +} diff --git a/convert.py b/convert.py index a7783759..b86ecbaf 100755 --- a/convert.py +++ b/convert.py @@ -142,7 +142,7 @@ def main(): typ = build_type(modelSpec, '../types') # In case we have a union, we make the constructors for it if typ[0] == '<': - f.write('constructors {}\n'.format(typ)) + f.write('{}\n'.format(typ)) # Otherwise we just output the identity else: f.write('\(a : {}) -> a\n'.format(typ)) diff --git a/default/io.k8s.apimachinery.pkg.util.intstr.IntOrString.dhall b/default/io.k8s.apimachinery.pkg.util.intstr.IntOrString.dhall index 59501bd4..044b8fb2 100644 --- a/default/io.k8s.apimachinery.pkg.util.intstr.IntOrString.dhall +++ b/default/io.k8s.apimachinery.pkg.util.intstr.IntOrString.dhall @@ -1 +1 @@ -constructors < Int : Natural | String : Text > +< Int : Natural | String : Text > diff --git a/docs/README.md.dhall b/docs/README.md.dhall index 134938c7..3eea972a 100644 --- a/docs/README.md.dhall +++ b/docs/README.md.dhall @@ -29,12 +29,12 @@ or the [full tutorial][dhall-tutorial]. ## Prerequisites -**NOTE**: `dhall-kubernetes` requires at least version `1.18.0` of [the interpreter](https://github.com/dhall-lang/dhall-haskell) -(version `3.0.0` of the language). +**NOTE**: `dhall-kubernetes` requires at least version `1.20.1` of [the interpreter](https://github.com/dhall-lang/dhall-haskell) +(version `5.0.0` of the language). You can install the latest version with the following: ```bash -stack install dhall-1.18.0 dhall-json-1.2.4 --resolver=nightly-2018-11-12 +stack install dhall-1.20.1 dhall-json-1.2.6 --resolver=nightly-2019-01-17 ``` ## Quickstart - main API diff --git a/examples/ingressRaw.dhall b/examples/ingressRaw.dhall index 3b3235f3..46a98818 100644 --- a/examples/ingressRaw.dhall +++ b/examples/ingressRaw.dhall @@ -10,7 +10,7 @@ in let Ingress = ../types/io.k8s.api.extensions.v1beta1.Ingress.dhall in let defaultIngress = ../default/io.k8s.api.extensions.v1beta1.Ingress.dhall in let defaultMeta = ../default/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta.dhall in let defaultSpec = ../default/io.k8s.api.extensions.v1beta1.IngressSpec.dhall -in let IntOrString = ../default/io.k8s.apimachinery.pkg.util.intstr.IntOrString.dhall +in let IntOrString = ../types/io.k8s.apimachinery.pkg.util.intstr.IntOrString.dhall -- Our Service type in let Service = ./Config.dhall diff --git a/nix/dhall-1.18.0.nix b/nix/dhall-1.18.0.nix deleted file mode 100644 index b8abe2f6..00000000 --- a/nix/dhall-1.18.0.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ mkDerivation, ansi-terminal, base, bytestring, case-insensitive -, cborg, containers, contravariant, criterion, cryptonite, deepseq -, Diff, directory, doctest, exceptions, filepath, haskeline -, http-client, http-client-tls, lens-family-core, megaparsec -, memory, mockery, mtl, optparse-applicative, parsers -, prettyprinter, prettyprinter-ansi-terminal, QuickCheck -, quickcheck-instances, repline, scientific, serialise, stdenv -, tasty, tasty-hunit, tasty-quickcheck, template-haskell, text -, transformers, unordered-containers, vector -}: -mkDerivation { - pname = "dhall"; - version = "1.18.0"; - sha256 = "b528ecff4f757fa085f61636ffb8a6eb90c761106d7d20bd735bee48a6abab94"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - ansi-terminal base bytestring case-insensitive cborg containers - contravariant cryptonite Diff directory exceptions filepath - haskeline http-client http-client-tls lens-family-core megaparsec - memory mtl optparse-applicative parsers prettyprinter - prettyprinter-ansi-terminal repline scientific serialise - template-haskell text transformers unordered-containers vector - ]; - executableHaskellDepends = [ base ]; - testHaskellDepends = [ - base containers deepseq directory doctest filepath mockery - prettyprinter QuickCheck quickcheck-instances serialise tasty - tasty-hunit tasty-quickcheck text transformers vector - ]; - benchmarkHaskellDepends = [ - base bytestring containers criterion directory serialise text - ]; - description = "A configuration language guaranteed to terminate"; - license = stdenv.lib.licenses.bsd3; -} diff --git a/nix/dhall-1.20.1.nix b/nix/dhall-1.20.1.nix new file mode 100644 index 00000000..d6bed046 --- /dev/null +++ b/nix/dhall-1.20.1.nix @@ -0,0 +1,41 @@ +{ mkDerivation, aeson, aeson-pretty, ansi-terminal, base +, bytestring, case-insensitive, cborg, cborg-json, containers +, contravariant, criterion, cryptonite, deepseq, Diff, directory +, doctest, dotgen, exceptions, filepath, haskeline, http-client +, http-client-tls, http-types, lens-family-core, megaparsec, memory +, mockery, mtl, optparse-applicative, parsers, prettyprinter +, prettyprinter-ansi-terminal, QuickCheck, quickcheck-instances +, repline, scientific, serialise, stdenv, tasty, tasty-hunit +, tasty-quickcheck, template-haskell, text, transformers +, unordered-containers, uri-encode, vector +}: +mkDerivation { + pname = "dhall"; + version = "1.20.1"; + sha256 = "e077e8f4945484db4e35e8ae422e9eabac1b155972602f0404d818e3e185bcdc"; + revision = "1"; + editedCabalFile = "1km0zbbahhq24s84s9gcck1javhplqjg51q4qf8i19iahnxkl3rq"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson aeson-pretty ansi-terminal base bytestring case-insensitive + cborg cborg-json containers contravariant cryptonite Diff directory + dotgen exceptions filepath haskeline http-client http-client-tls + http-types lens-family-core megaparsec memory mtl + optparse-applicative parsers prettyprinter + prettyprinter-ansi-terminal repline scientific serialise + template-haskell text transformers unordered-containers uri-encode + vector + ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ + base containers deepseq directory doctest filepath mockery + prettyprinter QuickCheck quickcheck-instances serialise tasty + tasty-hunit tasty-quickcheck text transformers vector + ]; + benchmarkHaskellDepends = [ + base bytestring containers criterion directory serialise text + ]; + description = "A configuration language guaranteed to terminate"; + license = stdenv.lib.licenses.bsd3; +} diff --git a/nix/dhall-json-1.2.4.nix b/nix/dhall-json-1.2.6.nix similarity index 86% rename from nix/dhall-json-1.2.4.nix rename to nix/dhall-json-1.2.6.nix index 2bcc2260..c679beae 100644 --- a/nix/dhall-json-1.2.4.nix +++ b/nix/dhall-json-1.2.6.nix @@ -4,8 +4,8 @@ }: mkDerivation { pname = "dhall-json"; - version = "1.2.4"; - sha256 = "e594b47a168c47225d929d94c8dce12b9b32a195c9faa02ff091b3f18adb63e7"; + version = "1.2.6"; + sha256 = "9989a705a780ccc8b40f242e5dcb8949ade590a0180ae9559bffa25d829d2838"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ diff --git a/nix/dhall-text-1.0.15.nix b/nix/dhall-text-1.0.15.nix new file mode 100644 index 00000000..3eaf880a --- /dev/null +++ b/nix/dhall-text-1.0.15.nix @@ -0,0 +1,13 @@ +{ mkDerivation, base, dhall, optparse-applicative, stdenv, text }: +mkDerivation { + pname = "dhall-text"; + version = "1.0.15"; + sha256 = "afa2dd0cbb6d261b5cf79988f673cf2405f5419c306c55181d9aae3ec6c932b2"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base dhall optparse-applicative text + ]; + description = "Template text using Dhall"; + license = stdenv.lib.licenses.bsd3; +} diff --git a/nixpkgs.nix b/nixpkgs.nix index 15e84431..37c86a8e 100644 --- a/nixpkgs.nix +++ b/nixpkgs.nix @@ -11,8 +11,9 @@ let packageOverrides = pkgs: rec { haskellPackages = pkgs.haskellPackages.override { overrides = haskellPackagesNew: haskellPackagesOld: rec { - dhall = haskellPackagesNew.callPackage ./nix/dhall-1.18.0.nix {}; - dhall-json = haskellPackagesNew.callPackage ./nix/dhall-json-1.2.4.nix {}; + dhall = haskellPackagesNew.callPackage ./nix/dhall-1.20.1.nix {}; + dhall-json = haskellPackagesNew.callPackage ./nix/dhall-json-1.2.6.nix {}; + dhall-text = haskellPackagesNew.callPackage ./nix/dhall-text-1.0.15.nix {}; megaparsec = haskellPackagesNew.callPackage ./nix/megaparsec-7.0.2.nix {}; repline = haskellPackagesNew.callPackage ./nix/repline-0.2.0.0.nix {}; };