packages feed

hpack-dhall 0.5.2 → 0.5.3

raw patch · 155 files changed

+6464/−6294 lines, 155 filesdep +hlintdep ~basedep ~dhalldep ~dhall-jsonPVP ok

version bump matches the API change (PVP)

Dependencies added: hlint

Dependency ranges changed: base, dhall, dhall-json, hpack, megaparsec

API changes (from Hackage documentation)

+ Hpack.Fields: commonFields :: IsString a => [a]
+ Hpack.Fields: conditionalFields :: IsString a => [a]
+ Hpack.Fields: defaultsFields :: IsString a => [a]
+ Hpack.Fields: flagFields :: IsString a => [a]
+ Hpack.Fields: headerFields :: IsString a => [a]
+ Hpack.Fields: libraryFields :: IsString a => [a]
+ Hpack.Fields: packageFields :: IsString a => [a]
+ Hpack.Fields: repoFields :: IsString a => [a]
+ Hpack.Fields: runnableFields :: IsString a => [a]
+ Hpack.Fields: stanzasFields :: IsString a => [a]
+ Hpack.Fields: topLevelFields :: IsString a => [a]

Files

− README.md
@@ -1,249 +0,0 @@-# hpack-dhall--[![Build Status](https://travis-ci.org/BlockScope/hpack-dhall.svg)](https://travis-ci.org/BlockScope/hpack-dhall)-[![hackage release](https://img.shields.io/hackage/v/hpack-dhall.svg?label=hackage)](http://hackage.haskell.org/package/hpack-dhall)-[![Dependencies of latest version on Hackage](https://img.shields.io/hackage-deps/v/hpack-dhall.svg)](https://hackage.haskell.org/package/hpack-dhall)--**H**askell **pack**age descriptions in [**Dhall**](https://github.com/dhall-lang/dhall-lang).--This package named `hpack-dhall` as described in-[`package.dhall`](https://github.com/sol/hpack-dhall/blob/master/package.dhall).--```-{ name =-    "hpack-dhall"-...-, library =-    { exposed-modules = "Hpack.Dhall" }-, executables =-    { dhall-hpack-cabal = ...-    , dhall-hpack-json = ...-    , dhall-hpack-yaml = ...-    , dhall-hpack-dhall = ...-    }-}-```--This `.cabal` creating executable can be run over its own package description;--```-> stack install --stack-yaml=stack-8.4.4.yaml-...-Copied executables to /.../hpack-dhall/__bin:-- dhall-hpack-cabal-- dhall-hpack-dhall-- dhall-hpack-json-- dhall-hpack-yaml--> __bin/dhall-hpack-cabal package.dhall-hpack-dhall.cabal is up-to-date--> __bin/dhall-hpack-cabal --force package.dhall-generated hpack-dhall.cabal-```--Using one of the golden tests for example, there are executables to show the-dhall with the imports made as well as json and yaml equivalents;-```-> __bin/dhall-hpack-dhall test/golden/hpack-dhall-cabal/empty-package.dhall-{ name = "empty-package" }--> __bin/dhall-hpack-json test/golden/hpack-dhall-cabal/empty-package.dhall-{-    "name": "empty-package"-}--> __bin/dhall-hpack-yaml test/golden/hpack-dhall-cabal/empty-package.dhall-name: empty-package-```--By going from [hpack package-fields](https://github.com/sol/hpack#top-level-fields) to [cabal package-properties](https://www.haskell.org/cabal/users-guide/developing-packages.html#package-properties),-we are not required to state what can be inferred or defaulted, easing the-burden of completing a package description by hand.  For example-`other-modules` can be inferred by taking the set difference between modules on-disk and the set of `exposed-modules`.--By using an hpack-like Dhall dialect here rather than the-[YAML](https://en.wikipedia.org/wiki/YAML) of hpack we're able to;--* Add types to the fields.-* Safely import from other `*.dhall` files.-* Use functions.--## Imports and Functions--With this safer and more capable alternative input format for hpack, we're able-to simply describe the package and by using imports and functions we can do-more such as configuring linting;--```-> cat default-extensions.dhall-{ default-extensions =-    [ "DataKinds"-    , "DeriveFunctor"-    ...-    , "TupleSections"-    , "UndecidableInstances"-    ]-}--> cat hlint.dhall-    let Prelude/List/map =-          https://raw.githubusercontent.com/dhall-lang/Prelude/35deff0d41f2bf86c42089c6ca16665537f54d75/List/map--in  let defs = ./default-extensions.dhall--in  let f = λ(s : Text) → "-X" ++ s--in  { arguments = Prelude/List/map Text Text f defs.default-extensions }--> dhall-to-yaml < ./hlint.dhall > ./.hlint.yaml--> cat .hlint.yaml-arguments:-- -XDataKinds-- -XDeriveFunctor-...-- -XTupleSections-- -XUndecidableInstances-```--We can pull those same `default-extensions` into a package description;--```-> cat package.dhall-    let defs = ./defaults.dhall--in    defs-    ⫽ ./default-extensions.dhall-    ⫽ { name =-          "flight-units"-    ...-      , github =-          "blockscope/flare-timing/units"-    ...-      , dependencies =-            defs.dependencies-          # [ "numbers"-            , "fixed"-            , "bifunctors"-            , "text"-            , "formatting"-            , "uom-plugin"-            , "siggy-chardust"-            ]-    ...-      }-```--## Formatting--We can consistently format `package.dhall` and other `*.dhall` imports using-`dhall`;--```-> stack install dhall --stack-yaml=stack-dhall.yaml-> __bin/dhall format --inplace package.dhall-```--## Restrictions--Using hpack's [conditionals](https://github.com/sol/hpack#conditionals) in-a list in `package.dhall` can cause an error because lists in Dhall must have-elements of the same type;--From stack's `package.yaml`;-```-executables:-  stack:-    main: Main.hs-    source-dirs: src/main-    generated-other-modules:-    - Build_stack-    - Paths_stack-    ghc-options:-    - -threaded-    - -rtsopts-    dependencies:-    - stack-    when:-    - condition: flag(static)-      ld-options:-      - -static-      - -pthread-    - condition: ! '!(flag(disable-git-info))'-      cpp-options: -DUSE_GIT_INFO-      dependencies:-      - githash-      - optparse-simple-    - condition: flag(hide-dependency-versions)-      cpp-options: -DHIDE_DEP_VERSIONS-    - condition: flag(supported-build)-      cpp-options: -DSUPPORTED_BUILD-```--This can be represented in `package.dhall` as;-```-, executables =-    { stack =-        { main =-            "Main.hs"-        , source-dirs =-            [ "src/main" ]-        , generated-other-modules =-            [ "Build_stack", "Paths_stack" ]-        , ghc-options =-            [ "-threaded", "-rtsopts" ]-        , dependencies =-            [ "stack" ]-        , when =-            [ { condition =-                  "flag(static)"-              , cpp-options =-                  [] : List Text-              , dependencies =-                  [] : List Text-              , ld-options =-                  [ "-static", "-pthread" ]-              }-            , { condition =-                  "!(flag(disable-git-info))"-              , cpp-options =-                  [ "-DUSE_GIT_INFO" ]-              , dependencies =-                  [ "githash", "optparse-simple" ]-              , ld-options =-                  [] : List Text-              }-            , { condition =-                  "flag(hide-dependency-versions)"-              , cpp-options =-                  [ "-DHIDE_DEP_VERSIONS" ]-              , dependencies =-                  [] : List Text-              , ld-options =-                  [] : List Text-              }-            , { condition =-                  "flag(supported-build)"-              , cpp-options =-                  [ "-DSUPPORTED_BUILD" ]-              , dependencies =-                  [] : List Text-              , ld-options =-                  [] : List Text-              }-            ]-        }-    }-```--### Continuous Integration--With haskell-ci tooling installed, generate the `.travis.yml` setup with;-```-> haskell-ci --output=.travis.yml --config=cabal.haskell-ci hpack-dhall.cabal-*INFO* Generating Travis-CI config for testing for GHC versions: 8.2.2 8.4.3 8.4.4 8.6.3-```
changelog.md view
@@ -1,5 +1,34 @@ The [latest version](https://github.com/blockscope/hpack-dhall/blob/master/changelog.md) of this changelog. +## 0.5.3 - Rewrite the README+* Rewrite the README, making it shorter and splitting some details about more+  uses and building into separate docs.+* Require `hpack >= 0.34.4`:+  ```diff+  $ dhall-hpack-cabal --version+  -dhall-hpack-cabal-0.5.2+  -hpack-0.34.2+  +dhall-hpack-cabal-0.5.3+  +hpack-0.34.4+  ```+* Require `base >= 4.13`, implying `GHC >= 8.8.4`.+* Test with GHC `8.8.4` and `8.10.4`.+* Add files for different stack GHC versions.+  ```+  $ stack build --stack-yaml=stack/stack-8.8.4.yaml+  $ stack build --stack-yaml=stack/stack-8.10.4.yaml+  $ stack build --stack-yaml=stack/stack-9.0.1.yaml+  ```+* Remove the travis script and update github scripts with:+  ```diff+  - - uses: actions/setup-haskell@v1+  + - uses: haskell/actions/setup@v1++  - - uses: actions/cache@v1+  + - uses: actions/cache@v2+  ```+* Remove stale nix-related files.+ ## 0.5.2 - Consistent Golden Tests * Use explicit dependencies to achieve consistent golden tests in all but   stack-8.6.3.yaml.
exe/dhall-hpack-cabal/CabalMain.hs view
@@ -5,7 +5,6 @@  import Paths_hpack_dhall (version) import Data.Version (showVersion)-import Data.Monoid ((<>)) import Data.Foldable (asum) import qualified Options.Applicative as O import Options
exe/dhall-hpack-dhall/DhallMain.hs view
@@ -4,7 +4,6 @@  import Paths_hpack_dhall (version) import Data.Version (showVersion)-import Data.Monoid ((<>)) import Data.Foldable (asum) import qualified Options.Applicative as O import Options (Options(..), parseOptions, parseNumericVersion, parseVersion)
exe/dhall-hpack-json/JsonMain.hs view
@@ -4,7 +4,6 @@  import Paths_hpack_dhall (version) import Data.Version (showVersion)-import Data.Monoid ((<>)) import Data.Foldable (asum) import qualified Options.Applicative as O import Options (Options(..), parseOptions, parseNumericVersion, parseVersion)
exe/dhall-hpack-yaml/YamlMain.hs view
@@ -4,7 +4,6 @@  import Paths_hpack_dhall (version) import Data.Version (showVersion)-import Data.Monoid ((<>)) import Data.Foldable (asum) import qualified Options.Applicative as O import Options (Options(..), parseOptions, parseNumericVersion, parseVersion)
exe/options/Options.hs view
@@ -11,7 +11,6 @@     , parseQuiet     ) where -import Data.Monoid ((<>)) import Hpack.Dhall (packageConfig) import Options.Applicative 
hpack-dhall.cabal view
@@ -1,22 +1,23 @@ cabal-version: 1.12 --- This file has been generated from package.dhall by hpack version 0.31.1.+-- This file has been generated from package.dhall by hpack version 0.34.4. -- -- see: https://github.com/sol/hpack------ hash: 98b50eed37278c62f016933a31bdfb02a687ae915796045d96e6357a4a826acb  name:           hpack-dhall-version:        0.5.2+version:        0.5.3 synopsis:       hpack's dhalling-description:    Work with hpack's top-level-                <https://github.com/sol/hpack#top-level-fields fields> in a Dhall-                record with the following executables;+description:    Use hpack phrasing in dhall to write cabal files.                 .-                * with @dhall-hpack-cabal@ write the @.cabal@ for a @.dhall@ package description.-                * with @dhall-hpack-dhall@ show the package description expression, with imports resolved.-                * with @dhall-hpack-json@ show the package description as JSON.-                * with @dhall-hpack-yaml@ show the package description as YAML.+                There are two main reasons why you'd use hpack-dhall, convenience and safety.+                .+                Get the convenience of hpack. Don't bother to state what can be inferred or+                defaulted, easing the burden of completing a package description by hand.  For+                example `other-modules` can be inferred by taking the set difference between+                modules on disk and the set of `exposed-modules`.+                .+                Get the safety of dhall's programmable configuration: typed fields, safe imports+                and functions. category:       Development homepage:       https://github.com/blockscope/hpack-dhall#readme bug-reports:    https://github.com/blockscope/hpack-dhall/issues@@ -24,79 +25,86 @@ copyright:      © 2018 Phil de Joux, © 2018 Block Scope Limited license:        BSD3 license-file:   LICENSE-tested-with:    GHC == 8.2.2, GHC == 8.4.3, GHC == 8.4.4, GHC == 8.6.3 build-type:     Simple+tested-with:+    GHC == 8.8.4, GHC == 8.10.4 extra-source-files:     package.dhall     changelog.md-    README.md-    test/golden/test-files/key/empty-inferred/package.dhall-    test/golden/test-files/key/empty-package.dhall-    test/golden/test-files/key/import-local/package.dhall-    test/golden/test-files/key/import-relative/package.dhall-    test/golden/test-files/key/when-dependencies.dhall-    test/golden/test-files/real-world/hpack/hpack.dhall-    test/golden/test-files/real-world/stack/stack.dhall-    test/golden/test-files/key/import-local/name.dhl-    test/golden/test-files/key/import-relative.dhl-    test/golden/test-files/key/empty-inferred/empty-inferred.cabal-    test/golden/test-files/key/empty-inferred/package.yaml.cabal-    test/golden/test-files/key/empty-package.cabal-    test/golden/test-files/key/empty-package.yaml.cabal-    test/golden/test-files/key/import-local/import-local.cabal-    test/golden/test-files/key/import-local/package.yaml.cabal-    test/golden/test-files/key/import-relative/import-relative.cabal-    test/golden/test-files/key/import-relative/package.yaml.cabal-    test/golden/test-files/key/when-dependencies.cabal-    test/golden/test-files/key/when-dependencies.yaml.cabal-    test/golden/test-files/real-world/hpack/hpack.cabal-    test/golden/test-files/real-world/hpack/hpack.yaml.cabal-    test/golden/test-files/real-world/stack/stack.cabal-    test/golden/test-files/real-world/stack/stack.yaml.cabal-    test/golden/test-files/key/empty-inferred/package.json-    test/golden/test-files/key/empty-package.json-    test/golden/test-files/key/import-local/package.json-    test/golden/test-files/key/import-relative/package.json-    test/golden/test-files/key/when-dependencies.json-    test/golden/test-files/real-world/hpack/hpack.json-    test/golden/test-files/real-world/stack/stack.json-    test/golden/test-files/key/empty-inferred/package.yaml-    test/golden/test-files/key/empty-package.yaml-    test/golden/test-files/key/import-local/package.yaml-    test/golden/test-files/key/import-relative/package.yaml-    test/golden/test-files/key/when-dependencies.yaml-    test/golden/test-files/real-world/hpack/hpack.yaml-    test/golden/test-files/real-world/hpack/package.yaml-    test/golden/test-files/real-world/stack/package.yaml-    test/golden/test-files/real-world/stack/stack.yaml-    test/golden/test-files/key/empty-inferred/empty-inferred.cabal.golden-    test/golden/test-files/key/empty-inferred/package.dhall.golden-    test/golden/test-files/key/empty-inferred/package.json.golden-    test/golden/test-files/key/empty-inferred/package.yaml.golden-    test/golden/test-files/key/empty-package.cabal.golden-    test/golden/test-files/key/empty-package.dhall.golden-    test/golden/test-files/key/empty-package.json.golden-    test/golden/test-files/key/empty-package.yaml.golden-    test/golden/test-files/key/import-local/import-local.cabal.golden-    test/golden/test-files/key/import-local/package.dhall.golden-    test/golden/test-files/key/import-local/package.json.golden-    test/golden/test-files/key/import-local/package.yaml.golden-    test/golden/test-files/key/import-relative/import-relative.cabal.golden-    test/golden/test-files/key/import-relative/package.dhall.golden-    test/golden/test-files/key/import-relative/package.json.golden-    test/golden/test-files/key/import-relative/package.yaml.golden-    test/golden/test-files/key/when-dependencies.cabal.golden-    test/golden/test-files/key/when-dependencies.dhall.golden-    test/golden/test-files/key/when-dependencies.json.golden-    test/golden/test-files/key/when-dependencies.yaml.golden-    test/golden/test-files/real-world/hpack/hpack.cabal.golden-    test/golden/test-files/real-world/hpack/hpack.dhall.golden-    test/golden/test-files/real-world/hpack/hpack.json.golden-    test/golden/test-files/real-world/hpack/hpack.yaml.golden-    test/golden/test-files/real-world/stack/stack.cabal.golden-    test/golden/test-files/real-world/stack/stack.dhall.golden-    test/golden/test-files/real-world/stack/stack.json.golden-    test/golden/test-files/real-world/stack/stack.yaml.golden+    test-suite-golden/test-files/key/empty-inferred/package.dhall+    test-suite-golden/test-files/key/empty-package.dhall+    test-suite-golden/test-files/key/import-local/package.dhall+    test-suite-golden/test-files/key/import-relative/package.dhall+    test-suite-golden/test-files/key/when-dependencies.dhall+    test-suite-golden/test-files/real-world/hpack/hpack.dhall+    test-suite-golden/test-files/real-world/stack/stack.dhall+    test-suite-golden/test-files/key/import-local/name.dhl+    test-suite-golden/test-files/key/import-relative.dhl+    test-suite-golden/test-files/key/empty-inferred/empty-inferred.cabal+    test-suite-golden/test-files/key/empty-inferred/package.yaml.cabal+    test-suite-golden/test-files/key/empty-package.cabal+    test-suite-golden/test-files/key/empty-package.yaml.cabal+    test-suite-golden/test-files/key/import-local/import-local.cabal+    test-suite-golden/test-files/key/import-local/package.yaml.cabal+    test-suite-golden/test-files/key/import-relative/import-relative.cabal+    test-suite-golden/test-files/key/import-relative/package.yaml.cabal+    test-suite-golden/test-files/key/when-dependencies.cabal+    test-suite-golden/test-files/key/when-dependencies.yaml.cabal+    test-suite-golden/test-files/real-world/hpack/hpack.cabal+    test-suite-golden/test-files/real-world/hpack/hpack.yaml.cabal+    test-suite-golden/test-files/real-world/stack/stack.cabal+    test-suite-golden/test-files/real-world/stack/stack.yaml.cabal+    test-suite-golden/test-files/key/empty-inferred/package.json+    test-suite-golden/test-files/key/empty-package.json+    test-suite-golden/test-files/key/import-local/package.json+    test-suite-golden/test-files/key/import-relative/package.json+    test-suite-golden/test-files/key/when-dependencies.json+    test-suite-golden/test-files/real-world/hpack/hpack.json+    test-suite-golden/test-files/real-world/stack/stack.json+    test-suite-golden/test-files/key/empty-inferred/package.yaml+    test-suite-golden/test-files/key/empty-package.yaml+    test-suite-golden/test-files/key/import-local/package.yaml+    test-suite-golden/test-files/key/import-relative/package.yaml+    test-suite-golden/test-files/key/when-dependencies.yaml+    test-suite-golden/test-files/real-world/hpack/hpack.yaml+    test-suite-golden/test-files/real-world/hpack/package.yaml+    test-suite-golden/test-files/real-world/stack/package.yaml+    test-suite-golden/test-files/real-world/stack/stack.yaml+    test-suite-golden/test-files/key/empty-inferred/empty-inferred.cabal.golden+    test-suite-golden/test-files/key/empty-inferred/package.dhall-1.32.golden+    test-suite-golden/test-files/key/empty-inferred/package.dhall-1.34.golden+    test-suite-golden/test-files/key/empty-inferred/package.json.golden+    test-suite-golden/test-files/key/empty-inferred/package.yaml.golden+    test-suite-golden/test-files/key/empty-package.cabal.golden+    test-suite-golden/test-files/key/empty-package.dhall-1.32.golden+    test-suite-golden/test-files/key/empty-package.dhall-1.34.golden+    test-suite-golden/test-files/key/empty-package.json.golden+    test-suite-golden/test-files/key/empty-package.yaml.golden+    test-suite-golden/test-files/key/import-local/import-local.cabal.golden+    test-suite-golden/test-files/key/import-local/package.dhall-1.32.golden+    test-suite-golden/test-files/key/import-local/package.dhall-1.34.golden+    test-suite-golden/test-files/key/import-local/package.json.golden+    test-suite-golden/test-files/key/import-local/package.yaml.golden+    test-suite-golden/test-files/key/import-relative/import-relative.cabal.golden+    test-suite-golden/test-files/key/import-relative/package.dhall-1.32.golden+    test-suite-golden/test-files/key/import-relative/package.dhall-1.34.golden+    test-suite-golden/test-files/key/import-relative/package.json.golden+    test-suite-golden/test-files/key/import-relative/package.yaml.golden+    test-suite-golden/test-files/key/when-dependencies.cabal.golden+    test-suite-golden/test-files/key/when-dependencies.dhall-1.32.golden+    test-suite-golden/test-files/key/when-dependencies.dhall-1.34.golden+    test-suite-golden/test-files/key/when-dependencies.json.golden+    test-suite-golden/test-files/key/when-dependencies.yaml.golden+    test-suite-golden/test-files/real-world/hpack/hpack.cabal.golden+    test-suite-golden/test-files/real-world/hpack/hpack.dhall-1.32.golden+    test-suite-golden/test-files/real-world/hpack/hpack.dhall-1.34.golden+    test-suite-golden/test-files/real-world/hpack/hpack.json.golden+    test-suite-golden/test-files/real-world/hpack/hpack.yaml.golden+    test-suite-golden/test-files/real-world/stack/stack.cabal.golden+    test-suite-golden/test-files/real-world/stack/stack.dhall-1.32.golden+    test-suite-golden/test-files/real-world/stack/stack.dhall-1.34.golden+    test-suite-golden/test-files/real-world/stack/stack.json.golden+    test-suite-golden/test-files/real-world/stack/stack.yaml.golden  source-repository head   type: git@@ -110,17 +118,17 @@       Paths_hpack_dhall   hs-source-dirs:       library-  ghc-options: -Wall+  ghc-options: -Wall -Wincomplete-uni-patterns -Wcompat -Widentities -Wredundant-constraints -fhide-source-paths   build-depends:       aeson     , aeson-pretty-    , base ==4.*+    , base >=4.13 && <5     , bytestring-    , dhall >=1.18.0-    , dhall-json >=1.2.4+    , dhall+    , dhall-json     , filepath-    , hpack >=0.31.0-    , megaparsec >=7.0.1+    , hpack >=0.34.4+    , megaparsec     , microlens     , prettyprinter     , text@@ -139,18 +147,18 @@       library       exe/options       exe/dhall-hpack-cabal-  ghc-options: -Wall+  ghc-options: -Wall -Wincomplete-uni-patterns -Wcompat -Widentities -Wredundant-constraints -fhide-source-paths   build-depends:       aeson     , aeson-pretty-    , base ==4.*+    , base >=4.13 && <5     , bytestring-    , dhall >=1.18.0-    , dhall-json >=1.2.4+    , dhall+    , dhall-json     , filepath-    , hpack >=0.31.0+    , hpack >=0.34.4     , hpack-dhall-    , megaparsec >=7.0.1+    , megaparsec     , microlens     , optparse-applicative     , prettyprinter@@ -170,18 +178,18 @@       library       exe/options       exe/dhall-hpack-dhall-  ghc-options: -Wall+  ghc-options: -Wall -Wincomplete-uni-patterns -Wcompat -Widentities -Wredundant-constraints -fhide-source-paths   build-depends:       aeson     , aeson-pretty-    , base ==4.*+    , base >=4.13 && <5     , bytestring-    , dhall >=1.18.0-    , dhall-json >=1.2.4+    , dhall+    , dhall-json     , filepath-    , hpack >=0.31.0+    , hpack >=0.34.4     , hpack-dhall-    , megaparsec >=7.0.1+    , megaparsec     , microlens     , optparse-applicative     , prettyprinter@@ -201,18 +209,18 @@       library       exe/options       exe/dhall-hpack-json-  ghc-options: -Wall+  ghc-options: -Wall -Wincomplete-uni-patterns -Wcompat -Widentities -Wredundant-constraints -fhide-source-paths   build-depends:       aeson     , aeson-pretty-    , base ==4.*+    , base >=4.13 && <5     , bytestring-    , dhall >=1.18.0-    , dhall-json >=1.2.4+    , dhall+    , dhall-json     , filepath-    , hpack >=0.31.0+    , hpack >=0.34.4     , hpack-dhall-    , megaparsec >=7.0.1+    , megaparsec     , microlens     , optparse-applicative     , prettyprinter@@ -232,18 +240,18 @@       library       exe/options       exe/dhall-hpack-yaml-  ghc-options: -Wall+  ghc-options: -Wall -Wincomplete-uni-patterns -Wcompat -Widentities -Wredundant-constraints -fhide-source-paths   build-depends:       aeson     , aeson-pretty-    , base ==4.*+    , base >=4.13 && <5     , bytestring-    , dhall >=1.18.0-    , dhall-json >=1.2.4+    , dhall+    , dhall-json     , filepath-    , hpack >=0.31.0+    , hpack >=0.34.4     , hpack-dhall-    , megaparsec >=7.0.1+    , megaparsec     , microlens     , optparse-applicative     , prettyprinter@@ -261,8 +269,8 @@       Paths_hpack_dhall   hs-source-dirs:       library-      test/golden/src-  ghc-options: -Wall+      test-suite-golden/src+  ghc-options: -Wall -Wincomplete-uni-patterns -Wcompat -Widentities -Wredundant-constraints -fhide-source-paths   build-depends:       Cabal     , Diff@@ -283,5 +291,35 @@     , text     , transformers     , utf8-string+    , yaml+  default-language: Haskell2010++test-suite hlint+  type: exitcode-stdio-1.0+  main-is: HLint.hs+  other-modules:+      Hpack.Dhall+      Hpack.Fields+      Paths_hpack_dhall+  hs-source-dirs:+      library+      exe+      test-suite-hlint+  ghc-options: -Wall -Wincomplete-uni-patterns -Wcompat -Widentities -Wredundant-constraints -fhide-source-paths -rtsopts -threaded -with-rtsopts=-N+  build-depends:+      aeson+    , aeson-pretty+    , base >=4.13 && <5+    , bytestring+    , dhall+    , dhall-json+    , filepath+    , hlint+    , hpack >=0.34.4+    , megaparsec+    , microlens+    , prettyprinter+    , text+    , transformers     , yaml   default-language: Haskell2010
library/Hpack/Dhall.hs view
@@ -25,6 +25,7 @@     , packageConfig     ) where +import Data.Void (Void) import Data.Maybe (fromMaybe) import Data.Function ((&)) import Lens.Micro ((^.), set)@@ -46,7 +47,7 @@ import Dhall.Core (Expr) import Dhall.Parser (Src, exprFromText) import Dhall.Import (loadWith, emptyStatus)-import Dhall.TypeCheck (X, typeOf)+import Dhall.TypeCheck (typeOf) import Dhall.JSON (dhallToJSON) import Dhall.Pretty (prettyExpr, layoutOpts) import qualified Data.Text.Prettyprint.Doc as PP@@ -133,13 +134,13 @@         liftResult :: (Show b, Monad m) => Either b a -> ExceptT String m a         liftResult = ExceptT . return . first show -check :: InputSettings -> Text -> IO (Expr Src X)+check :: InputSettings -> Text -> IO (Expr Src Void) check settings text = do     expr <- either throwIO return $ exprFromText mempty text     State.evalStateT (loadWith expr) (emptyStatus $ settings ^. rootDirectory)  -- SEE: https://github.com/mstksg/hakyll-dhall-renderDhall :: (PP.Pretty a, Eq a) => Expr Src a -> T.Text+renderDhall :: PP.Pretty a => Expr Src a -> T.Text renderDhall =     PP.renderStrict     . PP.layoutSmart layoutOpts
library/Hpack/Fields.hs view
@@ -36,7 +36,7 @@             ]  -- | All <https://github.com/sol/hpack#top-level-fields top-level> fields combined.-topLevelFields :: (Ord a, IsString a) => [a]+topLevelFields :: IsString a => [a] topLevelFields =     headerFields     ++ repoFields@@ -46,7 +46,7 @@  -- | The header subset of -- <https://github.com/sol/hpack#top-level-fields top-level> fields.-headerFields :: (Ord a, IsString a) => [a]+headerFields :: IsString a => [a] headerFields =     [ "spec-version"     , "name"@@ -69,7 +69,7 @@  -- | The package subset of -- <https://github.com/sol/hpack#top-level-fields top-level> fields.-packageFields :: (Ord a, IsString a) => [a]+packageFields :: IsString a => [a] packageFields =     [ "extra-source-files"     , "extra-doc-files"@@ -79,7 +79,7 @@  -- | The source repository subset of -- <https://github.com/sol/hpack#top-level-fields top-level> fields.-repoFields :: (Ord a, IsString a) => [a]+repoFields :: IsString a => [a] repoFields =     [ "github"     , "git"@@ -87,7 +87,7 @@  -- | The stanzas subset of -- <https://github.com/sol/hpack#top-level-fields top-level> fields.-stanzasFields :: (Ord a, IsString a) => [a]+stanzasFields :: IsString a => [a] stanzasFields =     [ "custom-setup"     , "flags"@@ -101,7 +101,7 @@     ]  -- | The <https://github.com/sol/hpack#common-fields common> fields.-commonFields :: (Ord a, IsString a) => [a]+commonFields :: IsString a => [a] commonFields =     [ "buildable"     , "source-dirs"@@ -132,7 +132,7 @@   -- | The <https://github.com/sol/hpack#library-fields library> fields.-libraryFields :: (Ord a, IsString a) => [a]+libraryFields :: IsString a => [a] libraryFields =     [ "exposed"     , "exposed-modules"@@ -147,7 +147,7 @@ -- <https://github.com/sol/hpack#test-fields test> and -- <https://github.com/sol/hpack#benchmark-fields benchmark> fields are all the -- same.-runnableFields :: (Ord a, IsString a) => [a]+runnableFields :: IsString a => [a] runnableFields =     [ "main"     , "other-modules"@@ -155,7 +155,7 @@     ]  -- | The <https://github.com/sol/hpack#flags flag> fields.-flagFields :: (Ord a, IsString a) => [a]+flagFields :: IsString a => [a] flagFields =     [ "description"     , "manual"@@ -163,7 +163,7 @@     ]  -- | The <https://github.com/sol/hpack#-conditionals conditional> fields.-conditionalFields :: (Ord a, IsString a) => [a]+conditionalFields :: IsString a => [a] conditionalFields =     [ "condition"     , "then"@@ -171,7 +171,7 @@     ]  -- | The <https://github.com/sol/hpack#defaults defaults> fields.-defaultsFields :: (Ord a, IsString a) => [a]+defaultsFields :: IsString a => [a] defaultsFields =     [ "github"     , "ref"
package.dhall view
@@ -1,9 +1,9 @@ let deps =-      [ "base == 4.*"-      , "megaparsec >= 7.0.1"-      , "dhall >= 1.18.0"-      , "dhall-json >= 1.2.4"-      , "hpack >= 0.31.0"+      [ "base >= 4.13 && < 5"+      , "megaparsec"+      , "dhall"+      , "dhall-json"+      , "hpack >= 0.34.4"       , "transformers"       , "text"       , "microlens"@@ -17,11 +17,11 @@  in  let exe-deps =           [ "hpack-dhall", "optparse-applicative" ]-+         in  { name =             "hpack-dhall"         , version =-            "0.5.2"+            "0.5.3"         , maintainer =             "Phil de Joux <phil.dejoux@blockscope.com>"         , copyright =@@ -36,32 +36,40 @@             "hpack's dhalling"         , description =             ''-            Work with hpack's top-level-            <https://github.com/sol/hpack#top-level-fields fields> in a Dhall-            record with the following executables;+            Use hpack phrasing in dhall to write cabal files.+            +            There are two main reasons why you'd use hpack-dhall, convenience and safety. -            * with @dhall-hpack-cabal@ write the @.cabal@ for a @.dhall@ package description.-            * with @dhall-hpack-dhall@ show the package description expression, with imports resolved.-            * with @dhall-hpack-json@ show the package description as JSON.-            * with @dhall-hpack-yaml@ show the package description as YAML.+            Get the convenience of hpack. Don't bother to state what can be inferred or+            defaulted, easing the burden of completing a package description by hand.  For+            example `other-modules` can be inferred by taking the set difference between+            modules on disk and the set of `exposed-modules`.++            Get the safety of dhall's programmable configuration: typed fields, safe imports+            and functions.             ''         , github =             "blockscope/hpack-dhall"         , tested-with =-            "GHC == 8.2.2, GHC == 8.4.3, GHC == 8.4.4, GHC == 8.6.3"+            "GHC == 8.8.4, GHC == 8.10.4"         , extra-source-files =             [ "package.dhall"             , "changelog.md"-            , "README.md"-            , "test/golden/**/*.dhall"-            , "test/golden/**/*.dhl"-            , "test/golden/**/*.cabal"-            , "test/golden/**/*.json"-            , "test/golden/**/*.yaml"-            , "test/golden/**/*.golden"+            , "test-suite-golden/**/*.dhall"+            , "test-suite-golden/**/*.dhl"+            , "test-suite-golden/**/*.cabal"+            , "test-suite-golden/**/*.json"+            , "test-suite-golden/**/*.yaml"+            , "test-suite-golden/**/*.golden"             ]         , ghc-options =-            "-Wall"+            [ "-Wall"+            , "-Wincomplete-uni-patterns"+            , "-Wcompat"+            , "-Widentities"+            , "-Wredundant-constraints"+            , "-fhide-source-paths"+            ]         , dependencies =             deps         , source-dirs =@@ -108,7 +116,7 @@                   { main =                       "Golden.hs"                   , source-dirs =-                      [ "test/golden/src" ]+                      [ "test-suite-golden/src" ]                   , dependencies =                       [ "base"                       , "Cabal"
+ test-suite-golden/src/Golden.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE MultiWayIf, LambdaCase, CPP #-}++module Main (main) where++import System.FilePath+    ( (</>), (<.>), (-<.>)+    , takeBaseName, replaceExtension+    , takeDirectory, splitDirectories, joinPath+    )+import System.Directory (renameFile)+import Test.Tasty (defaultMain, TestTree, testGroup)+import Test.Tasty.Golden (findByExtension, goldenVsFile, goldenVsString)++import Hpack (Verbose(..), Options(..), hpack, defaultOptions, setDecode)+import Hpack.Config (DecodeOptions(..))+import Hpack.Dhall (fileToJson, showDhall, showJson, showYaml)+import Data.ByteString.Lazy.UTF8 (fromString)++data Out = Cabal | Dhall | Json | Yaml++main :: IO ()+main = defaultMain =<< goldenTests++goldExt :: Out -> FilePath+goldExt =+    \case+        Cabal -> ".cabal.golden"++        Dhall ->+            let d =+#if MIN_VERSION_dhall (1, 34, 0)+                    ".dhall-1.34"+#elif MIN_VERSION_dhall (1, 32, 0)+                    ".dhall-1.32"+#else+                    ".dhall"+#endif++            in d <> ".golden"++        Json -> ".json.golden"+        Yaml -> ".yaml.golden"++goldenTests :: IO TestTree+goldenTests = do+    ks <- findByExtension [".dhall"] "test-suite-golden/test-files/key"+    rs <- findByExtension [".dhall"] "test-suite-golden/test-files/real-world"+    g1 <- goldenTestSet "archetypes" ks+    g2 <- goldenTestSet "real-world examples" rs+    return $ testGroup "golden tests" [g1 , g2]++goldenTestSet :: String -> [FilePath] -> IO TestTree+goldenTestSet title dhallFiles = do+    return $ testGroup title+        [ testGroup ".dhall to .cabal"+            [ goldenVsFile+                (testName dhallFile)+                (cabalFile -<.> goldExt Cabal)+                cabalFile+                (writeDhallCabal dhallFile)+            | dhallFile <- dhallFiles+            , let cabalFile = cabalFilePath dhallFile+            ]+        , testGroup ".dhall to dhall"+            [ goldenVsString+                (testName dhallFile)+                (dhallFile -<.> goldExt Dhall)+                (fmap fromString . showDhall $ dhallFile)+            | dhallFile <- dhallFiles+            ]+        , testGroup ".dhall to json"+            [ goldenVsFile+                (testName dhallFile)+                (dhallFile -<.> goldExt Json)+                jsonFile+                (writeJson dhallFile jsonFile)+            | dhallFile <- dhallFiles+            , let jsonFile = dhallFile -<.> ".json"+            ]+        , testGroup ".dhall to yaml"+            [ goldenVsFile+                (testName dhallFile)+                (dhallFile -<.> goldExt Yaml)+                yamlFile+                (writeYaml dhallFile yamlFile)+            | dhallFile <- dhallFiles+            , let yamlFile = dhallFile -<.> ".yaml"+            ]+        , testGroup ".yaml to .cabal"+            [ goldenVsFile+                (testName dhallFile)+                (cabalFile -<.> goldExt Cabal)+                cabalFile+                (writeYamlCabal yamlFile cabalFile yamlCabalFile)+            | dhallFile <- dhallFiles+            , let yamlFile = dhallFile -<.> ".yaml"+            , let cabalFile = cabalFilePath dhallFile+            , let yamlCabalFile = yamlFile <.> ".cabal"+            ]+        ]++testName :: FilePath -> FilePath+testName p =+    if | fName == dName -> fName+       | fName == "package" -> dName+       | dName == "key" -> fName+       | dName == "real-world" -> fName+       | otherwise -> dName </> fName+    where+        dName =+            joinPath+            . take 1+            . reverse+            . splitDirectories+            . takeDirectory+            $ p++        fName = takeBaseName p++writeDhallCabal :: FilePath -> IO ()+writeDhallCabal dhallFile =+    hpack NoVerbose (setDecode fileToJson options)+    where+        d = optionsDecodeOptions defaultOptions+        d' = d {decodeOptionsTarget = dhallFile}+        options = defaultOptions {optionsDecodeOptions = d'}++writeYamlCabal :: FilePath -> FilePath -> FilePath -> IO ()+writeYamlCabal yamlFile cabalFile yamlCabalFile = do+        renameFile cabalFile tmp+        hpack NoVerbose options+        renameFile cabalFile yamlCabalFile+        renameFile tmp cabalFile+    where+        tmp = cabalFile <.> ".TMP"++        d = optionsDecodeOptions defaultOptions+        d' = d {decodeOptionsTarget = yamlFile}+        options =+            defaultOptions+                { optionsDecodeOptions = d'+                }++writeJson :: FilePath -> FilePath -> IO ()+writeJson dhallFile jsonFile = do+    s <- showJson Nothing dhallFile+    writeFile jsonFile s++writeYaml :: FilePath -> FilePath -> IO ()+writeYaml dhallFile yamlFile = do+    s <- showYaml Nothing dhallFile+    writeFile yamlFile s++cabalFilePath :: FilePath -> FilePath+cabalFilePath p+    | takeBaseName p == "package" =+        case reverse . splitDirectories $ ds of+            d : ds' -> joinPath (reverse ds') </> d </> d <.> ".cabal"+            _ -> replaceExtension p ".cabal"++    | otherwise =+        replaceExtension p ".cabal"++    where+        ds = takeDirectory p
+ test-suite-golden/test-files/key/empty-inferred/empty-inferred.cabal view
@@ -0,0 +1,11 @@+cabal-version: 1.12++-- This file has been generated from package.dhall by hpack version 0.31.0.+--+-- see: https://github.com/sol/hpack+--+-- hash: 9f10239d716ef4564587e29b36c0e3b74056721733790211e20061a86a0feb53++name:           empty-inferred+version:        0.0.0+build-type:     Simple
+ test-suite-golden/test-files/key/empty-inferred/empty-inferred.cabal.golden view
@@ -0,0 +1,11 @@+cabal-version: 1.12++-- This file has been generated from package.dhall by hpack version 0.31.0.+--+-- see: https://github.com/sol/hpack+--+-- hash: 9f10239d716ef4564587e29b36c0e3b74056721733790211e20061a86a0feb53++name:           empty-inferred+version:        0.0.0+build-type:     Simple
+ test-suite-golden/test-files/key/empty-inferred/package.dhall view
@@ -0,0 +1,1 @@+{=}
+ test-suite-golden/test-files/key/empty-inferred/package.dhall-1.32.golden view
@@ -0,0 +1,1 @@+{=}
+ test-suite-golden/test-files/key/empty-inferred/package.dhall-1.34.golden view
@@ -0,0 +1,1 @@+{=}
+ test-suite-golden/test-files/key/empty-inferred/package.json view
@@ -0,0 +1,1 @@+{}
+ test-suite-golden/test-files/key/empty-inferred/package.json.golden view
@@ -0,0 +1,1 @@+{}
+ test-suite-golden/test-files/key/empty-inferred/package.yaml view
@@ -0,0 +1,1 @@+{}
+ test-suite-golden/test-files/key/empty-inferred/package.yaml.cabal view
@@ -0,0 +1,9 @@+cabal-version: 1.12++-- This file has been generated from package.yaml by hpack version 0.34.4.+--+-- see: https://github.com/sol/hpack++name:           empty-inferred+version:        0.0.0+build-type:     Simple
+ test-suite-golden/test-files/key/empty-inferred/package.yaml.golden view
@@ -0,0 +1,1 @@+{}
+ test-suite-golden/test-files/key/empty-package.cabal view
@@ -0,0 +1,11 @@+cabal-version: 1.12++-- This file has been generated from empty-package.dhall by hpack version 0.31.0.+--+-- see: https://github.com/sol/hpack+--+-- hash: e0a74f511d829cae53cd712664781db312951dd773249603163ba1b1e32afd04++name:           empty-package+version:        0.0.0+build-type:     Simple
+ test-suite-golden/test-files/key/empty-package.cabal.golden view
@@ -0,0 +1,11 @@+cabal-version: 1.12++-- This file has been generated from empty-package.dhall by hpack version 0.31.0.+--+-- see: https://github.com/sol/hpack+--+-- hash: e0a74f511d829cae53cd712664781db312951dd773249603163ba1b1e32afd04++name:           empty-package+version:        0.0.0+build-type:     Simple
+ test-suite-golden/test-files/key/empty-package.dhall view
@@ -0,0 +1,1 @@+{ name = "empty-package" }
+ test-suite-golden/test-files/key/empty-package.dhall-1.32.golden view
@@ -0,0 +1,1 @@+{ name = "empty-package" }
+ test-suite-golden/test-files/key/empty-package.dhall-1.34.golden view
@@ -0,0 +1,1 @@+{ name = "empty-package" }
+ test-suite-golden/test-files/key/empty-package.json view
@@ -0,0 +1,3 @@+{+    "name": "empty-package"+}
+ test-suite-golden/test-files/key/empty-package.json.golden view
@@ -0,0 +1,3 @@+{+    "name": "empty-package"+}
+ test-suite-golden/test-files/key/empty-package.yaml view
@@ -0,0 +1,1 @@+name: empty-package
+ test-suite-golden/test-files/key/empty-package.yaml.cabal view
@@ -0,0 +1,9 @@+cabal-version: 1.12++-- This file has been generated from empty-package.yaml by hpack version 0.34.4.+--+-- see: https://github.com/sol/hpack++name:           empty-package+version:        0.0.0+build-type:     Simple
+ test-suite-golden/test-files/key/empty-package.yaml.golden view
@@ -0,0 +1,1 @@+name: empty-package
+ test-suite-golden/test-files/key/import-local/import-local.cabal view
@@ -0,0 +1,11 @@+cabal-version: 1.12++-- This file has been generated from package.dhall by hpack version 0.31.0.+--+-- see: https://github.com/sol/hpack+--+-- hash: fb3f09267f149cb49eb030ac951c27be9964aa0d51e91460e5b2d59ee1a5082f++name:           import-local+version:        0.0.0+build-type:     Simple
+ test-suite-golden/test-files/key/import-local/import-local.cabal.golden view
@@ -0,0 +1,11 @@+cabal-version: 1.12++-- This file has been generated from package.dhall by hpack version 0.31.0.+--+-- see: https://github.com/sol/hpack+--+-- hash: fb3f09267f149cb49eb030ac951c27be9964aa0d51e91460e5b2d59ee1a5082f++name:           import-local+version:        0.0.0+build-type:     Simple
+ test-suite-golden/test-files/key/import-local/name.dhl view
@@ -0,0 +1,1 @@+{ name = "import-local" }
+ test-suite-golden/test-files/key/import-local/package.dhall view
@@ -0,0 +1,1 @@+./name.dhl ⫽ {=}
+ test-suite-golden/test-files/key/import-local/package.dhall-1.32.golden view
@@ -0,0 +1,1 @@+{ name = "import-local" } ⫽ {=}
+ test-suite-golden/test-files/key/import-local/package.dhall-1.34.golden view
@@ -0,0 +1,1 @@+{ name = "import-local" } ⫽ {=}
+ test-suite-golden/test-files/key/import-local/package.json view
@@ -0,0 +1,3 @@+{+    "name": "import-local"+}
+ test-suite-golden/test-files/key/import-local/package.json.golden view
@@ -0,0 +1,3 @@+{+    "name": "import-local"+}
+ test-suite-golden/test-files/key/import-local/package.yaml view
@@ -0,0 +1,1 @@+name: import-local
+ test-suite-golden/test-files/key/import-local/package.yaml.cabal view
@@ -0,0 +1,9 @@+cabal-version: 1.12++-- This file has been generated from package.yaml by hpack version 0.34.4.+--+-- see: https://github.com/sol/hpack++name:           import-local+version:        0.0.0+build-type:     Simple
+ test-suite-golden/test-files/key/import-local/package.yaml.golden view
@@ -0,0 +1,1 @@+name: import-local
+ test-suite-golden/test-files/key/import-relative.dhl view
@@ -0,0 +1,1 @@+{ name = "import-relative" }
+ test-suite-golden/test-files/key/import-relative/import-relative.cabal view
@@ -0,0 +1,11 @@+cabal-version: 1.12++-- This file has been generated from package.dhall by hpack version 0.31.0.+--+-- see: https://github.com/sol/hpack+--+-- hash: 989056d21c3910e06ec15967716df134a39f43c561858afff828d22802a22005++name:           import-relative+version:        0.0.0+build-type:     Simple
+ test-suite-golden/test-files/key/import-relative/import-relative.cabal.golden view
@@ -0,0 +1,11 @@+cabal-version: 1.12++-- This file has been generated from package.dhall by hpack version 0.31.0.+--+-- see: https://github.com/sol/hpack+--+-- hash: 989056d21c3910e06ec15967716df134a39f43c561858afff828d22802a22005++name:           import-relative+version:        0.0.0+build-type:     Simple
+ test-suite-golden/test-files/key/import-relative/package.dhall view
@@ -0,0 +1,1 @@+../import-relative.dhl ⫽ {=}
+ test-suite-golden/test-files/key/import-relative/package.dhall-1.32.golden view
@@ -0,0 +1,1 @@+{ name = "import-relative" } ⫽ {=}
+ test-suite-golden/test-files/key/import-relative/package.dhall-1.34.golden view
@@ -0,0 +1,1 @@+{ name = "import-relative" } ⫽ {=}
+ test-suite-golden/test-files/key/import-relative/package.json view
@@ -0,0 +1,3 @@+{+    "name": "import-relative"+}
+ test-suite-golden/test-files/key/import-relative/package.json.golden view
@@ -0,0 +1,3 @@+{+    "name": "import-relative"+}
+ test-suite-golden/test-files/key/import-relative/package.yaml view
@@ -0,0 +1,1 @@+name: import-relative
+ test-suite-golden/test-files/key/import-relative/package.yaml.cabal view
@@ -0,0 +1,9 @@+cabal-version: 1.12++-- This file has been generated from package.yaml by hpack version 0.34.4.+--+-- see: https://github.com/sol/hpack++name:           import-relative+version:        0.0.0+build-type:     Simple
+ test-suite-golden/test-files/key/import-relative/package.yaml.golden view
@@ -0,0 +1,1 @@+name: import-relative
+ test-suite-golden/test-files/key/when-dependencies.cabal view
@@ -0,0 +1,11 @@+cabal-version: 1.12++-- This file has been generated from when-dependencies.dhall by hpack version 0.31.1.+--+-- see: https://github.com/sol/hpack+--+-- hash: a1d315a919b697e7986a0c149715373427427e43104f82f05f394a439793907f++name:           when-dependencies+version:        0.0.0+build-type:     Simple
+ test-suite-golden/test-files/key/when-dependencies.cabal.golden view
@@ -0,0 +1,11 @@+cabal-version: 1.12++-- This file has been generated from when-dependencies.dhall by hpack version 0.31.1.+--+-- see: https://github.com/sol/hpack+--+-- hash: a1d315a919b697e7986a0c149715373427427e43104f82f05f394a439793907f++name:           when-dependencies+version:        0.0.0+build-type:     Simple
+ test-suite-golden/test-files/key/when-dependencies.dhall view
@@ -0,0 +1,13 @@+    let deps = [ "base == 4.*" ]++in  { name =+        "when-dependencies"+    , when =+        { condition =+            "impl(ghc < 8.2.2)"+        , `then` =+            { dependencies = deps # [ "yaml" ] }+        , `else` =+            { dependencies = deps # [ "yaml-pretty-extras" ] }+        }+    }
+ test-suite-golden/test-files/key/when-dependencies.dhall-1.32.golden view
@@ -0,0 +1,9 @@+let deps = [ "base == 4.*" ]++in  { name = "when-dependencies"+    , when =+      { condition = "impl(ghc < 8.2.2)"+      , then.dependencies = deps # [ "yaml" ]+      , else.dependencies = deps # [ "yaml-pretty-extras" ]+      }+    }
+ test-suite-golden/test-files/key/when-dependencies.dhall-1.34.golden view
@@ -0,0 +1,9 @@+let deps = [ "base == 4.*" ]++in  { name = "when-dependencies"+    , when =+      { condition = "impl(ghc < 8.2.2)"+      , `then`.dependencies = deps # [ "yaml" ]+      , `else`.dependencies = deps # [ "yaml-pretty-extras" ]+      }+    }
+ test-suite-golden/test-files/key/when-dependencies.json view
@@ -0,0 +1,18 @@+{+    "name": "when-dependencies",+    "when": {+        "condition": "impl(ghc < 8.2.2)",+        "then": {+            "dependencies": [+                "base == 4.*",+                "yaml"+            ]+        },+        "else": {+            "dependencies": [+                "base == 4.*",+                "yaml-pretty-extras"+            ]+        }+    }+}
+ test-suite-golden/test-files/key/when-dependencies.json.golden view
@@ -0,0 +1,18 @@+{+    "name": "when-dependencies",+    "when": {+        "condition": "impl(ghc < 8.2.2)",+        "then": {+            "dependencies": [+                "base == 4.*",+                "yaml"+            ]+        },+        "else": {+            "dependencies": [+                "base == 4.*",+                "yaml-pretty-extras"+            ]+        }+    }+}
+ test-suite-golden/test-files/key/when-dependencies.yaml view
@@ -0,0 +1,11 @@+name: when-dependencies+when:+  condition: impl(ghc < 8.2.2)+  then:+    dependencies:+    - base == 4.*+    - yaml+  else:+    dependencies:+    - base == 4.*+    - yaml-pretty-extras
+ test-suite-golden/test-files/key/when-dependencies.yaml.cabal view
@@ -0,0 +1,9 @@+cabal-version: 1.12++-- This file has been generated from when-dependencies.yaml by hpack version 0.34.4.+--+-- see: https://github.com/sol/hpack++name:           when-dependencies+version:        0.0.0+build-type:     Simple
+ test-suite-golden/test-files/key/when-dependencies.yaml.golden view
@@ -0,0 +1,11 @@+name: when-dependencies+when:+  condition: impl(ghc < 8.2.2)+  then:+    dependencies:+    - base == 4.*+    - yaml+  else:+    dependencies:+    - base == 4.*+    - yaml-pretty-extras
+ test-suite-golden/test-files/real-world/hpack/hpack.cabal view
@@ -0,0 +1,136 @@+cabal-version: 1.12++-- This file has been generated from hpack.dhall by hpack version 0.31.0.+--+-- see: https://github.com/sol/hpack+--+-- hash: 6233d5bc3d8cc3400d64ab30856182d4a593d9245bfdd5096e1287213cc3ae31++name:           hpack+version:        0.31.1+synopsis:       A modern format for Haskell packages+description:    See README at <https://github.com/sol/hpack#readme>+category:       Development+homepage:       https://github.com/sol/hpack#readme+bug-reports:    https://github.com/sol/hpack/issues+maintainer:     Simon Hengel <sol@typeful.net>+build-type:     Simple+extra-source-files:+    CHANGELOG.md++source-repository head+  type: git+  location: https://github.com/sol/hpack++library+  exposed-modules:+      Hpack+      Hpack.Config+      Hpack.Render+      Hpack.Yaml+  other-modules:+      Paths_hpack+  hs-source-dirs:+      src+  ghc-options: -Wall+  build-depends:+      Cabal >=2.2+    , Glob >=0.9.0+    , aeson >=1.2.1.0+    , base >=4.9 && <5+    , bifunctors+    , bytestring+    , containers+    , cryptonite+    , deepseq+    , directory+    , filepath+    , http-client+    , http-client-tls+    , http-types+    , infer-license >=0.2.0 && <0.3+    , pretty+    , scientific+    , text+    , transformers+    , unordered-containers+    , vector+    , yaml >=0.10.0+  default-language: Haskell2010++executable hpack+  main-is: Main.hs+  other-modules:+      Paths_hpack+  hs-source-dirs:+      driver+  ghc-options: -Wall+  build-depends:+      Cabal >=2.2+    , Glob >=0.9.0+    , aeson >=1.2.1.0+    , base >=4.9 && <5+    , bifunctors+    , bytestring+    , containers+    , cryptonite+    , deepseq+    , directory+    , filepath+    , hpack+    , http-client+    , http-client-tls+    , http-types+    , infer-license >=0.2.0 && <0.3+    , pretty+    , scientific+    , text+    , transformers+    , unordered-containers+    , vector+    , yaml >=0.10.0+  default-language: Haskell2010++test-suite spec+  type: exitcode-stdio-1.0+  main-is: Spec.hs+  other-modules:+      Paths_hpack+  hs-source-dirs:+      test+      src+  ghc-options: -Wall+  cpp-options: -DTEST+  build-tool-depends:+      hspec-discover:hspec-discover+  build-depends:+      Cabal >=2.2+    , Glob >=0.9.0+    , HUnit >=1.6.0.0+    , QuickCheck+    , aeson >=1.2.1.0+    , base >=4.9 && <5+    , bifunctors+    , bytestring+    , containers+    , cryptonite+    , deepseq+    , directory+    , filepath+    , hspec ==2.*+    , http-client+    , http-client-tls+    , http-types+    , infer-license >=0.2.0 && <0.3+    , interpolate+    , mockery >=0.3+    , pretty+    , scientific+    , template-haskell+    , temporary+    , text+    , transformers+    , unordered-containers+    , vector+    , yaml >=0.10.0+  default-language: Haskell2010
+ test-suite-golden/test-files/real-world/hpack/hpack.cabal.golden view
@@ -0,0 +1,136 @@+cabal-version: 1.12++-- This file has been generated from hpack.dhall by hpack version 0.31.0.+--+-- see: https://github.com/sol/hpack+--+-- hash: 6233d5bc3d8cc3400d64ab30856182d4a593d9245bfdd5096e1287213cc3ae31++name:           hpack+version:        0.31.1+synopsis:       A modern format for Haskell packages+description:    See README at <https://github.com/sol/hpack#readme>+category:       Development+homepage:       https://github.com/sol/hpack#readme+bug-reports:    https://github.com/sol/hpack/issues+maintainer:     Simon Hengel <sol@typeful.net>+build-type:     Simple+extra-source-files:+    CHANGELOG.md++source-repository head+  type: git+  location: https://github.com/sol/hpack++library+  exposed-modules:+      Hpack+      Hpack.Config+      Hpack.Render+      Hpack.Yaml+  other-modules:+      Paths_hpack+  hs-source-dirs:+      src+  ghc-options: -Wall+  build-depends:+      Cabal >=2.2+    , Glob >=0.9.0+    , aeson >=1.2.1.0+    , base >=4.9 && <5+    , bifunctors+    , bytestring+    , containers+    , cryptonite+    , deepseq+    , directory+    , filepath+    , http-client+    , http-client-tls+    , http-types+    , infer-license >=0.2.0 && <0.3+    , pretty+    , scientific+    , text+    , transformers+    , unordered-containers+    , vector+    , yaml >=0.10.0+  default-language: Haskell2010++executable hpack+  main-is: Main.hs+  other-modules:+      Paths_hpack+  hs-source-dirs:+      driver+  ghc-options: -Wall+  build-depends:+      Cabal >=2.2+    , Glob >=0.9.0+    , aeson >=1.2.1.0+    , base >=4.9 && <5+    , bifunctors+    , bytestring+    , containers+    , cryptonite+    , deepseq+    , directory+    , filepath+    , hpack+    , http-client+    , http-client-tls+    , http-types+    , infer-license >=0.2.0 && <0.3+    , pretty+    , scientific+    , text+    , transformers+    , unordered-containers+    , vector+    , yaml >=0.10.0+  default-language: Haskell2010++test-suite spec+  type: exitcode-stdio-1.0+  main-is: Spec.hs+  other-modules:+      Paths_hpack+  hs-source-dirs:+      test+      src+  ghc-options: -Wall+  cpp-options: -DTEST+  build-tool-depends:+      hspec-discover:hspec-discover+  build-depends:+      Cabal >=2.2+    , Glob >=0.9.0+    , HUnit >=1.6.0.0+    , QuickCheck+    , aeson >=1.2.1.0+    , base >=4.9 && <5+    , bifunctors+    , bytestring+    , containers+    , cryptonite+    , deepseq+    , directory+    , filepath+    , hspec ==2.*+    , http-client+    , http-client-tls+    , http-types+    , infer-license >=0.2.0 && <0.3+    , interpolate+    , mockery >=0.3+    , pretty+    , scientific+    , template-haskell+    , temporary+    , text+    , transformers+    , unordered-containers+    , vector+    , yaml >=0.10.0+  default-language: Haskell2010
+ test-suite-golden/test-files/real-world/hpack/hpack.dhall view
@@ -0,0 +1,72 @@+{ name =+    "hpack"+, version =+    "0.31.1"+, synopsis =+    "A modern format for Haskell packages"+, description =+    "See README at <https://github.com/sol/hpack#readme>"+, maintainer =+    "Simon Hengel <sol@typeful.net>"+, github =+    "sol/hpack"+, category =+    "Development"+, extra-source-files =+    [ "CHANGELOG.md" ]+, ghc-options =+    "-Wall"+, dependencies =+    [ "base >= 4.9 && < 5"+    , "bytestring"+    , "deepseq"+    , "directory"+    , "filepath"+    , "Glob >= 0.9.0"+    , "text"+    , "containers"+    , "unordered-containers"+    , "yaml >= 0.10.0"+    , "aeson >= 1.2.1.0"+    , "scientific"+    , "Cabal >= 2.2"+    , "pretty"+    , "bifunctors"+    , "cryptonite"+    , "transformers"+    , "http-types"+    , "http-client"+    , "http-client-tls"+    , "vector"+    , "infer-license >= 0.2.0 && < 0.3"+    ]+, library =+    { source-dirs =+        "src"+    , exposed-modules =+        [ "Hpack", "Hpack.Config", "Hpack.Render", "Hpack.Yaml" ]+    }+, executable =+    { main = "Main.hs", source-dirs = "driver", dependencies = [ "hpack" ] }+, tests =+    { spec =+        { cpp-options =+            "-DTEST"+        , main =+            "Spec.hs"+        , source-dirs =+            [ "test", "src" ]+        , dependencies =+            [ "hspec == 2.*"+            , "QuickCheck"+            , "temporary"+            , "mockery >= 0.3"+            , "interpolate"+            , "template-haskell"+            , "HUnit >= 1.6.0.0"+            ]+        , build-tools =+            "hspec-discover"+        }+    }+}
+ test-suite-golden/test-files/real-world/hpack/hpack.dhall-1.32.golden view
@@ -0,0 +1,55 @@+{ name = "hpack"+, version = "0.31.1"+, synopsis = "A modern format for Haskell packages"+, description = "See README at <https://github.com/sol/hpack#readme>"+, maintainer = "Simon Hengel <sol@typeful.net>"+, github = "sol/hpack"+, category = "Development"+, extra-source-files = [ "CHANGELOG.md" ]+, ghc-options = "-Wall"+, dependencies =+  [ "base >= 4.9 && < 5"+  , "bytestring"+  , "deepseq"+  , "directory"+  , "filepath"+  , "Glob >= 0.9.0"+  , "text"+  , "containers"+  , "unordered-containers"+  , "yaml >= 0.10.0"+  , "aeson >= 1.2.1.0"+  , "scientific"+  , "Cabal >= 2.2"+  , "pretty"+  , "bifunctors"+  , "cryptonite"+  , "transformers"+  , "http-types"+  , "http-client"+  , "http-client-tls"+  , "vector"+  , "infer-license >= 0.2.0 && < 0.3"+  ]+, library =+  { source-dirs = "src"+  , exposed-modules = [ "Hpack", "Hpack.Config", "Hpack.Render", "Hpack.Yaml" ]+  }+, executable =+  { main = "Main.hs", source-dirs = "driver", dependencies = [ "hpack" ] }+, tests.spec =+  { cpp-options = "-DTEST"+  , main = "Spec.hs"+  , source-dirs = [ "test", "src" ]+  , dependencies =+    [ "hspec == 2.*"+    , "QuickCheck"+    , "temporary"+    , "mockery >= 0.3"+    , "interpolate"+    , "template-haskell"+    , "HUnit >= 1.6.0.0"+    ]+  , build-tools = "hspec-discover"+  }+}
+ test-suite-golden/test-files/real-world/hpack/hpack.dhall-1.34.golden view
@@ -0,0 +1,56 @@+{ name = "hpack"+, version = "0.31.1"+, synopsis = "A modern format for Haskell packages"+, description = "See README at <https://github.com/sol/hpack#readme>"+, maintainer = "Simon Hengel <sol@typeful.net>"+, github = "sol/hpack"+, category = "Development"+, extra-source-files = [ "CHANGELOG.md" ]+, ghc-options = "-Wall"+, dependencies =+  [ "base >= 4.9 && < 5"+  , "bytestring"+  , "deepseq"+  , "directory"+  , "filepath"+  , "Glob >= 0.9.0"+  , "text"+  , "containers"+  , "unordered-containers"+  , "yaml >= 0.10.0"+  , "aeson >= 1.2.1.0"+  , "scientific"+  , "Cabal >= 2.2"+  , "pretty"+  , "bifunctors"+  , "cryptonite"+  , "transformers"+  , "http-types"+  , "http-client"+  , "http-client-tls"+  , "vector"+  , "infer-license >= 0.2.0 && < 0.3"+  ]+, library =+  { source-dirs = "src"+  , exposed-modules = [ "Hpack", "Hpack.Config", "Hpack.Render", "Hpack.Yaml" ]+  }+, executable =+  { main = "Main.hs", source-dirs = "driver", dependencies = [ "hpack" ] }+, tests.spec+  =+  { cpp-options = "-DTEST"+  , main = "Spec.hs"+  , source-dirs = [ "test", "src" ]+  , dependencies =+    [ "hspec == 2.*"+    , "QuickCheck"+    , "temporary"+    , "mockery >= 0.3"+    , "interpolate"+    , "template-haskell"+    , "HUnit >= 1.6.0.0"+    ]+  , build-tools = "hspec-discover"+  }+}
+ test-suite-golden/test-files/real-world/hpack/hpack.json view
@@ -0,0 +1,73 @@+{+    "name": "hpack",+    "version": "0.31.1",+    "synopsis": "A modern format for Haskell packages",+    "description": "See README at <https://github.com/sol/hpack#readme>",+    "category": "Development",+    "maintainer": "Simon Hengel <sol@typeful.net>",+    "github": "sol/hpack",+    "extra-source-files": [+        "CHANGELOG.md"+    ],+    "ghc-options": "-Wall",+    "dependencies": [+        "base >= 4.9 && < 5",+        "bytestring",+        "deepseq",+        "directory",+        "filepath",+        "Glob >= 0.9.0",+        "text",+        "containers",+        "unordered-containers",+        "yaml >= 0.10.0",+        "aeson >= 1.2.1.0",+        "scientific",+        "Cabal >= 2.2",+        "pretty",+        "bifunctors",+        "cryptonite",+        "transformers",+        "http-types",+        "http-client",+        "http-client-tls",+        "vector",+        "infer-license >= 0.2.0 && < 0.3"+    ],+    "library": {+        "exposed-modules": [+            "Hpack",+            "Hpack.Config",+            "Hpack.Render",+            "Hpack.Yaml"+        ],+        "source-dirs": "src"+    },+    "executable": {+        "main": "Main.hs",+        "source-dirs": "driver",+        "dependencies": [+            "hpack"+        ]+    },+    "tests": {+        "spec": {+            "main": "Spec.hs",+            "source-dirs": [+                "test",+                "src"+            ],+            "cpp-options": "-DTEST",+            "dependencies": [+                "hspec == 2.*",+                "QuickCheck",+                "temporary",+                "mockery >= 0.3",+                "interpolate",+                "template-haskell",+                "HUnit >= 1.6.0.0"+            ],+            "build-tools": "hspec-discover"+        }+    }+}
+ test-suite-golden/test-files/real-world/hpack/hpack.json.golden view
@@ -0,0 +1,73 @@+{+    "name": "hpack",+    "version": "0.31.1",+    "synopsis": "A modern format for Haskell packages",+    "description": "See README at <https://github.com/sol/hpack#readme>",+    "category": "Development",+    "maintainer": "Simon Hengel <sol@typeful.net>",+    "github": "sol/hpack",+    "extra-source-files": [+        "CHANGELOG.md"+    ],+    "ghc-options": "-Wall",+    "dependencies": [+        "base >= 4.9 && < 5",+        "bytestring",+        "deepseq",+        "directory",+        "filepath",+        "Glob >= 0.9.0",+        "text",+        "containers",+        "unordered-containers",+        "yaml >= 0.10.0",+        "aeson >= 1.2.1.0",+        "scientific",+        "Cabal >= 2.2",+        "pretty",+        "bifunctors",+        "cryptonite",+        "transformers",+        "http-types",+        "http-client",+        "http-client-tls",+        "vector",+        "infer-license >= 0.2.0 && < 0.3"+    ],+    "library": {+        "exposed-modules": [+            "Hpack",+            "Hpack.Config",+            "Hpack.Render",+            "Hpack.Yaml"+        ],+        "source-dirs": "src"+    },+    "executable": {+        "main": "Main.hs",+        "source-dirs": "driver",+        "dependencies": [+            "hpack"+        ]+    },+    "tests": {+        "spec": {+            "main": "Spec.hs",+            "source-dirs": [+                "test",+                "src"+            ],+            "cpp-options": "-DTEST",+            "dependencies": [+                "hspec == 2.*",+                "QuickCheck",+                "temporary",+                "mockery >= 0.3",+                "interpolate",+                "template-haskell",+                "HUnit >= 1.6.0.0"+            ],+            "build-tools": "hspec-discover"+        }+    }+}
+ test-suite-golden/test-files/real-world/hpack/hpack.yaml view
@@ -0,0 +1,61 @@+name: hpack+version: 0.31.1+synopsis: A modern format for Haskell packages+description: See README at <https://github.com/sol/hpack#readme>+category: Development+maintainer: Simon Hengel <sol@typeful.net>+github: sol/hpack+extra-source-files:+- CHANGELOG.md+ghc-options: -Wall+dependencies:+- base >= 4.9 && < 5+- bytestring+- deepseq+- directory+- filepath+- Glob >= 0.9.0+- text+- containers+- unordered-containers+- yaml >= 0.10.0+- aeson >= 1.2.1.0+- scientific+- Cabal >= 2.2+- pretty+- bifunctors+- cryptonite+- transformers+- http-types+- http-client+- http-client-tls+- vector+- infer-license >= 0.2.0 && < 0.3+library:+  exposed-modules:+  - Hpack+  - Hpack.Config+  - Hpack.Render+  - Hpack.Yaml+  source-dirs: src+executable:+  main: Main.hs+  source-dirs: driver+  dependencies:+  - hpack+tests:+  spec:+    main: Spec.hs+    source-dirs:+    - test+    - src+    cpp-options: -DTEST+    dependencies:+    - hspec == 2.*+    - QuickCheck+    - temporary+    - mockery >= 0.3+    - interpolate+    - template-haskell+    - HUnit >= 1.6.0.0+    build-tools: hspec-discover
+ test-suite-golden/test-files/real-world/hpack/hpack.yaml.cabal view
@@ -0,0 +1,134 @@+cabal-version: 1.12++-- This file has been generated from hpack.yaml by hpack version 0.34.4.+--+-- see: https://github.com/sol/hpack++name:           hpack+version:        0.31.1+synopsis:       A modern format for Haskell packages+description:    See README at <https://github.com/sol/hpack#readme>+category:       Development+homepage:       https://github.com/sol/hpack#readme+bug-reports:    https://github.com/sol/hpack/issues+maintainer:     Simon Hengel <sol@typeful.net>+build-type:     Simple+extra-source-files:+    CHANGELOG.md++source-repository head+  type: git+  location: https://github.com/sol/hpack++library+  exposed-modules:+      Hpack+      Hpack.Config+      Hpack.Render+      Hpack.Yaml+  other-modules:+      Paths_hpack+  hs-source-dirs:+      src+  ghc-options: -Wall+  build-depends:+      Cabal >=2.2+    , Glob >=0.9.0+    , aeson >=1.2.1.0+    , base >=4.9 && <5+    , bifunctors+    , bytestring+    , containers+    , cryptonite+    , deepseq+    , directory+    , filepath+    , http-client+    , http-client-tls+    , http-types+    , infer-license >=0.2.0 && <0.3+    , pretty+    , scientific+    , text+    , transformers+    , unordered-containers+    , vector+    , yaml >=0.10.0+  default-language: Haskell2010++executable hpack+  main-is: Main.hs+  other-modules:+      Paths_hpack+  hs-source-dirs:+      driver+  ghc-options: -Wall+  build-depends:+      Cabal >=2.2+    , Glob >=0.9.0+    , aeson >=1.2.1.0+    , base >=4.9 && <5+    , bifunctors+    , bytestring+    , containers+    , cryptonite+    , deepseq+    , directory+    , filepath+    , hpack+    , http-client+    , http-client-tls+    , http-types+    , infer-license >=0.2.0 && <0.3+    , pretty+    , scientific+    , text+    , transformers+    , unordered-containers+    , vector+    , yaml >=0.10.0+  default-language: Haskell2010++test-suite spec+  type: exitcode-stdio-1.0+  main-is: Spec.hs+  other-modules:+      Paths_hpack+  hs-source-dirs:+      test+      src+  ghc-options: -Wall+  cpp-options: -DTEST+  build-tool-depends:+      hspec-discover:hspec-discover+  build-depends:+      Cabal >=2.2+    , Glob >=0.9.0+    , HUnit >=1.6.0.0+    , QuickCheck+    , aeson >=1.2.1.0+    , base >=4.9 && <5+    , bifunctors+    , bytestring+    , containers+    , cryptonite+    , deepseq+    , directory+    , filepath+    , hspec ==2.*+    , http-client+    , http-client-tls+    , http-types+    , infer-license >=0.2.0 && <0.3+    , interpolate+    , mockery >=0.3+    , pretty+    , scientific+    , template-haskell+    , temporary+    , text+    , transformers+    , unordered-containers+    , vector+    , yaml >=0.10.0+  default-language: Haskell2010
+ test-suite-golden/test-files/real-world/hpack/hpack.yaml.golden view
@@ -0,0 +1,61 @@+name: hpack+version: 0.31.1+synopsis: A modern format for Haskell packages+description: See README at <https://github.com/sol/hpack#readme>+category: Development+maintainer: Simon Hengel <sol@typeful.net>+github: sol/hpack+extra-source-files:+- CHANGELOG.md+ghc-options: -Wall+dependencies:+- base >= 4.9 && < 5+- bytestring+- deepseq+- directory+- filepath+- Glob >= 0.9.0+- text+- containers+- unordered-containers+- yaml >= 0.10.0+- aeson >= 1.2.1.0+- scientific+- Cabal >= 2.2+- pretty+- bifunctors+- cryptonite+- transformers+- http-types+- http-client+- http-client-tls+- vector+- infer-license >= 0.2.0 && < 0.3+library:+  exposed-modules:+  - Hpack+  - Hpack.Config+  - Hpack.Render+  - Hpack.Yaml+  source-dirs: src+executable:+  main: Main.hs+  source-dirs: driver+  dependencies:+  - hpack+tests:+  spec:+    main: Spec.hs+    source-dirs:+    - test+    - src+    cpp-options: -DTEST+    dependencies:+    - hspec == 2.*+    - QuickCheck+    - temporary+    - mockery >= 0.3+    - interpolate+    - template-haskell+    - HUnit >= 1.6.0.0+    build-tools: hspec-discover
+ test-suite-golden/test-files/real-world/hpack/package.yaml view
@@ -0,0 +1,66 @@+name: hpack+version: 0.31.1+synopsis: A modern format for Haskell packages+description: See README at <https://github.com/sol/hpack#readme>+maintainer: Simon Hengel <sol@typeful.net>+github: sol/hpack+category: Development+extra-source-files:+  - CHANGELOG.md++ghc-options: -Wall++dependencies:+  - base >= 4.9 && < 5+  - bytestring+  - deepseq+  - directory+  - filepath+  - Glob >= 0.9.0+  - text+  - containers+  - unordered-containers+  - yaml >= 0.10.0+  - aeson >= 1.2.1.0+  - scientific+  - Cabal >= 2.2+  - pretty+  - bifunctors+  - cryptonite+  - transformers+  - http-types+  - http-client+  - http-client-tls+  - vector+  - infer-license >= 0.2.0 && < 0.3++library:+  source-dirs: src+  exposed-modules:+    - Hpack+    - Hpack.Config+    - Hpack.Render+    - Hpack.Yaml++executable:+  main: Main.hs+  source-dirs: driver+  dependencies:+    - hpack++tests:+  spec:+    cpp-options: -DTEST+    main: Spec.hs+    source-dirs:+      - test+      - src+    dependencies:+      - hspec == 2.*+      - QuickCheck+      - temporary+      - mockery >= 0.3+      - interpolate+      - template-haskell+      - HUnit >= 1.6.0.0+    build-tools: hspec-discover
+ test-suite-golden/test-files/real-world/stack/package.yaml view
@@ -0,0 +1,341 @@+name: stack+version: '1.10.0'+synopsis: The Haskell Tool Stack+description: ! 'Please see the README.md for usage information, and+  the wiki on Github for more details.  Also, note that+  the API for the library is not currently stable, and may+  change significantly, even between minor releases. It is+  currently only intended for use by the executable.'+category: Development+author: Commercial Haskell SIG+maintainer: manny@fpcomplete.com+license: BSD3+github: commercialhaskell/stack+homepage: http://haskellstack.org+custom-setup:+  dependencies:+  - base >=4.10 && < 5+  - Cabal >= 2.4+  - filepath+extra-source-files:+# note: leaving out 'package.yaml' because it causes confusion with hackage metadata revisions+- CONTRIBUTING.md+- ChangeLog.md+- README.md+- doc/*.md+- src/setup-shim/StackSetupShim.hs+- stack.yaml+- test/package-dump/ghc-7.10.txt+- test/package-dump/ghc-7.8.4-osx.txt+- test/package-dump/ghc-7.8.txt+ghc-options:+- -Wall+- -fwarn-tabs+- -fwarn-incomplete-uni-patterns+- -fwarn-incomplete-record-updates+- -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739)+dependencies:+- Cabal >= 2.4+- aeson+- annotated-wl-pprint+- ansi-terminal >= 0.8.1+- array+- async+- attoparsec+- base >=4.10 && < 5+- base64-bytestring+- bytestring+- colour+- conduit+- conduit-extra+- containers+- cryptonite+- cryptonite-conduit+- deepseq+- directory+- echo+- exceptions+- extra+- file-embed+- filelock+- filepath+- fsnotify+- generic-deriving+- hackage-security+- hashable+- hpack+- hpc+- http-client+- http-client-tls+- http-conduit+- http-types+- memory+- microlens+- mintty+# TODO remove dep when persistent drops monad-logger+- monad-logger+- mono-traversable+- mtl+- mustache+- neat-interpolation+- network-uri+- open-browser+- optparse-applicative+- pantry+- path+- path-io+- persistent+- persistent-sqlite+- persistent-template+- pretty+- primitive+- process+- project-template+- regex-applicative-text+- resourcet+- retry >= 0.7+- rio+- semigroups+- split+- stm+- store-core # FIXME remove+- streaming-commons+- tar+- template-haskell+- temporary+- text+- text-metrics+- th-reify-many+- time+- tls+- transformers+- typed-process+- unicode-transforms+- unix-compat+- unliftio >= 0.2.8.0+- unordered-containers+- vector+- yaml+- zip-archive+- zlib+when:+- condition: os(windows)+  then:+    cpp-options: -DWINDOWS+    dependencies:+    - Win32+  else:+    build-tools:+    - hsc2hs+    dependencies:+    - unix+library:+  source-dirs: src/+  ghc-options:+  - -fwarn-identities+  generated-exposed-modules:+  - Paths_stack+  exposed-modules:+  - Control.Concurrent.Execute+  - Data.Attoparsec.Args+  - Data.Attoparsec.Combinators+  - Data.Attoparsec.Interpreter+  - Data.Monoid.Map+  - Network.HTTP.Download+  - Network.HTTP.Download.Verified+  - Network.HTTP.StackClient+  - Options.Applicative.Args+  - Options.Applicative.Builder.Extra+  - Options.Applicative.Complicated+  - Path.CheckInstall+  - Path.Extra+  - Path.Find+  - Stack.Build+  - Stack.Build.Cache+  - Stack.Build.ConstructPlan+  - Stack.Build.Execute+  - Stack.Build.Haddock+  - Stack.Build.Installed+  - Stack.Build.Source+  - Stack.Build.Target+  - Stack.BuildPlan+  - Stack.Clean+  - Stack.Config+  - Stack.Config.Build+  - Stack.Config.Urls+  - Stack.Config.Docker+  - Stack.Config.Nix+  - Stack.ConfigCmd+  - Stack.Constants+  - Stack.Constants.Config+  - Stack.Coverage+  - Stack.DefaultColorWhen+  - Stack.DefaultStyles+  - Stack.Docker+  - Stack.Docker.GlobalDB+  - Stack.Dot+  - Stack.FileWatch+  - Stack.Freeze+  - Stack.GhcPkg+  - Stack.Ghci+  - Stack.Ghci.Script+  - Stack.Hoogle+  - Stack.IDE+  - Stack.Image+  - Stack.Init+  - Stack.Ls+  - Stack.New+  - Stack.Nix+  - Stack.Options.BenchParser+  - Stack.Options.BuildMonoidParser+  - Stack.Options.BuildParser+  - Stack.Options.CleanParser+  - Stack.Options.ConfigParser+  - Stack.Options.Completion+  - Stack.Options.DockerParser+  - Stack.Options.DotParser+  - Stack.Options.ExecParser+  - Stack.Options.FreezeParser+  - Stack.Options.GhcBuildParser+  - Stack.Options.GhciParser+  - Stack.Options.GhcVariantParser+  - Stack.Options.GlobalParser+  - Stack.Options.HaddockParser+  - Stack.Options.HpcReportParser+  - Stack.Options.LogLevelParser+  - Stack.Options.NewParser+  - Stack.Options.NixParser+  - Stack.Options.PackageParser+  - Stack.Options.ResolverParser+  - Stack.Options.ScriptParser+  - Stack.Options.SDistParser+  - Stack.Options.SolverParser+  - Stack.Options.TestParser+  - Stack.Options.Utils+  - Stack.Package+  - Stack.PackageDump+  - Stack.Path+  - Stack.Prelude+  - Stack.PrettyPrint+  - Stack.Runners+  - Stack.Script+  - Stack.SDist+  - Stack.Setup+  - Stack.Setup.Installed+  - Stack.SetupCmd+  - Stack.Sig+  - Stack.Sig.GPG+  - Stack.Sig.Sign+  - Stack.Snapshot+  - Stack.Solver+  - Stack.StoreTH+  - Stack.Types.Build+  - Stack.Types.BuildPlan+  - Stack.Types.CompilerBuild+  - Stack.Types.Urls+  - Stack.Types.Compiler+  - Stack.Types.Config+  - Stack.Types.Config.Build+  - Stack.Types.Docker+  - Stack.Types.GhcPkgId+  - Stack.Types.Image+  - Stack.Types.NamedComponent+  - Stack.Types.Nix+  - Stack.Types.Package+  - Stack.Types.PackageDump+  - Stack.Types.PackageName+  - Stack.Types.PrettyPrint+  - Stack.Types.Resolver+  - Stack.Types.Runner+  - Stack.Types.Sig+  - Stack.Types.StylesUpdate+  - Stack.Types.TemplateName+  - Stack.Types.Version+  - Stack.Types.VersionIntervals+  - Stack.Unpack+  - Stack.Upgrade+  - Stack.Upload+  - Text.PrettyPrint.Leijen.Extended+  - System.Permissions+  - System.Process.PagerEditor+  - System.Terminal+  when:+  - condition: 'os(windows)'+    then:+      source-dirs: src/windows/+    else:+      source-dirs: src/unix/+      c-sources: src/unix/cbits/uname.c+executables:+  stack:+    main: Main.hs+    source-dirs: src/main+    generated-other-modules:+    - Build_stack,+    - Paths_stack+    ghc-options:+    - -threaded+    - -rtsopts+    dependencies:+    - stack+    when:+    - condition: flag(static)+      ld-options:+      - -static+      - -pthread+    - condition: ! '!(flag(disable-git-info))'+      cpp-options: -DUSE_GIT_INFO+      dependencies:+      - githash+      - optparse-simple+    - condition: flag(hide-dependency-versions)+      cpp-options: -DHIDE_DEP_VERSIONS+    - condition: flag(supported-build)+      cpp-options: -DSUPPORTED_BUILD+tests:+  stack-test:+    main: Spec.hs+    source-dirs: src/test+    ghc-options:+    - -threaded+    dependencies:+    - QuickCheck+    - hspec+    - stack+    - smallcheck+  stack-integration-test:+    main: IntegrationSpec.hs+    source-dirs:+    - test/integration+    - test/integration/lib+    ghc-options:+    - -threaded+    - -rtsopts+    - -with-rtsopts=-N+    dependencies:+    - hspec+    when:+    - condition: ! '!(flag(integration-tests))'+      buildable: false+flags:+  static:+    description: Pass -static/-pthread to ghc when linking the stack binary.+    manual: true+    default: false+  disable-git-info:+    description: Disable compile-time inclusion of current git info in stack+    manual: true+    default: false+  hide-dependency-versions:+    description: Hides dependency versions from "stack --version", used only by building+      with stack.yaml+    manual: true+    default: false+  integration-tests:+    description: Run the integration test suite+    manual: true+    default: false+  supported-build:+    description: If false, causes "stack --version" to issue a warning about the build being unsupported.  True only if building with stack.yaml+    manual: true+    default: false
+ test-suite-golden/test-files/real-world/stack/stack.cabal view
@@ -0,0 +1,629 @@+cabal-version: 2.0++-- This file has been generated from stack.dhall by hpack version 0.31.1.+--+-- see: https://github.com/sol/hpack+--+-- hash: 33d90e3e81d97f3c404a9e20246cf4aa6942dc054db675cadd50b1edd68582ce++name:           stack+version:        1.10.0+synopsis:       The Haskell Tool Stack+description:    Please see the README.md for usage information, and+                the wiki on Github for more details.  Also, note that+                the API for the library is not currently stable, and may+                change significantly, even between minor releases. It is+                currently only intended for use by the executable.+category:       Development+homepage:       http://haskellstack.org+bug-reports:    https://github.com/commercialhaskell/stack/issues+author:         Commercial Haskell SIG+maintainer:     manny@fpcomplete.com+license:        BSD3+build-type:     Custom+extra-source-files:+    CONTRIBUTING.md+    ChangeLog.md+    README.md+    src/setup-shim/StackSetupShim.hs+    stack.yaml+    test/package-dump/ghc-7.10.txt+    test/package-dump/ghc-7.8.4-osx.txt+    test/package-dump/ghc-7.8.txt++source-repository head+  type: git+  location: https://github.com/commercialhaskell/stack++custom-setup+  setup-depends:+      Cabal >=2.4+    , base >=4.10 && <5+    , filepath++flag disable-git-info+  description: Disable compile-time inclusion of current git info in stack+  manual: True+  default: False++flag hide-dependency-versions+  description: Hides dependency versions from "stack --version", used only by building with stack.yaml+  manual: True+  default: False++flag integration-tests+  description: Run the integration test suite+  manual: True+  default: False++flag static+  description: Pass -static/-pthread to ghc when linking the stack binary.+  manual: True+  default: False++flag supported-build+  description: If false, causes "stack --version" to issue a warning about the build being unsupported.  True only if building with stack.yaml+  manual: True+  default: False++library+  exposed-modules:+      Control.Concurrent.Execute+      Data.Attoparsec.Args+      Data.Attoparsec.Combinators+      Data.Attoparsec.Interpreter+      Data.Monoid.Map+      Network.HTTP.Download+      Network.HTTP.Download.Verified+      Network.HTTP.StackClient+      Options.Applicative.Args+      Options.Applicative.Builder.Extra+      Options.Applicative.Complicated+      Path.CheckInstall+      Path.Extra+      Path.Find+      Stack.Build+      Stack.Build.Cache+      Stack.Build.ConstructPlan+      Stack.Build.Execute+      Stack.Build.Haddock+      Stack.Build.Installed+      Stack.Build.Source+      Stack.Build.Target+      Stack.BuildPlan+      Stack.Clean+      Stack.Config+      Stack.Config.Build+      Stack.Config.Urls+      Stack.Config.Docker+      Stack.Config.Nix+      Stack.ConfigCmd+      Stack.Constants+      Stack.Constants.Config+      Stack.Coverage+      Stack.DefaultColorWhen+      Stack.DefaultStyles+      Stack.Docker+      Stack.Docker.GlobalDB+      Stack.Dot+      Stack.FileWatch+      Stack.Freeze+      Stack.GhcPkg+      Stack.Ghci+      Stack.Ghci.Script+      Stack.Hoogle+      Stack.IDE+      Stack.Image+      Stack.Init+      Stack.Ls+      Stack.New+      Stack.Nix+      Stack.Options.BenchParser+      Stack.Options.BuildMonoidParser+      Stack.Options.BuildParser+      Stack.Options.CleanParser+      Stack.Options.ConfigParser+      Stack.Options.Completion+      Stack.Options.DockerParser+      Stack.Options.DotParser+      Stack.Options.ExecParser+      Stack.Options.FreezeParser+      Stack.Options.GhcBuildParser+      Stack.Options.GhciParser+      Stack.Options.GhcVariantParser+      Stack.Options.GlobalParser+      Stack.Options.HaddockParser+      Stack.Options.HpcReportParser+      Stack.Options.LogLevelParser+      Stack.Options.NewParser+      Stack.Options.NixParser+      Stack.Options.PackageParser+      Stack.Options.ResolverParser+      Stack.Options.ScriptParser+      Stack.Options.SDistParser+      Stack.Options.SolverParser+      Stack.Options.TestParser+      Stack.Options.Utils+      Stack.Package+      Stack.PackageDump+      Stack.Path+      Stack.Prelude+      Stack.PrettyPrint+      Stack.Runners+      Stack.Script+      Stack.SDist+      Stack.Setup+      Stack.Setup.Installed+      Stack.SetupCmd+      Stack.Sig+      Stack.Sig.GPG+      Stack.Sig.Sign+      Stack.Snapshot+      Stack.Solver+      Stack.StoreTH+      Stack.Types.Build+      Stack.Types.BuildPlan+      Stack.Types.CompilerBuild+      Stack.Types.Urls+      Stack.Types.Compiler+      Stack.Types.Config+      Stack.Types.Config.Build+      Stack.Types.Docker+      Stack.Types.GhcPkgId+      Stack.Types.Image+      Stack.Types.NamedComponent+      Stack.Types.Nix+      Stack.Types.Package+      Stack.Types.PackageDump+      Stack.Types.PackageName+      Stack.Types.PrettyPrint+      Stack.Types.Resolver+      Stack.Types.Runner+      Stack.Types.Sig+      Stack.Types.StylesUpdate+      Stack.Types.TemplateName+      Stack.Types.Version+      Stack.Types.VersionIntervals+      Stack.Unpack+      Stack.Upgrade+      Stack.Upload+      Text.PrettyPrint.Leijen.Extended+      System.Permissions+      System.Process.PagerEditor+      System.Terminal+      Paths_stack+  autogen-modules:+      Paths_stack+  hs-source-dirs:+      src/+  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -fwarn-identities+  build-depends:+      Cabal >=2.4+    , aeson+    , annotated-wl-pprint+    , ansi-terminal >=0.8.1+    , array+    , async+    , attoparsec+    , base >=4.10 && <5+    , base64-bytestring+    , bytestring+    , colour+    , conduit+    , conduit-extra+    , containers+    , cryptonite+    , cryptonite-conduit+    , deepseq+    , directory+    , echo+    , exceptions+    , extra+    , file-embed+    , filelock+    , filepath+    , fsnotify+    , generic-deriving+    , hackage-security+    , hashable+    , hpack+    , hpc+    , http-client+    , http-client-tls+    , http-conduit+    , http-types+    , memory+    , microlens+    , mintty+    , monad-logger+    , mono-traversable+    , mtl+    , mustache+    , neat-interpolation+    , network-uri+    , open-browser+    , optparse-applicative+    , pantry+    , path+    , path-io+    , persistent+    , persistent-sqlite+    , persistent-template+    , pretty+    , primitive+    , process+    , project-template+    , regex-applicative-text+    , resourcet+    , retry >=0.7+    , rio+    , semigroups+    , split+    , stm+    , store-core+    , streaming-commons+    , tar+    , template-haskell+    , temporary+    , text+    , text-metrics+    , th-reify-many+    , time+    , tls+    , transformers+    , typed-process+    , unicode-transforms+    , unix-compat+    , unliftio >=0.2.8.0+    , unordered-containers+    , vector+    , yaml+    , zip-archive+    , zlib+  if os(windows)+    cpp-options: -DWINDOWS+    build-depends:+        Win32+  else+    build-tools:+        hsc2hs+    build-depends:+        unix+  if os(windows)+    hs-source-dirs:+        src/windows/+  else+    hs-source-dirs:+        src/unix/+    c-sources:+        src/unix/cbits/uname.c+  default-language: Haskell2010++executable stack+  main-is: Main.hs+  other-modules:+      Build_stack+      Paths_stack+  autogen-modules:+      Build_stack+      Paths_stack+  hs-source-dirs:+      src/main+  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded -rtsopts+  build-depends:+      Cabal >=2.4+    , aeson+    , annotated-wl-pprint+    , ansi-terminal >=0.8.1+    , array+    , async+    , attoparsec+    , base >=4.10 && <5+    , base64-bytestring+    , bytestring+    , colour+    , conduit+    , conduit-extra+    , containers+    , cryptonite+    , cryptonite-conduit+    , deepseq+    , directory+    , echo+    , exceptions+    , extra+    , file-embed+    , filelock+    , filepath+    , fsnotify+    , generic-deriving+    , hackage-security+    , hashable+    , hpack+    , hpc+    , http-client+    , http-client-tls+    , http-conduit+    , http-types+    , memory+    , microlens+    , mintty+    , monad-logger+    , mono-traversable+    , mtl+    , mustache+    , neat-interpolation+    , network-uri+    , open-browser+    , optparse-applicative+    , pantry+    , path+    , path-io+    , persistent+    , persistent-sqlite+    , persistent-template+    , pretty+    , primitive+    , process+    , project-template+    , regex-applicative-text+    , resourcet+    , retry >=0.7+    , rio+    , semigroups+    , split+    , stack+    , stm+    , store-core+    , streaming-commons+    , tar+    , template-haskell+    , temporary+    , text+    , text-metrics+    , th-reify-many+    , time+    , tls+    , transformers+    , typed-process+    , unicode-transforms+    , unix-compat+    , unliftio >=0.2.8.0+    , unordered-containers+    , vector+    , yaml+    , zip-archive+    , zlib+  if os(windows)+    cpp-options: -DWINDOWS+    build-depends:+        Win32+  else+    build-tools:+        hsc2hs+    build-depends:+        unix+  if flag(static)+    ld-options: -static -pthread+  if !(flag(disable-git-info))+    cpp-options: -DUSE_GIT_INFO+    build-depends:+        githash+      , optparse-simple+  if flag(hide-dependency-versions)+    cpp-options: -DHIDE_DEP_VERSIONS+  if flag(supported-build)+    cpp-options: -DSUPPORTED_BUILD+  default-language: Haskell2010++test-suite stack-integration-test+  type: exitcode-stdio-1.0+  main-is: IntegrationSpec.hs+  other-modules:+      Paths_stack+  hs-source-dirs:+      test/integration+      test/integration/lib+  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded -rtsopts -with-rtsopts=-N+  build-depends:+      Cabal >=2.4+    , aeson+    , annotated-wl-pprint+    , ansi-terminal >=0.8.1+    , array+    , async+    , attoparsec+    , base >=4.10 && <5+    , base64-bytestring+    , bytestring+    , colour+    , conduit+    , conduit-extra+    , containers+    , cryptonite+    , cryptonite-conduit+    , deepseq+    , directory+    , echo+    , exceptions+    , extra+    , file-embed+    , filelock+    , filepath+    , fsnotify+    , generic-deriving+    , hackage-security+    , hashable+    , hpack+    , hpc+    , hspec+    , http-client+    , http-client-tls+    , http-conduit+    , http-types+    , memory+    , microlens+    , mintty+    , monad-logger+    , mono-traversable+    , mtl+    , mustache+    , neat-interpolation+    , network-uri+    , open-browser+    , optparse-applicative+    , pantry+    , path+    , path-io+    , persistent+    , persistent-sqlite+    , persistent-template+    , pretty+    , primitive+    , process+    , project-template+    , regex-applicative-text+    , resourcet+    , retry >=0.7+    , rio+    , semigroups+    , split+    , stm+    , store-core+    , streaming-commons+    , tar+    , template-haskell+    , temporary+    , text+    , text-metrics+    , th-reify-many+    , time+    , tls+    , transformers+    , typed-process+    , unicode-transforms+    , unix-compat+    , unliftio >=0.2.8.0+    , unordered-containers+    , vector+    , yaml+    , zip-archive+    , zlib+  if os(windows)+    cpp-options: -DWINDOWS+    build-depends:+        Win32+  else+    build-tools:+        hsc2hs+    build-depends:+        unix+  if !flag(integration-tests)+    buildable: False+  default-language: Haskell2010++test-suite stack-test+  type: exitcode-stdio-1.0+  main-is: Spec.hs+  other-modules:+      Paths_stack+  hs-source-dirs:+      src/test+  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded+  build-depends:+      Cabal >=2.4+    , QuickCheck+    , aeson+    , annotated-wl-pprint+    , ansi-terminal >=0.8.1+    , array+    , async+    , attoparsec+    , base >=4.10 && <5+    , base64-bytestring+    , bytestring+    , colour+    , conduit+    , conduit-extra+    , containers+    , cryptonite+    , cryptonite-conduit+    , deepseq+    , directory+    , echo+    , exceptions+    , extra+    , file-embed+    , filelock+    , filepath+    , fsnotify+    , generic-deriving+    , hackage-security+    , hashable+    , hpack+    , hpc+    , hspec+    , http-client+    , http-client-tls+    , http-conduit+    , http-types+    , memory+    , microlens+    , mintty+    , monad-logger+    , mono-traversable+    , mtl+    , mustache+    , neat-interpolation+    , network-uri+    , open-browser+    , optparse-applicative+    , pantry+    , path+    , path-io+    , persistent+    , persistent-sqlite+    , persistent-template+    , pretty+    , primitive+    , process+    , project-template+    , regex-applicative-text+    , resourcet+    , retry >=0.7+    , rio+    , semigroups+    , smallcheck+    , split+    , stack+    , stm+    , store-core+    , streaming-commons+    , tar+    , template-haskell+    , temporary+    , text+    , text-metrics+    , th-reify-many+    , time+    , tls+    , transformers+    , typed-process+    , unicode-transforms+    , unix-compat+    , unliftio >=0.2.8.0+    , unordered-containers+    , vector+    , yaml+    , zip-archive+    , zlib+  if os(windows)+    cpp-options: -DWINDOWS+    build-depends:+        Win32+  else+    build-tools:+        hsc2hs+    build-depends:+        unix+  default-language: Haskell2010
+ test-suite-golden/test-files/real-world/stack/stack.cabal.golden view
@@ -0,0 +1,629 @@+cabal-version: 2.0++-- This file has been generated from stack.dhall by hpack version 0.31.1.+--+-- see: https://github.com/sol/hpack+--+-- hash: 33d90e3e81d97f3c404a9e20246cf4aa6942dc054db675cadd50b1edd68582ce++name:           stack+version:        1.10.0+synopsis:       The Haskell Tool Stack+description:    Please see the README.md for usage information, and+                the wiki on Github for more details.  Also, note that+                the API for the library is not currently stable, and may+                change significantly, even between minor releases. It is+                currently only intended for use by the executable.+category:       Development+homepage:       http://haskellstack.org+bug-reports:    https://github.com/commercialhaskell/stack/issues+author:         Commercial Haskell SIG+maintainer:     manny@fpcomplete.com+license:        BSD3+build-type:     Custom+extra-source-files:+    CONTRIBUTING.md+    ChangeLog.md+    README.md+    src/setup-shim/StackSetupShim.hs+    stack.yaml+    test/package-dump/ghc-7.10.txt+    test/package-dump/ghc-7.8.4-osx.txt+    test/package-dump/ghc-7.8.txt++source-repository head+  type: git+  location: https://github.com/commercialhaskell/stack++custom-setup+  setup-depends:+      Cabal >=2.4+    , base >=4.10 && <5+    , filepath++flag disable-git-info+  description: Disable compile-time inclusion of current git info in stack+  manual: True+  default: False++flag hide-dependency-versions+  description: Hides dependency versions from "stack --version", used only by building with stack.yaml+  manual: True+  default: False++flag integration-tests+  description: Run the integration test suite+  manual: True+  default: False++flag static+  description: Pass -static/-pthread to ghc when linking the stack binary.+  manual: True+  default: False++flag supported-build+  description: If false, causes "stack --version" to issue a warning about the build being unsupported.  True only if building with stack.yaml+  manual: True+  default: False++library+  exposed-modules:+      Control.Concurrent.Execute+      Data.Attoparsec.Args+      Data.Attoparsec.Combinators+      Data.Attoparsec.Interpreter+      Data.Monoid.Map+      Network.HTTP.Download+      Network.HTTP.Download.Verified+      Network.HTTP.StackClient+      Options.Applicative.Args+      Options.Applicative.Builder.Extra+      Options.Applicative.Complicated+      Path.CheckInstall+      Path.Extra+      Path.Find+      Stack.Build+      Stack.Build.Cache+      Stack.Build.ConstructPlan+      Stack.Build.Execute+      Stack.Build.Haddock+      Stack.Build.Installed+      Stack.Build.Source+      Stack.Build.Target+      Stack.BuildPlan+      Stack.Clean+      Stack.Config+      Stack.Config.Build+      Stack.Config.Urls+      Stack.Config.Docker+      Stack.Config.Nix+      Stack.ConfigCmd+      Stack.Constants+      Stack.Constants.Config+      Stack.Coverage+      Stack.DefaultColorWhen+      Stack.DefaultStyles+      Stack.Docker+      Stack.Docker.GlobalDB+      Stack.Dot+      Stack.FileWatch+      Stack.Freeze+      Stack.GhcPkg+      Stack.Ghci+      Stack.Ghci.Script+      Stack.Hoogle+      Stack.IDE+      Stack.Image+      Stack.Init+      Stack.Ls+      Stack.New+      Stack.Nix+      Stack.Options.BenchParser+      Stack.Options.BuildMonoidParser+      Stack.Options.BuildParser+      Stack.Options.CleanParser+      Stack.Options.ConfigParser+      Stack.Options.Completion+      Stack.Options.DockerParser+      Stack.Options.DotParser+      Stack.Options.ExecParser+      Stack.Options.FreezeParser+      Stack.Options.GhcBuildParser+      Stack.Options.GhciParser+      Stack.Options.GhcVariantParser+      Stack.Options.GlobalParser+      Stack.Options.HaddockParser+      Stack.Options.HpcReportParser+      Stack.Options.LogLevelParser+      Stack.Options.NewParser+      Stack.Options.NixParser+      Stack.Options.PackageParser+      Stack.Options.ResolverParser+      Stack.Options.ScriptParser+      Stack.Options.SDistParser+      Stack.Options.SolverParser+      Stack.Options.TestParser+      Stack.Options.Utils+      Stack.Package+      Stack.PackageDump+      Stack.Path+      Stack.Prelude+      Stack.PrettyPrint+      Stack.Runners+      Stack.Script+      Stack.SDist+      Stack.Setup+      Stack.Setup.Installed+      Stack.SetupCmd+      Stack.Sig+      Stack.Sig.GPG+      Stack.Sig.Sign+      Stack.Snapshot+      Stack.Solver+      Stack.StoreTH+      Stack.Types.Build+      Stack.Types.BuildPlan+      Stack.Types.CompilerBuild+      Stack.Types.Urls+      Stack.Types.Compiler+      Stack.Types.Config+      Stack.Types.Config.Build+      Stack.Types.Docker+      Stack.Types.GhcPkgId+      Stack.Types.Image+      Stack.Types.NamedComponent+      Stack.Types.Nix+      Stack.Types.Package+      Stack.Types.PackageDump+      Stack.Types.PackageName+      Stack.Types.PrettyPrint+      Stack.Types.Resolver+      Stack.Types.Runner+      Stack.Types.Sig+      Stack.Types.StylesUpdate+      Stack.Types.TemplateName+      Stack.Types.Version+      Stack.Types.VersionIntervals+      Stack.Unpack+      Stack.Upgrade+      Stack.Upload+      Text.PrettyPrint.Leijen.Extended+      System.Permissions+      System.Process.PagerEditor+      System.Terminal+      Paths_stack+  autogen-modules:+      Paths_stack+  hs-source-dirs:+      src/+  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -fwarn-identities+  build-depends:+      Cabal >=2.4+    , aeson+    , annotated-wl-pprint+    , ansi-terminal >=0.8.1+    , array+    , async+    , attoparsec+    , base >=4.10 && <5+    , base64-bytestring+    , bytestring+    , colour+    , conduit+    , conduit-extra+    , containers+    , cryptonite+    , cryptonite-conduit+    , deepseq+    , directory+    , echo+    , exceptions+    , extra+    , file-embed+    , filelock+    , filepath+    , fsnotify+    , generic-deriving+    , hackage-security+    , hashable+    , hpack+    , hpc+    , http-client+    , http-client-tls+    , http-conduit+    , http-types+    , memory+    , microlens+    , mintty+    , monad-logger+    , mono-traversable+    , mtl+    , mustache+    , neat-interpolation+    , network-uri+    , open-browser+    , optparse-applicative+    , pantry+    , path+    , path-io+    , persistent+    , persistent-sqlite+    , persistent-template+    , pretty+    , primitive+    , process+    , project-template+    , regex-applicative-text+    , resourcet+    , retry >=0.7+    , rio+    , semigroups+    , split+    , stm+    , store-core+    , streaming-commons+    , tar+    , template-haskell+    , temporary+    , text+    , text-metrics+    , th-reify-many+    , time+    , tls+    , transformers+    , typed-process+    , unicode-transforms+    , unix-compat+    , unliftio >=0.2.8.0+    , unordered-containers+    , vector+    , yaml+    , zip-archive+    , zlib+  if os(windows)+    cpp-options: -DWINDOWS+    build-depends:+        Win32+  else+    build-tools:+        hsc2hs+    build-depends:+        unix+  if os(windows)+    hs-source-dirs:+        src/windows/+  else+    hs-source-dirs:+        src/unix/+    c-sources:+        src/unix/cbits/uname.c+  default-language: Haskell2010++executable stack+  main-is: Main.hs+  other-modules:+      Build_stack+      Paths_stack+  autogen-modules:+      Build_stack+      Paths_stack+  hs-source-dirs:+      src/main+  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded -rtsopts+  build-depends:+      Cabal >=2.4+    , aeson+    , annotated-wl-pprint+    , ansi-terminal >=0.8.1+    , array+    , async+    , attoparsec+    , base >=4.10 && <5+    , base64-bytestring+    , bytestring+    , colour+    , conduit+    , conduit-extra+    , containers+    , cryptonite+    , cryptonite-conduit+    , deepseq+    , directory+    , echo+    , exceptions+    , extra+    , file-embed+    , filelock+    , filepath+    , fsnotify+    , generic-deriving+    , hackage-security+    , hashable+    , hpack+    , hpc+    , http-client+    , http-client-tls+    , http-conduit+    , http-types+    , memory+    , microlens+    , mintty+    , monad-logger+    , mono-traversable+    , mtl+    , mustache+    , neat-interpolation+    , network-uri+    , open-browser+    , optparse-applicative+    , pantry+    , path+    , path-io+    , persistent+    , persistent-sqlite+    , persistent-template+    , pretty+    , primitive+    , process+    , project-template+    , regex-applicative-text+    , resourcet+    , retry >=0.7+    , rio+    , semigroups+    , split+    , stack+    , stm+    , store-core+    , streaming-commons+    , tar+    , template-haskell+    , temporary+    , text+    , text-metrics+    , th-reify-many+    , time+    , tls+    , transformers+    , typed-process+    , unicode-transforms+    , unix-compat+    , unliftio >=0.2.8.0+    , unordered-containers+    , vector+    , yaml+    , zip-archive+    , zlib+  if os(windows)+    cpp-options: -DWINDOWS+    build-depends:+        Win32+  else+    build-tools:+        hsc2hs+    build-depends:+        unix+  if flag(static)+    ld-options: -static -pthread+  if !(flag(disable-git-info))+    cpp-options: -DUSE_GIT_INFO+    build-depends:+        githash+      , optparse-simple+  if flag(hide-dependency-versions)+    cpp-options: -DHIDE_DEP_VERSIONS+  if flag(supported-build)+    cpp-options: -DSUPPORTED_BUILD+  default-language: Haskell2010++test-suite stack-integration-test+  type: exitcode-stdio-1.0+  main-is: IntegrationSpec.hs+  other-modules:+      Paths_stack+  hs-source-dirs:+      test/integration+      test/integration/lib+  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded -rtsopts -with-rtsopts=-N+  build-depends:+      Cabal >=2.4+    , aeson+    , annotated-wl-pprint+    , ansi-terminal >=0.8.1+    , array+    , async+    , attoparsec+    , base >=4.10 && <5+    , base64-bytestring+    , bytestring+    , colour+    , conduit+    , conduit-extra+    , containers+    , cryptonite+    , cryptonite-conduit+    , deepseq+    , directory+    , echo+    , exceptions+    , extra+    , file-embed+    , filelock+    , filepath+    , fsnotify+    , generic-deriving+    , hackage-security+    , hashable+    , hpack+    , hpc+    , hspec+    , http-client+    , http-client-tls+    , http-conduit+    , http-types+    , memory+    , microlens+    , mintty+    , monad-logger+    , mono-traversable+    , mtl+    , mustache+    , neat-interpolation+    , network-uri+    , open-browser+    , optparse-applicative+    , pantry+    , path+    , path-io+    , persistent+    , persistent-sqlite+    , persistent-template+    , pretty+    , primitive+    , process+    , project-template+    , regex-applicative-text+    , resourcet+    , retry >=0.7+    , rio+    , semigroups+    , split+    , stm+    , store-core+    , streaming-commons+    , tar+    , template-haskell+    , temporary+    , text+    , text-metrics+    , th-reify-many+    , time+    , tls+    , transformers+    , typed-process+    , unicode-transforms+    , unix-compat+    , unliftio >=0.2.8.0+    , unordered-containers+    , vector+    , yaml+    , zip-archive+    , zlib+  if os(windows)+    cpp-options: -DWINDOWS+    build-depends:+        Win32+  else+    build-tools:+        hsc2hs+    build-depends:+        unix+  if !flag(integration-tests)+    buildable: False+  default-language: Haskell2010++test-suite stack-test+  type: exitcode-stdio-1.0+  main-is: Spec.hs+  other-modules:+      Paths_stack+  hs-source-dirs:+      src/test+  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded+  build-depends:+      Cabal >=2.4+    , QuickCheck+    , aeson+    , annotated-wl-pprint+    , ansi-terminal >=0.8.1+    , array+    , async+    , attoparsec+    , base >=4.10 && <5+    , base64-bytestring+    , bytestring+    , colour+    , conduit+    , conduit-extra+    , containers+    , cryptonite+    , cryptonite-conduit+    , deepseq+    , directory+    , echo+    , exceptions+    , extra+    , file-embed+    , filelock+    , filepath+    , fsnotify+    , generic-deriving+    , hackage-security+    , hashable+    , hpack+    , hpc+    , hspec+    , http-client+    , http-client-tls+    , http-conduit+    , http-types+    , memory+    , microlens+    , mintty+    , monad-logger+    , mono-traversable+    , mtl+    , mustache+    , neat-interpolation+    , network-uri+    , open-browser+    , optparse-applicative+    , pantry+    , path+    , path-io+    , persistent+    , persistent-sqlite+    , persistent-template+    , pretty+    , primitive+    , process+    , project-template+    , regex-applicative-text+    , resourcet+    , retry >=0.7+    , rio+    , semigroups+    , smallcheck+    , split+    , stack+    , stm+    , store-core+    , streaming-commons+    , tar+    , template-haskell+    , temporary+    , text+    , text-metrics+    , th-reify-many+    , time+    , tls+    , transformers+    , typed-process+    , unicode-transforms+    , unix-compat+    , unliftio >=0.2.8.0+    , unordered-containers+    , vector+    , yaml+    , zip-archive+    , zlib+  if os(windows)+    cpp-options: -DWINDOWS+    build-depends:+        Win32+  else+    build-tools:+        hsc2hs+    build-depends:+        unix+  default-language: Haskell2010
+ test-suite-golden/test-files/real-world/stack/stack.dhall view
@@ -0,0 +1,401 @@+{ name =+    "stack"+, version =+    "1.10.0"+, synopsis =+    "The Haskell Tool Stack"+, description =+    ''+    Please see the README.md for usage information, and+    the wiki on Github for more details.  Also, note that+    the API for the library is not currently stable, and may+    change significantly, even between minor releases. It is+    currently only intended for use by the executable.''+, category =+    "Development"+, author =+    "Commercial Haskell SIG"+, maintainer =+    "manny@fpcomplete.com"+, license =+    "BSD3"+, github =+    "commercialhaskell/stack"+, homepage =+    "http://haskellstack.org"+, custom-setup =+    { dependencies = [ "base >=4.10 && < 5", "Cabal >= 2.4", "filepath" ] }+, extra-source-files =+    [ "CONTRIBUTING.md"+    , "ChangeLog.md"+    , "README.md"+    , "doc/*.md"+    , "src/setup-shim/StackSetupShim.hs"+    , "stack.yaml"+    , "test/package-dump/ghc-7.10.txt"+    , "test/package-dump/ghc-7.8.4-osx.txt"+    , "test/package-dump/ghc-7.8.txt"+    ]+, ghc-options =+    [ "-Wall"+    , "-fwarn-tabs"+    , "-fwarn-incomplete-uni-patterns"+    , "-fwarn-incomplete-record-updates"+    , "-optP-Wno-nonportable-include-path # workaround [Filename case on macOS \u00B7 Issue #4739 \u00B7 haskell/cabal](https://github.com/haskell/cabal/issues/4739)"+    ]+, dependencies =+    [ "Cabal >= 2.4"+    , "aeson"+    , "annotated-wl-pprint"+    , "ansi-terminal >= 0.8.1"+    , "array"+    , "async"+    , "attoparsec"+    , "base >=4.10 && < 5"+    , "base64-bytestring"+    , "bytestring"+    , "colour"+    , "conduit"+    , "conduit-extra"+    , "containers"+    , "cryptonite"+    , "cryptonite-conduit"+    , "deepseq"+    , "directory"+    , "echo"+    , "exceptions"+    , "extra"+    , "file-embed"+    , "filelock"+    , "filepath"+    , "fsnotify"+    , "generic-deriving"+    , "hackage-security"+    , "hashable"+    , "hpack"+    , "hpc"+    , "http-client"+    , "http-client-tls"+    , "http-conduit"+    , "http-types"+    , "memory"+    , "microlens"+    , "mintty"+    , "monad-logger"+    , "mono-traversable"+    , "mtl"+    , "mustache"+    , "neat-interpolation"+    , "network-uri"+    , "open-browser"+    , "optparse-applicative"+    , "pantry"+    , "path"+    , "path-io"+    , "persistent"+    , "persistent-sqlite"+    , "persistent-template"+    , "pretty"+    , "primitive"+    , "process"+    , "project-template"+    , "regex-applicative-text"+    , "resourcet"+    , "retry >= 0.7"+    , "rio"+    , "semigroups"+    , "split"+    , "stm"+    , "store-core"+    , "streaming-commons"+    , "tar"+    , "template-haskell"+    , "temporary"+    , "text"+    , "text-metrics"+    , "th-reify-many"+    , "time"+    , "tls"+    , "transformers"+    , "typed-process"+    , "unicode-transforms"+    , "unix-compat"+    , "unliftio >= 0.2.8.0"+    , "unordered-containers"+    , "vector"+    , "yaml"+    , "zip-archive"+    , "zlib"+    ]+, when =+    { condition =+        "os(windows)"+    , `then` =+        { cpp-options = [ "-DWINDOWS" ], dependencies = [ "Win32" ] }+    , `else` =+        { build-tools = [ "hsc2hs" ], dependencies = [ "unix" ] }+    }+, library =+    { source-dirs =+        "src/"+    , ghc-options =+        [ "-fwarn-identities" ]+    , generated-exposed-modules =+        [ "Paths_stack" ]+    , exposed-modules =+        [ "Control.Concurrent.Execute"+        , "Data.Attoparsec.Args"+        , "Data.Attoparsec.Combinators"+        , "Data.Attoparsec.Interpreter"+        , "Data.Monoid.Map"+        , "Network.HTTP.Download"+        , "Network.HTTP.Download.Verified"+        , "Network.HTTP.StackClient"+        , "Options.Applicative.Args"+        , "Options.Applicative.Builder.Extra"+        , "Options.Applicative.Complicated"+        , "Path.CheckInstall"+        , "Path.Extra"+        , "Path.Find"+        , "Stack.Build"+        , "Stack.Build.Cache"+        , "Stack.Build.ConstructPlan"+        , "Stack.Build.Execute"+        , "Stack.Build.Haddock"+        , "Stack.Build.Installed"+        , "Stack.Build.Source"+        , "Stack.Build.Target"+        , "Stack.BuildPlan"+        , "Stack.Clean"+        , "Stack.Config"+        , "Stack.Config.Build"+        , "Stack.Config.Urls"+        , "Stack.Config.Docker"+        , "Stack.Config.Nix"+        , "Stack.ConfigCmd"+        , "Stack.Constants"+        , "Stack.Constants.Config"+        , "Stack.Coverage"+        , "Stack.DefaultColorWhen"+        , "Stack.DefaultStyles"+        , "Stack.Docker"+        , "Stack.Docker.GlobalDB"+        , "Stack.Dot"+        , "Stack.FileWatch"+        , "Stack.Freeze"+        , "Stack.GhcPkg"+        , "Stack.Ghci"+        , "Stack.Ghci.Script"+        , "Stack.Hoogle"+        , "Stack.IDE"+        , "Stack.Image"+        , "Stack.Init"+        , "Stack.Ls"+        , "Stack.New"+        , "Stack.Nix"+        , "Stack.Options.BenchParser"+        , "Stack.Options.BuildMonoidParser"+        , "Stack.Options.BuildParser"+        , "Stack.Options.CleanParser"+        , "Stack.Options.ConfigParser"+        , "Stack.Options.Completion"+        , "Stack.Options.DockerParser"+        , "Stack.Options.DotParser"+        , "Stack.Options.ExecParser"+        , "Stack.Options.FreezeParser"+        , "Stack.Options.GhcBuildParser"+        , "Stack.Options.GhciParser"+        , "Stack.Options.GhcVariantParser"+        , "Stack.Options.GlobalParser"+        , "Stack.Options.HaddockParser"+        , "Stack.Options.HpcReportParser"+        , "Stack.Options.LogLevelParser"+        , "Stack.Options.NewParser"+        , "Stack.Options.NixParser"+        , "Stack.Options.PackageParser"+        , "Stack.Options.ResolverParser"+        , "Stack.Options.ScriptParser"+        , "Stack.Options.SDistParser"+        , "Stack.Options.SolverParser"+        , "Stack.Options.TestParser"+        , "Stack.Options.Utils"+        , "Stack.Package"+        , "Stack.PackageDump"+        , "Stack.Path"+        , "Stack.Prelude"+        , "Stack.PrettyPrint"+        , "Stack.Runners"+        , "Stack.Script"+        , "Stack.SDist"+        , "Stack.Setup"+        , "Stack.Setup.Installed"+        , "Stack.SetupCmd"+        , "Stack.Sig"+        , "Stack.Sig.GPG"+        , "Stack.Sig.Sign"+        , "Stack.Snapshot"+        , "Stack.Solver"+        , "Stack.StoreTH"+        , "Stack.Types.Build"+        , "Stack.Types.BuildPlan"+        , "Stack.Types.CompilerBuild"+        , "Stack.Types.Urls"+        , "Stack.Types.Compiler"+        , "Stack.Types.Config"+        , "Stack.Types.Config.Build"+        , "Stack.Types.Docker"+        , "Stack.Types.GhcPkgId"+        , "Stack.Types.Image"+        , "Stack.Types.NamedComponent"+        , "Stack.Types.Nix"+        , "Stack.Types.Package"+        , "Stack.Types.PackageDump"+        , "Stack.Types.PackageName"+        , "Stack.Types.PrettyPrint"+        , "Stack.Types.Resolver"+        , "Stack.Types.Runner"+        , "Stack.Types.Sig"+        , "Stack.Types.StylesUpdate"+        , "Stack.Types.TemplateName"+        , "Stack.Types.Version"+        , "Stack.Types.VersionIntervals"+        , "Stack.Unpack"+        , "Stack.Upgrade"+        , "Stack.Upload"+        , "Text.PrettyPrint.Leijen.Extended"+        , "System.Permissions"+        , "System.Process.PagerEditor"+        , "System.Terminal"+        ]+    , when =+        { condition =+            "os(windows)"+        , `then` =+            { source-dirs = [ "src/windows/" ] }+        , `else` =+            { source-dirs =+                [ "src/unix/" ]+            , c-sources =+                [ "src/unix/cbits/uname.c" ]+            }+        }+    }+, executables =+    { stack =+        { main =+            "Main.hs"+        , source-dirs =+            [ "src/main" ]+        , generated-other-modules =+            [ "Build_stack", "Paths_stack" ]+        , ghc-options =+            [ "-threaded", "-rtsopts" ]+        , dependencies =+            [ "stack" ]+        , when =+            [ { condition =+                  "flag(static)"+              , cpp-options =+                  [] : List Text+              , dependencies =+                  [] : List Text+              , ld-options =+                  [ "-static", "-pthread" ]+              }+            , { condition =+                  "!(flag(disable-git-info))"+              , cpp-options =+                  [ "-DUSE_GIT_INFO" ]+              , dependencies =+                  [ "githash", "optparse-simple" ]+              , ld-options =+                  [] : List Text+              }+            , { condition =+                  "flag(hide-dependency-versions)"+              , cpp-options =+                  [ "-DHIDE_DEP_VERSIONS" ]+              , dependencies =+                  [] : List Text+              , ld-options =+                  [] : List Text+              }+            , { condition =+                  "flag(supported-build)"+              , cpp-options =+                  [ "-DSUPPORTED_BUILD" ]+              , dependencies =+                  [] : List Text+              , ld-options =+                  [] : List Text+              }+            ]+        }+    }+, tests =+    { stack-test =+        { main =+            "Spec.hs"+        , source-dirs =+            [ "src/test" ]+        , ghc-options =+            [ "-threaded" ]+        , dependencies =+            [ "QuickCheck", "hspec", "stack", "smallcheck" ]+        }+    , stack-integration-test =+        { main =+            "IntegrationSpec.hs"+        , source-dirs =+            [ "test/integration", "test/integration/lib" ]+        , ghc-options =+            [ "-threaded", "-rtsopts", "-with-rtsopts=-N" ]+        , dependencies =+            [ "hspec" ]+        , when =+            { condition = "!flag(integration-tests)", buildable = False }+        }+    }+, flags =+    { static =+        { description =+            "Pass -static/-pthread to ghc when linking the stack binary."+        , manual =+            True+        , default =+            False+        }+    , disable-git-info =+        { description =+            "Disable compile-time inclusion of current git info in stack"+        , manual =+            True+        , default =+            False+        }+    , hide-dependency-versions =+        { description =+            "Hides dependency versions from \"stack --version\", used only by building with stack.yaml"+        , manual =+            True+        , default =+            False+        }+    , integration-tests =+        { description =+            "Run the integration test suite"+        , manual =+            True+        , default =+            False+        }+    , supported-build =+        { description =+            "If false, causes \"stack --version\" to issue a warning about the build being unsupported.  True only if building with stack.yaml"+        , manual =+            True+        , default =+            False+        }+    }+}
+ test-suite-golden/test-files/real-world/stack/stack.dhall-1.32.golden view
@@ -0,0 +1,339 @@+{ name = "stack"+, version = "1.10.0"+, synopsis = "The Haskell Tool Stack"+, description =+    ''+    Please see the README.md for usage information, and+    the wiki on Github for more details.  Also, note that+    the API for the library is not currently stable, and may+    change significantly, even between minor releases. It is+    currently only intended for use by the executable.''+, category = "Development"+, author = "Commercial Haskell SIG"+, maintainer = "manny@fpcomplete.com"+, license = "BSD3"+, github = "commercialhaskell/stack"+, homepage = "http://haskellstack.org"+, custom-setup.dependencies =+  [ "base >=4.10 && < 5", "Cabal >= 2.4", "filepath" ]+, extra-source-files =+  [ "CONTRIBUTING.md"+  , "ChangeLog.md"+  , "README.md"+  , "doc/*.md"+  , "src/setup-shim/StackSetupShim.hs"+  , "stack.yaml"+  , "test/package-dump/ghc-7.10.txt"+  , "test/package-dump/ghc-7.8.4-osx.txt"+  , "test/package-dump/ghc-7.8.txt"+  ]+, ghc-options =+  [ "-Wall"+  , "-fwarn-tabs"+  , "-fwarn-incomplete-uni-patterns"+  , "-fwarn-incomplete-record-updates"+  , "-optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739)"+  ]+, dependencies =+  [ "Cabal >= 2.4"+  , "aeson"+  , "annotated-wl-pprint"+  , "ansi-terminal >= 0.8.1"+  , "array"+  , "async"+  , "attoparsec"+  , "base >=4.10 && < 5"+  , "base64-bytestring"+  , "bytestring"+  , "colour"+  , "conduit"+  , "conduit-extra"+  , "containers"+  , "cryptonite"+  , "cryptonite-conduit"+  , "deepseq"+  , "directory"+  , "echo"+  , "exceptions"+  , "extra"+  , "file-embed"+  , "filelock"+  , "filepath"+  , "fsnotify"+  , "generic-deriving"+  , "hackage-security"+  , "hashable"+  , "hpack"+  , "hpc"+  , "http-client"+  , "http-client-tls"+  , "http-conduit"+  , "http-types"+  , "memory"+  , "microlens"+  , "mintty"+  , "monad-logger"+  , "mono-traversable"+  , "mtl"+  , "mustache"+  , "neat-interpolation"+  , "network-uri"+  , "open-browser"+  , "optparse-applicative"+  , "pantry"+  , "path"+  , "path-io"+  , "persistent"+  , "persistent-sqlite"+  , "persistent-template"+  , "pretty"+  , "primitive"+  , "process"+  , "project-template"+  , "regex-applicative-text"+  , "resourcet"+  , "retry >= 0.7"+  , "rio"+  , "semigroups"+  , "split"+  , "stm"+  , "store-core"+  , "streaming-commons"+  , "tar"+  , "template-haskell"+  , "temporary"+  , "text"+  , "text-metrics"+  , "th-reify-many"+  , "time"+  , "tls"+  , "transformers"+  , "typed-process"+  , "unicode-transforms"+  , "unix-compat"+  , "unliftio >= 0.2.8.0"+  , "unordered-containers"+  , "vector"+  , "yaml"+  , "zip-archive"+  , "zlib"+  ]+, when =+  { condition = "os(windows)"+  , then = { cpp-options = [ "-DWINDOWS" ], dependencies = [ "Win32" ] }+  , else = { build-tools = [ "hsc2hs" ], dependencies = [ "unix" ] }+  }+, library =+  { source-dirs = "src/"+  , ghc-options = [ "-fwarn-identities" ]+  , generated-exposed-modules = [ "Paths_stack" ]+  , exposed-modules =+    [ "Control.Concurrent.Execute"+    , "Data.Attoparsec.Args"+    , "Data.Attoparsec.Combinators"+    , "Data.Attoparsec.Interpreter"+    , "Data.Monoid.Map"+    , "Network.HTTP.Download"+    , "Network.HTTP.Download.Verified"+    , "Network.HTTP.StackClient"+    , "Options.Applicative.Args"+    , "Options.Applicative.Builder.Extra"+    , "Options.Applicative.Complicated"+    , "Path.CheckInstall"+    , "Path.Extra"+    , "Path.Find"+    , "Stack.Build"+    , "Stack.Build.Cache"+    , "Stack.Build.ConstructPlan"+    , "Stack.Build.Execute"+    , "Stack.Build.Haddock"+    , "Stack.Build.Installed"+    , "Stack.Build.Source"+    , "Stack.Build.Target"+    , "Stack.BuildPlan"+    , "Stack.Clean"+    , "Stack.Config"+    , "Stack.Config.Build"+    , "Stack.Config.Urls"+    , "Stack.Config.Docker"+    , "Stack.Config.Nix"+    , "Stack.ConfigCmd"+    , "Stack.Constants"+    , "Stack.Constants.Config"+    , "Stack.Coverage"+    , "Stack.DefaultColorWhen"+    , "Stack.DefaultStyles"+    , "Stack.Docker"+    , "Stack.Docker.GlobalDB"+    , "Stack.Dot"+    , "Stack.FileWatch"+    , "Stack.Freeze"+    , "Stack.GhcPkg"+    , "Stack.Ghci"+    , "Stack.Ghci.Script"+    , "Stack.Hoogle"+    , "Stack.IDE"+    , "Stack.Image"+    , "Stack.Init"+    , "Stack.Ls"+    , "Stack.New"+    , "Stack.Nix"+    , "Stack.Options.BenchParser"+    , "Stack.Options.BuildMonoidParser"+    , "Stack.Options.BuildParser"+    , "Stack.Options.CleanParser"+    , "Stack.Options.ConfigParser"+    , "Stack.Options.Completion"+    , "Stack.Options.DockerParser"+    , "Stack.Options.DotParser"+    , "Stack.Options.ExecParser"+    , "Stack.Options.FreezeParser"+    , "Stack.Options.GhcBuildParser"+    , "Stack.Options.GhciParser"+    , "Stack.Options.GhcVariantParser"+    , "Stack.Options.GlobalParser"+    , "Stack.Options.HaddockParser"+    , "Stack.Options.HpcReportParser"+    , "Stack.Options.LogLevelParser"+    , "Stack.Options.NewParser"+    , "Stack.Options.NixParser"+    , "Stack.Options.PackageParser"+    , "Stack.Options.ResolverParser"+    , "Stack.Options.ScriptParser"+    , "Stack.Options.SDistParser"+    , "Stack.Options.SolverParser"+    , "Stack.Options.TestParser"+    , "Stack.Options.Utils"+    , "Stack.Package"+    , "Stack.PackageDump"+    , "Stack.Path"+    , "Stack.Prelude"+    , "Stack.PrettyPrint"+    , "Stack.Runners"+    , "Stack.Script"+    , "Stack.SDist"+    , "Stack.Setup"+    , "Stack.Setup.Installed"+    , "Stack.SetupCmd"+    , "Stack.Sig"+    , "Stack.Sig.GPG"+    , "Stack.Sig.Sign"+    , "Stack.Snapshot"+    , "Stack.Solver"+    , "Stack.StoreTH"+    , "Stack.Types.Build"+    , "Stack.Types.BuildPlan"+    , "Stack.Types.CompilerBuild"+    , "Stack.Types.Urls"+    , "Stack.Types.Compiler"+    , "Stack.Types.Config"+    , "Stack.Types.Config.Build"+    , "Stack.Types.Docker"+    , "Stack.Types.GhcPkgId"+    , "Stack.Types.Image"+    , "Stack.Types.NamedComponent"+    , "Stack.Types.Nix"+    , "Stack.Types.Package"+    , "Stack.Types.PackageDump"+    , "Stack.Types.PackageName"+    , "Stack.Types.PrettyPrint"+    , "Stack.Types.Resolver"+    , "Stack.Types.Runner"+    , "Stack.Types.Sig"+    , "Stack.Types.StylesUpdate"+    , "Stack.Types.TemplateName"+    , "Stack.Types.Version"+    , "Stack.Types.VersionIntervals"+    , "Stack.Unpack"+    , "Stack.Upgrade"+    , "Stack.Upload"+    , "Text.PrettyPrint.Leijen.Extended"+    , "System.Permissions"+    , "System.Process.PagerEditor"+    , "System.Terminal"+    ]+  , when =+    { condition = "os(windows)"+    , then.source-dirs = [ "src/windows/" ]+    , else =+      { source-dirs = [ "src/unix/" ]+      , c-sources = [ "src/unix/cbits/uname.c" ]+      }+    }+  }+, executables.stack =+  { main = "Main.hs"+  , source-dirs = [ "src/main" ]+  , generated-other-modules = [ "Build_stack", "Paths_stack" ]+  , ghc-options = [ "-threaded", "-rtsopts" ]+  , dependencies = [ "stack" ]+  , when =+    [ { condition = "flag(static)"+      , cpp-options = [] : List Text+      , dependencies = [] : List Text+      , ld-options = [ "-static", "-pthread" ]+      }+    , { condition = "!(flag(disable-git-info))"+      , cpp-options = [ "-DUSE_GIT_INFO" ]+      , dependencies = [ "githash", "optparse-simple" ]+      , ld-options = [] : List Text+      }+    , { condition = "flag(hide-dependency-versions)"+      , cpp-options = [ "-DHIDE_DEP_VERSIONS" ]+      , dependencies = [] : List Text+      , ld-options = [] : List Text+      }+    , { condition = "flag(supported-build)"+      , cpp-options = [ "-DSUPPORTED_BUILD" ]+      , dependencies = [] : List Text+      , ld-options = [] : List Text+      }+    ]+  }+, tests =+  { stack-test =+    { main = "Spec.hs"+    , source-dirs = [ "src/test" ]+    , ghc-options = [ "-threaded" ]+    , dependencies = [ "QuickCheck", "hspec", "stack", "smallcheck" ]+    }+  , stack-integration-test =+    { main = "IntegrationSpec.hs"+    , source-dirs = [ "test/integration", "test/integration/lib" ]+    , ghc-options = [ "-threaded", "-rtsopts", "-with-rtsopts=-N" ]+    , dependencies = [ "hspec" ]+    , when = { condition = "!flag(integration-tests)", buildable = False }+    }+  }+, flags =+  { static =+    { description =+        "Pass -static/-pthread to ghc when linking the stack binary."+    , manual = True+    , default = False+    }+  , disable-git-info =+    { description =+        "Disable compile-time inclusion of current git info in stack"+    , manual = True+    , default = False+    }+  , hide-dependency-versions =+    { description =+        "Hides dependency versions from \"stack --version\", used only by building with stack.yaml"+    , manual = True+    , default = False+    }+  , integration-tests =+    { description = "Run the integration test suite"+    , manual = True+    , default = False+    }+  , supported-build =+    { description =+        "If false, causes \"stack --version\" to issue a warning about the build being unsupported.  True only if building with stack.yaml"+    , manual = True+    , default = False+    }+  }+}
+ test-suite-golden/test-files/real-world/stack/stack.dhall-1.34.golden view
@@ -0,0 +1,341 @@+{ name = "stack"+, version = "1.10.0"+, synopsis = "The Haskell Tool Stack"+, description =+    ''+    Please see the README.md for usage information, and+    the wiki on Github for more details.  Also, note that+    the API for the library is not currently stable, and may+    change significantly, even between minor releases. It is+    currently only intended for use by the executable.''+, category = "Development"+, author = "Commercial Haskell SIG"+, maintainer = "manny@fpcomplete.com"+, license = "BSD3"+, github = "commercialhaskell/stack"+, homepage = "http://haskellstack.org"+, custom-setup.dependencies+  =+  [ "base >=4.10 && < 5", "Cabal >= 2.4", "filepath" ]+, extra-source-files =+  [ "CONTRIBUTING.md"+  , "ChangeLog.md"+  , "README.md"+  , "doc/*.md"+  , "src/setup-shim/StackSetupShim.hs"+  , "stack.yaml"+  , "test/package-dump/ghc-7.10.txt"+  , "test/package-dump/ghc-7.8.4-osx.txt"+  , "test/package-dump/ghc-7.8.txt"+  ]+, ghc-options =+  [ "-Wall"+  , "-fwarn-tabs"+  , "-fwarn-incomplete-uni-patterns"+  , "-fwarn-incomplete-record-updates"+  , "-optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739)"+  ]+, dependencies =+  [ "Cabal >= 2.4"+  , "aeson"+  , "annotated-wl-pprint"+  , "ansi-terminal >= 0.8.1"+  , "array"+  , "async"+  , "attoparsec"+  , "base >=4.10 && < 5"+  , "base64-bytestring"+  , "bytestring"+  , "colour"+  , "conduit"+  , "conduit-extra"+  , "containers"+  , "cryptonite"+  , "cryptonite-conduit"+  , "deepseq"+  , "directory"+  , "echo"+  , "exceptions"+  , "extra"+  , "file-embed"+  , "filelock"+  , "filepath"+  , "fsnotify"+  , "generic-deriving"+  , "hackage-security"+  , "hashable"+  , "hpack"+  , "hpc"+  , "http-client"+  , "http-client-tls"+  , "http-conduit"+  , "http-types"+  , "memory"+  , "microlens"+  , "mintty"+  , "monad-logger"+  , "mono-traversable"+  , "mtl"+  , "mustache"+  , "neat-interpolation"+  , "network-uri"+  , "open-browser"+  , "optparse-applicative"+  , "pantry"+  , "path"+  , "path-io"+  , "persistent"+  , "persistent-sqlite"+  , "persistent-template"+  , "pretty"+  , "primitive"+  , "process"+  , "project-template"+  , "regex-applicative-text"+  , "resourcet"+  , "retry >= 0.7"+  , "rio"+  , "semigroups"+  , "split"+  , "stm"+  , "store-core"+  , "streaming-commons"+  , "tar"+  , "template-haskell"+  , "temporary"+  , "text"+  , "text-metrics"+  , "th-reify-many"+  , "time"+  , "tls"+  , "transformers"+  , "typed-process"+  , "unicode-transforms"+  , "unix-compat"+  , "unliftio >= 0.2.8.0"+  , "unordered-containers"+  , "vector"+  , "yaml"+  , "zip-archive"+  , "zlib"+  ]+, when =+  { condition = "os(windows)"+  , `then` = { cpp-options = [ "-DWINDOWS" ], dependencies = [ "Win32" ] }+  , `else` = { build-tools = [ "hsc2hs" ], dependencies = [ "unix" ] }+  }+, library =+  { source-dirs = "src/"+  , ghc-options = [ "-fwarn-identities" ]+  , generated-exposed-modules = [ "Paths_stack" ]+  , exposed-modules =+    [ "Control.Concurrent.Execute"+    , "Data.Attoparsec.Args"+    , "Data.Attoparsec.Combinators"+    , "Data.Attoparsec.Interpreter"+    , "Data.Monoid.Map"+    , "Network.HTTP.Download"+    , "Network.HTTP.Download.Verified"+    , "Network.HTTP.StackClient"+    , "Options.Applicative.Args"+    , "Options.Applicative.Builder.Extra"+    , "Options.Applicative.Complicated"+    , "Path.CheckInstall"+    , "Path.Extra"+    , "Path.Find"+    , "Stack.Build"+    , "Stack.Build.Cache"+    , "Stack.Build.ConstructPlan"+    , "Stack.Build.Execute"+    , "Stack.Build.Haddock"+    , "Stack.Build.Installed"+    , "Stack.Build.Source"+    , "Stack.Build.Target"+    , "Stack.BuildPlan"+    , "Stack.Clean"+    , "Stack.Config"+    , "Stack.Config.Build"+    , "Stack.Config.Urls"+    , "Stack.Config.Docker"+    , "Stack.Config.Nix"+    , "Stack.ConfigCmd"+    , "Stack.Constants"+    , "Stack.Constants.Config"+    , "Stack.Coverage"+    , "Stack.DefaultColorWhen"+    , "Stack.DefaultStyles"+    , "Stack.Docker"+    , "Stack.Docker.GlobalDB"+    , "Stack.Dot"+    , "Stack.FileWatch"+    , "Stack.Freeze"+    , "Stack.GhcPkg"+    , "Stack.Ghci"+    , "Stack.Ghci.Script"+    , "Stack.Hoogle"+    , "Stack.IDE"+    , "Stack.Image"+    , "Stack.Init"+    , "Stack.Ls"+    , "Stack.New"+    , "Stack.Nix"+    , "Stack.Options.BenchParser"+    , "Stack.Options.BuildMonoidParser"+    , "Stack.Options.BuildParser"+    , "Stack.Options.CleanParser"+    , "Stack.Options.ConfigParser"+    , "Stack.Options.Completion"+    , "Stack.Options.DockerParser"+    , "Stack.Options.DotParser"+    , "Stack.Options.ExecParser"+    , "Stack.Options.FreezeParser"+    , "Stack.Options.GhcBuildParser"+    , "Stack.Options.GhciParser"+    , "Stack.Options.GhcVariantParser"+    , "Stack.Options.GlobalParser"+    , "Stack.Options.HaddockParser"+    , "Stack.Options.HpcReportParser"+    , "Stack.Options.LogLevelParser"+    , "Stack.Options.NewParser"+    , "Stack.Options.NixParser"+    , "Stack.Options.PackageParser"+    , "Stack.Options.ResolverParser"+    , "Stack.Options.ScriptParser"+    , "Stack.Options.SDistParser"+    , "Stack.Options.SolverParser"+    , "Stack.Options.TestParser"+    , "Stack.Options.Utils"+    , "Stack.Package"+    , "Stack.PackageDump"+    , "Stack.Path"+    , "Stack.Prelude"+    , "Stack.PrettyPrint"+    , "Stack.Runners"+    , "Stack.Script"+    , "Stack.SDist"+    , "Stack.Setup"+    , "Stack.Setup.Installed"+    , "Stack.SetupCmd"+    , "Stack.Sig"+    , "Stack.Sig.GPG"+    , "Stack.Sig.Sign"+    , "Stack.Snapshot"+    , "Stack.Solver"+    , "Stack.StoreTH"+    , "Stack.Types.Build"+    , "Stack.Types.BuildPlan"+    , "Stack.Types.CompilerBuild"+    , "Stack.Types.Urls"+    , "Stack.Types.Compiler"+    , "Stack.Types.Config"+    , "Stack.Types.Config.Build"+    , "Stack.Types.Docker"+    , "Stack.Types.GhcPkgId"+    , "Stack.Types.Image"+    , "Stack.Types.NamedComponent"+    , "Stack.Types.Nix"+    , "Stack.Types.Package"+    , "Stack.Types.PackageDump"+    , "Stack.Types.PackageName"+    , "Stack.Types.PrettyPrint"+    , "Stack.Types.Resolver"+    , "Stack.Types.Runner"+    , "Stack.Types.Sig"+    , "Stack.Types.StylesUpdate"+    , "Stack.Types.TemplateName"+    , "Stack.Types.Version"+    , "Stack.Types.VersionIntervals"+    , "Stack.Unpack"+    , "Stack.Upgrade"+    , "Stack.Upload"+    , "Text.PrettyPrint.Leijen.Extended"+    , "System.Permissions"+    , "System.Process.PagerEditor"+    , "System.Terminal"+    ]+  , when =+    { condition = "os(windows)"+    , `then`.source-dirs = [ "src/windows/" ]+    , `else` =+      { source-dirs = [ "src/unix/" ]+      , c-sources = [ "src/unix/cbits/uname.c" ]+      }+    }+  }+, executables.stack+  =+  { main = "Main.hs"+  , source-dirs = [ "src/main" ]+  , generated-other-modules = [ "Build_stack", "Paths_stack" ]+  , ghc-options = [ "-threaded", "-rtsopts" ]+  , dependencies = [ "stack" ]+  , when =+    [ { condition = "flag(static)"+      , cpp-options = [] : List Text+      , dependencies = [] : List Text+      , ld-options = [ "-static", "-pthread" ]+      }+    , { condition = "!(flag(disable-git-info))"+      , cpp-options = [ "-DUSE_GIT_INFO" ]+      , dependencies = [ "githash", "optparse-simple" ]+      , ld-options = [] : List Text+      }+    , { condition = "flag(hide-dependency-versions)"+      , cpp-options = [ "-DHIDE_DEP_VERSIONS" ]+      , dependencies = [] : List Text+      , ld-options = [] : List Text+      }+    , { condition = "flag(supported-build)"+      , cpp-options = [ "-DSUPPORTED_BUILD" ]+      , dependencies = [] : List Text+      , ld-options = [] : List Text+      }+    ]+  }+, tests =+  { stack-test =+    { main = "Spec.hs"+    , source-dirs = [ "src/test" ]+    , ghc-options = [ "-threaded" ]+    , dependencies = [ "QuickCheck", "hspec", "stack", "smallcheck" ]+    }+  , stack-integration-test =+    { main = "IntegrationSpec.hs"+    , source-dirs = [ "test/integration", "test/integration/lib" ]+    , ghc-options = [ "-threaded", "-rtsopts", "-with-rtsopts=-N" ]+    , dependencies = [ "hspec" ]+    , when = { condition = "!flag(integration-tests)", buildable = False }+    }+  }+, flags =+  { static =+    { description =+        "Pass -static/-pthread to ghc when linking the stack binary."+    , manual = True+    , default = False+    }+  , disable-git-info =+    { description =+        "Disable compile-time inclusion of current git info in stack"+    , manual = True+    , default = False+    }+  , hide-dependency-versions =+    { description =+        "Hides dependency versions from \"stack --version\", used only by building with stack.yaml"+    , manual = True+    , default = False+    }+  , integration-tests =+    { description = "Run the integration test suite"+    , manual = True+    , default = False+    }+  , supported-build =+    { description =+        "If false, causes \"stack --version\" to issue a warning about the build being unsupported.  True only if building with stack.yaml"+    , manual = True+    , default = False+    }+  }+}
+ test-suite-golden/test-files/real-world/stack/stack.json view
@@ -0,0 +1,410 @@+{+    "name": "stack",+    "version": "1.10.0",+    "synopsis": "The Haskell Tool Stack",+    "description": "Please see the README.md for usage information, and\nthe wiki on Github for more details.  Also, note that\nthe API for the library is not currently stable, and may\nchange significantly, even between minor releases. It is\ncurrently only intended for use by the executable.",+    "category": "Development",+    "homepage": "http://haskellstack.org",+    "author": "Commercial Haskell SIG",+    "maintainer": "manny@fpcomplete.com",+    "license": "BSD3",+    "github": "commercialhaskell/stack",+    "extra-source-files": [+        "CONTRIBUTING.md",+        "ChangeLog.md",+        "README.md",+        "doc/*.md",+        "src/setup-shim/StackSetupShim.hs",+        "stack.yaml",+        "test/package-dump/ghc-7.10.txt",+        "test/package-dump/ghc-7.8.4-osx.txt",+        "test/package-dump/ghc-7.8.txt"+    ],+    "ghc-options": [+        "-Wall",+        "-fwarn-tabs",+        "-fwarn-incomplete-uni-patterns",+        "-fwarn-incomplete-record-updates",+        "-optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739)"+    ],+    "dependencies": [+        "Cabal >= 2.4",+        "aeson",+        "annotated-wl-pprint",+        "ansi-terminal >= 0.8.1",+        "array",+        "async",+        "attoparsec",+        "base >=4.10 && < 5",+        "base64-bytestring",+        "bytestring",+        "colour",+        "conduit",+        "conduit-extra",+        "containers",+        "cryptonite",+        "cryptonite-conduit",+        "deepseq",+        "directory",+        "echo",+        "exceptions",+        "extra",+        "file-embed",+        "filelock",+        "filepath",+        "fsnotify",+        "generic-deriving",+        "hackage-security",+        "hashable",+        "hpack",+        "hpc",+        "http-client",+        "http-client-tls",+        "http-conduit",+        "http-types",+        "memory",+        "microlens",+        "mintty",+        "monad-logger",+        "mono-traversable",+        "mtl",+        "mustache",+        "neat-interpolation",+        "network-uri",+        "open-browser",+        "optparse-applicative",+        "pantry",+        "path",+        "path-io",+        "persistent",+        "persistent-sqlite",+        "persistent-template",+        "pretty",+        "primitive",+        "process",+        "project-template",+        "regex-applicative-text",+        "resourcet",+        "retry >= 0.7",+        "rio",+        "semigroups",+        "split",+        "stm",+        "store-core",+        "streaming-commons",+        "tar",+        "template-haskell",+        "temporary",+        "text",+        "text-metrics",+        "th-reify-many",+        "time",+        "tls",+        "transformers",+        "typed-process",+        "unicode-transforms",+        "unix-compat",+        "unliftio >= 0.2.8.0",+        "unordered-containers",+        "vector",+        "yaml",+        "zip-archive",+        "zlib"+    ],+    "when": {+        "condition": "os(windows)",+        "then": {+            "cpp-options": [+                "-DWINDOWS"+            ],+            "dependencies": [+                "Win32"+            ]+        },+        "else": {+            "dependencies": [+                "unix"+            ],+            "build-tools": [+                "hsc2hs"+            ]+        }+    },+    "custom-setup": {+        "dependencies": [+            "base >=4.10 && < 5",+            "Cabal >= 2.4",+            "filepath"+        ]+    },+    "flags": {+        "disable-git-info": {+            "description": "Disable compile-time inclusion of current git info in stack",+            "manual": true,+            "default": false+        },+        "hide-dependency-versions": {+            "description": "Hides dependency versions from \"stack --version\", used only by building with stack.yaml",+            "manual": true,+            "default": false+        },+        "integration-tests": {+            "description": "Run the integration test suite",+            "manual": true,+            "default": false+        },+        "static": {+            "description": "Pass -static/-pthread to ghc when linking the stack binary.",+            "manual": true,+            "default": false+        },+        "supported-build": {+            "description": "If false, causes \"stack --version\" to issue a warning about the build being unsupported.  True only if building with stack.yaml",+            "manual": true,+            "default": false+        }+    },+    "library": {+        "exposed-modules": [+            "Control.Concurrent.Execute",+            "Data.Attoparsec.Args",+            "Data.Attoparsec.Combinators",+            "Data.Attoparsec.Interpreter",+            "Data.Monoid.Map",+            "Network.HTTP.Download",+            "Network.HTTP.Download.Verified",+            "Network.HTTP.StackClient",+            "Options.Applicative.Args",+            "Options.Applicative.Builder.Extra",+            "Options.Applicative.Complicated",+            "Path.CheckInstall",+            "Path.Extra",+            "Path.Find",+            "Stack.Build",+            "Stack.Build.Cache",+            "Stack.Build.ConstructPlan",+            "Stack.Build.Execute",+            "Stack.Build.Haddock",+            "Stack.Build.Installed",+            "Stack.Build.Source",+            "Stack.Build.Target",+            "Stack.BuildPlan",+            "Stack.Clean",+            "Stack.Config",+            "Stack.Config.Build",+            "Stack.Config.Urls",+            "Stack.Config.Docker",+            "Stack.Config.Nix",+            "Stack.ConfigCmd",+            "Stack.Constants",+            "Stack.Constants.Config",+            "Stack.Coverage",+            "Stack.DefaultColorWhen",+            "Stack.DefaultStyles",+            "Stack.Docker",+            "Stack.Docker.GlobalDB",+            "Stack.Dot",+            "Stack.FileWatch",+            "Stack.Freeze",+            "Stack.GhcPkg",+            "Stack.Ghci",+            "Stack.Ghci.Script",+            "Stack.Hoogle",+            "Stack.IDE",+            "Stack.Image",+            "Stack.Init",+            "Stack.Ls",+            "Stack.New",+            "Stack.Nix",+            "Stack.Options.BenchParser",+            "Stack.Options.BuildMonoidParser",+            "Stack.Options.BuildParser",+            "Stack.Options.CleanParser",+            "Stack.Options.ConfigParser",+            "Stack.Options.Completion",+            "Stack.Options.DockerParser",+            "Stack.Options.DotParser",+            "Stack.Options.ExecParser",+            "Stack.Options.FreezeParser",+            "Stack.Options.GhcBuildParser",+            "Stack.Options.GhciParser",+            "Stack.Options.GhcVariantParser",+            "Stack.Options.GlobalParser",+            "Stack.Options.HaddockParser",+            "Stack.Options.HpcReportParser",+            "Stack.Options.LogLevelParser",+            "Stack.Options.NewParser",+            "Stack.Options.NixParser",+            "Stack.Options.PackageParser",+            "Stack.Options.ResolverParser",+            "Stack.Options.ScriptParser",+            "Stack.Options.SDistParser",+            "Stack.Options.SolverParser",+            "Stack.Options.TestParser",+            "Stack.Options.Utils",+            "Stack.Package",+            "Stack.PackageDump",+            "Stack.Path",+            "Stack.Prelude",+            "Stack.PrettyPrint",+            "Stack.Runners",+            "Stack.Script",+            "Stack.SDist",+            "Stack.Setup",+            "Stack.Setup.Installed",+            "Stack.SetupCmd",+            "Stack.Sig",+            "Stack.Sig.GPG",+            "Stack.Sig.Sign",+            "Stack.Snapshot",+            "Stack.Solver",+            "Stack.StoreTH",+            "Stack.Types.Build",+            "Stack.Types.BuildPlan",+            "Stack.Types.CompilerBuild",+            "Stack.Types.Urls",+            "Stack.Types.Compiler",+            "Stack.Types.Config",+            "Stack.Types.Config.Build",+            "Stack.Types.Docker",+            "Stack.Types.GhcPkgId",+            "Stack.Types.Image",+            "Stack.Types.NamedComponent",+            "Stack.Types.Nix",+            "Stack.Types.Package",+            "Stack.Types.PackageDump",+            "Stack.Types.PackageName",+            "Stack.Types.PrettyPrint",+            "Stack.Types.Resolver",+            "Stack.Types.Runner",+            "Stack.Types.Sig",+            "Stack.Types.StylesUpdate",+            "Stack.Types.TemplateName",+            "Stack.Types.Version",+            "Stack.Types.VersionIntervals",+            "Stack.Unpack",+            "Stack.Upgrade",+            "Stack.Upload",+            "Text.PrettyPrint.Leijen.Extended",+            "System.Permissions",+            "System.Process.PagerEditor",+            "System.Terminal"+        ],+        "generated-exposed-modules": [+            "Paths_stack"+        ],+        "source-dirs": "src/",+        "ghc-options": [+            "-fwarn-identities"+        ],+        "when": {+            "condition": "os(windows)",+            "then": {+                "source-dirs": [+                    "src/windows/"+                ]+            },+            "else": {+                "source-dirs": [+                    "src/unix/"+                ],+                "c-sources": [+                    "src/unix/cbits/uname.c"+                ]+            }+        }+    },+    "executables": {+        "stack": {+            "main": "Main.hs",+            "generated-other-modules": [+                "Build_stack",+                "Paths_stack"+            ],+            "source-dirs": [+                "src/main"+            ],+            "ghc-options": [+                "-threaded",+                "-rtsopts"+            ],+            "dependencies": [+                "stack"+            ],+            "when": [+                {+                    "condition": "flag(static)",+                    "cpp-options": [],+                    "ld-options": [+                        "-static",+                        "-pthread"+                    ],+                    "dependencies": []+                },+                {+                    "condition": "!(flag(disable-git-info))",+                    "cpp-options": [+                        "-DUSE_GIT_INFO"+                    ],+                    "ld-options": [],+                    "dependencies": [+                        "githash",+                        "optparse-simple"+                    ]+                },+                {+                    "condition": "flag(hide-dependency-versions)",+                    "cpp-options": [+                        "-DHIDE_DEP_VERSIONS"+                    ],+                    "ld-options": [],+                    "dependencies": []+                },+                {+                    "condition": "flag(supported-build)",+                    "cpp-options": [+                        "-DSUPPORTED_BUILD"+                    ],+                    "ld-options": [],+                    "dependencies": []+                }+            ]+        }+    },+    "tests": {+        "stack-integration-test": {+            "main": "IntegrationSpec.hs",+            "source-dirs": [+                "test/integration",+                "test/integration/lib"+            ],+            "ghc-options": [+                "-threaded",+                "-rtsopts",+                "-with-rtsopts=-N"+            ],+            "dependencies": [+                "hspec"+            ],+            "when": {+                "condition": "!flag(integration-tests)",+                "buildable": false+            }+        },+        "stack-test": {+            "main": "Spec.hs",+            "source-dirs": [+                "src/test"+            ],+            "ghc-options": [+                "-threaded"+            ],+            "dependencies": [+                "QuickCheck",+                "hspec",+                "stack",+                "smallcheck"+            ]+        }+    }+}
+ test-suite-golden/test-files/real-world/stack/stack.json.golden view
@@ -0,0 +1,410 @@+{+    "name": "stack",+    "version": "1.10.0",+    "synopsis": "The Haskell Tool Stack",+    "description": "Please see the README.md for usage information, and\nthe wiki on Github for more details.  Also, note that\nthe API for the library is not currently stable, and may\nchange significantly, even between minor releases. It is\ncurrently only intended for use by the executable.",+    "category": "Development",+    "homepage": "http://haskellstack.org",+    "author": "Commercial Haskell SIG",+    "maintainer": "manny@fpcomplete.com",+    "license": "BSD3",+    "github": "commercialhaskell/stack",+    "extra-source-files": [+        "CONTRIBUTING.md",+        "ChangeLog.md",+        "README.md",+        "doc/*.md",+        "src/setup-shim/StackSetupShim.hs",+        "stack.yaml",+        "test/package-dump/ghc-7.10.txt",+        "test/package-dump/ghc-7.8.4-osx.txt",+        "test/package-dump/ghc-7.8.txt"+    ],+    "ghc-options": [+        "-Wall",+        "-fwarn-tabs",+        "-fwarn-incomplete-uni-patterns",+        "-fwarn-incomplete-record-updates",+        "-optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739)"+    ],+    "dependencies": [+        "Cabal >= 2.4",+        "aeson",+        "annotated-wl-pprint",+        "ansi-terminal >= 0.8.1",+        "array",+        "async",+        "attoparsec",+        "base >=4.10 && < 5",+        "base64-bytestring",+        "bytestring",+        "colour",+        "conduit",+        "conduit-extra",+        "containers",+        "cryptonite",+        "cryptonite-conduit",+        "deepseq",+        "directory",+        "echo",+        "exceptions",+        "extra",+        "file-embed",+        "filelock",+        "filepath",+        "fsnotify",+        "generic-deriving",+        "hackage-security",+        "hashable",+        "hpack",+        "hpc",+        "http-client",+        "http-client-tls",+        "http-conduit",+        "http-types",+        "memory",+        "microlens",+        "mintty",+        "monad-logger",+        "mono-traversable",+        "mtl",+        "mustache",+        "neat-interpolation",+        "network-uri",+        "open-browser",+        "optparse-applicative",+        "pantry",+        "path",+        "path-io",+        "persistent",+        "persistent-sqlite",+        "persistent-template",+        "pretty",+        "primitive",+        "process",+        "project-template",+        "regex-applicative-text",+        "resourcet",+        "retry >= 0.7",+        "rio",+        "semigroups",+        "split",+        "stm",+        "store-core",+        "streaming-commons",+        "tar",+        "template-haskell",+        "temporary",+        "text",+        "text-metrics",+        "th-reify-many",+        "time",+        "tls",+        "transformers",+        "typed-process",+        "unicode-transforms",+        "unix-compat",+        "unliftio >= 0.2.8.0",+        "unordered-containers",+        "vector",+        "yaml",+        "zip-archive",+        "zlib"+    ],+    "when": {+        "condition": "os(windows)",+        "then": {+            "cpp-options": [+                "-DWINDOWS"+            ],+            "dependencies": [+                "Win32"+            ]+        },+        "else": {+            "dependencies": [+                "unix"+            ],+            "build-tools": [+                "hsc2hs"+            ]+        }+    },+    "custom-setup": {+        "dependencies": [+            "base >=4.10 && < 5",+            "Cabal >= 2.4",+            "filepath"+        ]+    },+    "flags": {+        "disable-git-info": {+            "description": "Disable compile-time inclusion of current git info in stack",+            "manual": true,+            "default": false+        },+        "hide-dependency-versions": {+            "description": "Hides dependency versions from \"stack --version\", used only by building with stack.yaml",+            "manual": true,+            "default": false+        },+        "integration-tests": {+            "description": "Run the integration test suite",+            "manual": true,+            "default": false+        },+        "static": {+            "description": "Pass -static/-pthread to ghc when linking the stack binary.",+            "manual": true,+            "default": false+        },+        "supported-build": {+            "description": "If false, causes \"stack --version\" to issue a warning about the build being unsupported.  True only if building with stack.yaml",+            "manual": true,+            "default": false+        }+    },+    "library": {+        "exposed-modules": [+            "Control.Concurrent.Execute",+            "Data.Attoparsec.Args",+            "Data.Attoparsec.Combinators",+            "Data.Attoparsec.Interpreter",+            "Data.Monoid.Map",+            "Network.HTTP.Download",+            "Network.HTTP.Download.Verified",+            "Network.HTTP.StackClient",+            "Options.Applicative.Args",+            "Options.Applicative.Builder.Extra",+            "Options.Applicative.Complicated",+            "Path.CheckInstall",+            "Path.Extra",+            "Path.Find",+            "Stack.Build",+            "Stack.Build.Cache",+            "Stack.Build.ConstructPlan",+            "Stack.Build.Execute",+            "Stack.Build.Haddock",+            "Stack.Build.Installed",+            "Stack.Build.Source",+            "Stack.Build.Target",+            "Stack.BuildPlan",+            "Stack.Clean",+            "Stack.Config",+            "Stack.Config.Build",+            "Stack.Config.Urls",+            "Stack.Config.Docker",+            "Stack.Config.Nix",+            "Stack.ConfigCmd",+            "Stack.Constants",+            "Stack.Constants.Config",+            "Stack.Coverage",+            "Stack.DefaultColorWhen",+            "Stack.DefaultStyles",+            "Stack.Docker",+            "Stack.Docker.GlobalDB",+            "Stack.Dot",+            "Stack.FileWatch",+            "Stack.Freeze",+            "Stack.GhcPkg",+            "Stack.Ghci",+            "Stack.Ghci.Script",+            "Stack.Hoogle",+            "Stack.IDE",+            "Stack.Image",+            "Stack.Init",+            "Stack.Ls",+            "Stack.New",+            "Stack.Nix",+            "Stack.Options.BenchParser",+            "Stack.Options.BuildMonoidParser",+            "Stack.Options.BuildParser",+            "Stack.Options.CleanParser",+            "Stack.Options.ConfigParser",+            "Stack.Options.Completion",+            "Stack.Options.DockerParser",+            "Stack.Options.DotParser",+            "Stack.Options.ExecParser",+            "Stack.Options.FreezeParser",+            "Stack.Options.GhcBuildParser",+            "Stack.Options.GhciParser",+            "Stack.Options.GhcVariantParser",+            "Stack.Options.GlobalParser",+            "Stack.Options.HaddockParser",+            "Stack.Options.HpcReportParser",+            "Stack.Options.LogLevelParser",+            "Stack.Options.NewParser",+            "Stack.Options.NixParser",+            "Stack.Options.PackageParser",+            "Stack.Options.ResolverParser",+            "Stack.Options.ScriptParser",+            "Stack.Options.SDistParser",+            "Stack.Options.SolverParser",+            "Stack.Options.TestParser",+            "Stack.Options.Utils",+            "Stack.Package",+            "Stack.PackageDump",+            "Stack.Path",+            "Stack.Prelude",+            "Stack.PrettyPrint",+            "Stack.Runners",+            "Stack.Script",+            "Stack.SDist",+            "Stack.Setup",+            "Stack.Setup.Installed",+            "Stack.SetupCmd",+            "Stack.Sig",+            "Stack.Sig.GPG",+            "Stack.Sig.Sign",+            "Stack.Snapshot",+            "Stack.Solver",+            "Stack.StoreTH",+            "Stack.Types.Build",+            "Stack.Types.BuildPlan",+            "Stack.Types.CompilerBuild",+            "Stack.Types.Urls",+            "Stack.Types.Compiler",+            "Stack.Types.Config",+            "Stack.Types.Config.Build",+            "Stack.Types.Docker",+            "Stack.Types.GhcPkgId",+            "Stack.Types.Image",+            "Stack.Types.NamedComponent",+            "Stack.Types.Nix",+            "Stack.Types.Package",+            "Stack.Types.PackageDump",+            "Stack.Types.PackageName",+            "Stack.Types.PrettyPrint",+            "Stack.Types.Resolver",+            "Stack.Types.Runner",+            "Stack.Types.Sig",+            "Stack.Types.StylesUpdate",+            "Stack.Types.TemplateName",+            "Stack.Types.Version",+            "Stack.Types.VersionIntervals",+            "Stack.Unpack",+            "Stack.Upgrade",+            "Stack.Upload",+            "Text.PrettyPrint.Leijen.Extended",+            "System.Permissions",+            "System.Process.PagerEditor",+            "System.Terminal"+        ],+        "generated-exposed-modules": [+            "Paths_stack"+        ],+        "source-dirs": "src/",+        "ghc-options": [+            "-fwarn-identities"+        ],+        "when": {+            "condition": "os(windows)",+            "then": {+                "source-dirs": [+                    "src/windows/"+                ]+            },+            "else": {+                "source-dirs": [+                    "src/unix/"+                ],+                "c-sources": [+                    "src/unix/cbits/uname.c"+                ]+            }+        }+    },+    "executables": {+        "stack": {+            "main": "Main.hs",+            "generated-other-modules": [+                "Build_stack",+                "Paths_stack"+            ],+            "source-dirs": [+                "src/main"+            ],+            "ghc-options": [+                "-threaded",+                "-rtsopts"+            ],+            "dependencies": [+                "stack"+            ],+            "when": [+                {+                    "condition": "flag(static)",+                    "cpp-options": [],+                    "ld-options": [+                        "-static",+                        "-pthread"+                    ],+                    "dependencies": []+                },+                {+                    "condition": "!(flag(disable-git-info))",+                    "cpp-options": [+                        "-DUSE_GIT_INFO"+                    ],+                    "ld-options": [],+                    "dependencies": [+                        "githash",+                        "optparse-simple"+                    ]+                },+                {+                    "condition": "flag(hide-dependency-versions)",+                    "cpp-options": [+                        "-DHIDE_DEP_VERSIONS"+                    ],+                    "ld-options": [],+                    "dependencies": []+                },+                {+                    "condition": "flag(supported-build)",+                    "cpp-options": [+                        "-DSUPPORTED_BUILD"+                    ],+                    "ld-options": [],+                    "dependencies": []+                }+            ]+        }+    },+    "tests": {+        "stack-integration-test": {+            "main": "IntegrationSpec.hs",+            "source-dirs": [+                "test/integration",+                "test/integration/lib"+            ],+            "ghc-options": [+                "-threaded",+                "-rtsopts",+                "-with-rtsopts=-N"+            ],+            "dependencies": [+                "hspec"+            ],+            "when": {+                "condition": "!flag(integration-tests)",+                "buildable": false+            }+        },+        "stack-test": {+            "main": "Spec.hs",+            "source-dirs": [+                "src/test"+            ],+            "ghc-options": [+                "-threaded"+            ],+            "dependencies": [+                "QuickCheck",+                "hspec",+                "stack",+                "smallcheck"+            ]+        }+    }+}
+ test-suite-golden/test-files/real-world/stack/stack.yaml view
@@ -0,0 +1,358 @@+name: stack+version: 1.10.0+synopsis: The Haskell Tool Stack+description: |-+  Please see the README.md for usage information, and+  the wiki on Github for more details.  Also, note that+  the API for the library is not currently stable, and may+  change significantly, even between minor releases. It is+  currently only intended for use by the executable.+category: Development+homepage: http://haskellstack.org+author: Commercial Haskell SIG+maintainer: manny@fpcomplete.com+license: BSD3+github: commercialhaskell/stack+extra-source-files:+- CONTRIBUTING.md+- ChangeLog.md+- README.md+- doc/*.md+- src/setup-shim/StackSetupShim.hs+- stack.yaml+- test/package-dump/ghc-7.10.txt+- test/package-dump/ghc-7.8.4-osx.txt+- test/package-dump/ghc-7.8.txt+ghc-options:+- -Wall+- -fwarn-tabs+- -fwarn-incomplete-uni-patterns+- -fwarn-incomplete-record-updates+- '-optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue+  #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739)'+dependencies:+- Cabal >= 2.4+- aeson+- annotated-wl-pprint+- ansi-terminal >= 0.8.1+- array+- async+- attoparsec+- base >=4.10 && < 5+- base64-bytestring+- bytestring+- colour+- conduit+- conduit-extra+- containers+- cryptonite+- cryptonite-conduit+- deepseq+- directory+- echo+- exceptions+- extra+- file-embed+- filelock+- filepath+- fsnotify+- generic-deriving+- hackage-security+- hashable+- hpack+- hpc+- http-client+- http-client-tls+- http-conduit+- http-types+- memory+- microlens+- mintty+- monad-logger+- mono-traversable+- mtl+- mustache+- neat-interpolation+- network-uri+- open-browser+- optparse-applicative+- pantry+- path+- path-io+- persistent+- persistent-sqlite+- persistent-template+- pretty+- primitive+- process+- project-template+- regex-applicative-text+- resourcet+- retry >= 0.7+- rio+- semigroups+- split+- stm+- store-core+- streaming-commons+- tar+- template-haskell+- temporary+- text+- text-metrics+- th-reify-many+- time+- tls+- transformers+- typed-process+- unicode-transforms+- unix-compat+- unliftio >= 0.2.8.0+- unordered-containers+- vector+- yaml+- zip-archive+- zlib+when:+  condition: os(windows)+  then:+    cpp-options:+    - -DWINDOWS+    dependencies:+    - Win32+  else:+    dependencies:+    - unix+    build-tools:+    - hsc2hs+custom-setup:+  dependencies:+  - base >=4.10 && < 5+  - Cabal >= 2.4+  - filepath+flags:+  disable-git-info:+    description: Disable compile-time inclusion of current git info in stack+    manual: true+    default: false+  hide-dependency-versions:+    description: Hides dependency versions from "stack --version", used only by building+      with stack.yaml+    manual: true+    default: false+  integration-tests:+    description: Run the integration test suite+    manual: true+    default: false+  static:+    description: Pass -static/-pthread to ghc when linking the stack binary.+    manual: true+    default: false+  supported-build:+    description: If false, causes "stack --version" to issue a warning about the build+      being unsupported.  True only if building with stack.yaml+    manual: true+    default: false+library:+  exposed-modules:+  - Control.Concurrent.Execute+  - Data.Attoparsec.Args+  - Data.Attoparsec.Combinators+  - Data.Attoparsec.Interpreter+  - Data.Monoid.Map+  - Network.HTTP.Download+  - Network.HTTP.Download.Verified+  - Network.HTTP.StackClient+  - Options.Applicative.Args+  - Options.Applicative.Builder.Extra+  - Options.Applicative.Complicated+  - Path.CheckInstall+  - Path.Extra+  - Path.Find+  - Stack.Build+  - Stack.Build.Cache+  - Stack.Build.ConstructPlan+  - Stack.Build.Execute+  - Stack.Build.Haddock+  - Stack.Build.Installed+  - Stack.Build.Source+  - Stack.Build.Target+  - Stack.BuildPlan+  - Stack.Clean+  - Stack.Config+  - Stack.Config.Build+  - Stack.Config.Urls+  - Stack.Config.Docker+  - Stack.Config.Nix+  - Stack.ConfigCmd+  - Stack.Constants+  - Stack.Constants.Config+  - Stack.Coverage+  - Stack.DefaultColorWhen+  - Stack.DefaultStyles+  - Stack.Docker+  - Stack.Docker.GlobalDB+  - Stack.Dot+  - Stack.FileWatch+  - Stack.Freeze+  - Stack.GhcPkg+  - Stack.Ghci+  - Stack.Ghci.Script+  - Stack.Hoogle+  - Stack.IDE+  - Stack.Image+  - Stack.Init+  - Stack.Ls+  - Stack.New+  - Stack.Nix+  - Stack.Options.BenchParser+  - Stack.Options.BuildMonoidParser+  - Stack.Options.BuildParser+  - Stack.Options.CleanParser+  - Stack.Options.ConfigParser+  - Stack.Options.Completion+  - Stack.Options.DockerParser+  - Stack.Options.DotParser+  - Stack.Options.ExecParser+  - Stack.Options.FreezeParser+  - Stack.Options.GhcBuildParser+  - Stack.Options.GhciParser+  - Stack.Options.GhcVariantParser+  - Stack.Options.GlobalParser+  - Stack.Options.HaddockParser+  - Stack.Options.HpcReportParser+  - Stack.Options.LogLevelParser+  - Stack.Options.NewParser+  - Stack.Options.NixParser+  - Stack.Options.PackageParser+  - Stack.Options.ResolverParser+  - Stack.Options.ScriptParser+  - Stack.Options.SDistParser+  - Stack.Options.SolverParser+  - Stack.Options.TestParser+  - Stack.Options.Utils+  - Stack.Package+  - Stack.PackageDump+  - Stack.Path+  - Stack.Prelude+  - Stack.PrettyPrint+  - Stack.Runners+  - Stack.Script+  - Stack.SDist+  - Stack.Setup+  - Stack.Setup.Installed+  - Stack.SetupCmd+  - Stack.Sig+  - Stack.Sig.GPG+  - Stack.Sig.Sign+  - Stack.Snapshot+  - Stack.Solver+  - Stack.StoreTH+  - Stack.Types.Build+  - Stack.Types.BuildPlan+  - Stack.Types.CompilerBuild+  - Stack.Types.Urls+  - Stack.Types.Compiler+  - Stack.Types.Config+  - Stack.Types.Config.Build+  - Stack.Types.Docker+  - Stack.Types.GhcPkgId+  - Stack.Types.Image+  - Stack.Types.NamedComponent+  - Stack.Types.Nix+  - Stack.Types.Package+  - Stack.Types.PackageDump+  - Stack.Types.PackageName+  - Stack.Types.PrettyPrint+  - Stack.Types.Resolver+  - Stack.Types.Runner+  - Stack.Types.Sig+  - Stack.Types.StylesUpdate+  - Stack.Types.TemplateName+  - Stack.Types.Version+  - Stack.Types.VersionIntervals+  - Stack.Unpack+  - Stack.Upgrade+  - Stack.Upload+  - Text.PrettyPrint.Leijen.Extended+  - System.Permissions+  - System.Process.PagerEditor+  - System.Terminal+  generated-exposed-modules:+  - Paths_stack+  source-dirs: src/+  ghc-options:+  - -fwarn-identities+  when:+    condition: os(windows)+    then:+      source-dirs:+      - src/windows/+    else:+      source-dirs:+      - src/unix/+      c-sources:+      - src/unix/cbits/uname.c+executables:+  stack:+    main: Main.hs+    generated-other-modules:+    - Build_stack+    - Paths_stack+    source-dirs:+    - src/main+    ghc-options:+    - -threaded+    - -rtsopts+    dependencies:+    - stack+    when:+    - condition: flag(static)+      cpp-options: []+      ld-options:+      - -static+      - -pthread+      dependencies: []+    - condition: '!(flag(disable-git-info))'+      cpp-options:+      - -DUSE_GIT_INFO+      ld-options: []+      dependencies:+      - githash+      - optparse-simple+    - condition: flag(hide-dependency-versions)+      cpp-options:+      - -DHIDE_DEP_VERSIONS+      ld-options: []+      dependencies: []+    - condition: flag(supported-build)+      cpp-options:+      - -DSUPPORTED_BUILD+      ld-options: []+      dependencies: []+tests:+  stack-integration-test:+    main: IntegrationSpec.hs+    source-dirs:+    - test/integration+    - test/integration/lib+    ghc-options:+    - -threaded+    - -rtsopts+    - -with-rtsopts=-N+    dependencies:+    - hspec+    when:+      condition: '!flag(integration-tests)'+      buildable: false+  stack-test:+    main: Spec.hs+    source-dirs:+    - src/test+    ghc-options:+    - -threaded+    dependencies:+    - QuickCheck+    - hspec+    - stack+    - smallcheck
+ test-suite-golden/test-files/real-world/stack/stack.yaml.cabal view
@@ -0,0 +1,627 @@+cabal-version: 2.0++-- This file has been generated from stack.yaml by hpack version 0.34.4.+--+-- see: https://github.com/sol/hpack++name:           stack+version:        1.10.0+synopsis:       The Haskell Tool Stack+description:    Please see the README.md for usage information, and+                the wiki on Github for more details.  Also, note that+                the API for the library is not currently stable, and may+                change significantly, even between minor releases. It is+                currently only intended for use by the executable.+category:       Development+homepage:       http://haskellstack.org+bug-reports:    https://github.com/commercialhaskell/stack/issues+author:         Commercial Haskell SIG+maintainer:     manny@fpcomplete.com+license:        BSD3+build-type:     Custom+extra-source-files:+    CONTRIBUTING.md+    ChangeLog.md+    README.md+    src/setup-shim/StackSetupShim.hs+    stack.yaml+    test/package-dump/ghc-7.10.txt+    test/package-dump/ghc-7.8.4-osx.txt+    test/package-dump/ghc-7.8.txt++source-repository head+  type: git+  location: https://github.com/commercialhaskell/stack++custom-setup+  setup-depends:+      Cabal >=2.4+    , base >=4.10 && <5+    , filepath++flag disable-git-info+  description: Disable compile-time inclusion of current git info in stack+  manual: True+  default: False++flag hide-dependency-versions+  description: Hides dependency versions from "stack --version", used only by building with stack.yaml+  manual: True+  default: False++flag integration-tests+  description: Run the integration test suite+  manual: True+  default: False++flag static+  description: Pass -static/-pthread to ghc when linking the stack binary.+  manual: True+  default: False++flag supported-build+  description: If false, causes "stack --version" to issue a warning about the build being unsupported.  True only if building with stack.yaml+  manual: True+  default: False++library+  exposed-modules:+      Control.Concurrent.Execute+      Data.Attoparsec.Args+      Data.Attoparsec.Combinators+      Data.Attoparsec.Interpreter+      Data.Monoid.Map+      Network.HTTP.Download+      Network.HTTP.Download.Verified+      Network.HTTP.StackClient+      Options.Applicative.Args+      Options.Applicative.Builder.Extra+      Options.Applicative.Complicated+      Path.CheckInstall+      Path.Extra+      Path.Find+      Stack.Build+      Stack.Build.Cache+      Stack.Build.ConstructPlan+      Stack.Build.Execute+      Stack.Build.Haddock+      Stack.Build.Installed+      Stack.Build.Source+      Stack.Build.Target+      Stack.BuildPlan+      Stack.Clean+      Stack.Config+      Stack.Config.Build+      Stack.Config.Urls+      Stack.Config.Docker+      Stack.Config.Nix+      Stack.ConfigCmd+      Stack.Constants+      Stack.Constants.Config+      Stack.Coverage+      Stack.DefaultColorWhen+      Stack.DefaultStyles+      Stack.Docker+      Stack.Docker.GlobalDB+      Stack.Dot+      Stack.FileWatch+      Stack.Freeze+      Stack.GhcPkg+      Stack.Ghci+      Stack.Ghci.Script+      Stack.Hoogle+      Stack.IDE+      Stack.Image+      Stack.Init+      Stack.Ls+      Stack.New+      Stack.Nix+      Stack.Options.BenchParser+      Stack.Options.BuildMonoidParser+      Stack.Options.BuildParser+      Stack.Options.CleanParser+      Stack.Options.ConfigParser+      Stack.Options.Completion+      Stack.Options.DockerParser+      Stack.Options.DotParser+      Stack.Options.ExecParser+      Stack.Options.FreezeParser+      Stack.Options.GhcBuildParser+      Stack.Options.GhciParser+      Stack.Options.GhcVariantParser+      Stack.Options.GlobalParser+      Stack.Options.HaddockParser+      Stack.Options.HpcReportParser+      Stack.Options.LogLevelParser+      Stack.Options.NewParser+      Stack.Options.NixParser+      Stack.Options.PackageParser+      Stack.Options.ResolverParser+      Stack.Options.ScriptParser+      Stack.Options.SDistParser+      Stack.Options.SolverParser+      Stack.Options.TestParser+      Stack.Options.Utils+      Stack.Package+      Stack.PackageDump+      Stack.Path+      Stack.Prelude+      Stack.PrettyPrint+      Stack.Runners+      Stack.Script+      Stack.SDist+      Stack.Setup+      Stack.Setup.Installed+      Stack.SetupCmd+      Stack.Sig+      Stack.Sig.GPG+      Stack.Sig.Sign+      Stack.Snapshot+      Stack.Solver+      Stack.StoreTH+      Stack.Types.Build+      Stack.Types.BuildPlan+      Stack.Types.CompilerBuild+      Stack.Types.Urls+      Stack.Types.Compiler+      Stack.Types.Config+      Stack.Types.Config.Build+      Stack.Types.Docker+      Stack.Types.GhcPkgId+      Stack.Types.Image+      Stack.Types.NamedComponent+      Stack.Types.Nix+      Stack.Types.Package+      Stack.Types.PackageDump+      Stack.Types.PackageName+      Stack.Types.PrettyPrint+      Stack.Types.Resolver+      Stack.Types.Runner+      Stack.Types.Sig+      Stack.Types.StylesUpdate+      Stack.Types.TemplateName+      Stack.Types.Version+      Stack.Types.VersionIntervals+      Stack.Unpack+      Stack.Upgrade+      Stack.Upload+      Text.PrettyPrint.Leijen.Extended+      System.Permissions+      System.Process.PagerEditor+      System.Terminal+      Paths_stack+  autogen-modules:+      Paths_stack+  hs-source-dirs:+      src/+  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -fwarn-identities+  build-depends:+      Cabal >=2.4+    , aeson+    , annotated-wl-pprint+    , ansi-terminal >=0.8.1+    , array+    , async+    , attoparsec+    , base >=4.10 && <5+    , base64-bytestring+    , bytestring+    , colour+    , conduit+    , conduit-extra+    , containers+    , cryptonite+    , cryptonite-conduit+    , deepseq+    , directory+    , echo+    , exceptions+    , extra+    , file-embed+    , filelock+    , filepath+    , fsnotify+    , generic-deriving+    , hackage-security+    , hashable+    , hpack+    , hpc+    , http-client+    , http-client-tls+    , http-conduit+    , http-types+    , memory+    , microlens+    , mintty+    , monad-logger+    , mono-traversable+    , mtl+    , mustache+    , neat-interpolation+    , network-uri+    , open-browser+    , optparse-applicative+    , pantry+    , path+    , path-io+    , persistent+    , persistent-sqlite+    , persistent-template+    , pretty+    , primitive+    , process+    , project-template+    , regex-applicative-text+    , resourcet+    , retry >=0.7+    , rio+    , semigroups+    , split+    , stm+    , store-core+    , streaming-commons+    , tar+    , template-haskell+    , temporary+    , text+    , text-metrics+    , th-reify-many+    , time+    , tls+    , transformers+    , typed-process+    , unicode-transforms+    , unix-compat+    , unliftio >=0.2.8.0+    , unordered-containers+    , vector+    , yaml+    , zip-archive+    , zlib+  if os(windows)+    cpp-options: -DWINDOWS+    build-depends:+        Win32+  else+    build-tools:+        hsc2hs+    build-depends:+        unix+  if os(windows)+    hs-source-dirs:+        src/windows/+  else+    hs-source-dirs:+        src/unix/+    c-sources:+        src/unix/cbits/uname.c+  default-language: Haskell2010++executable stack+  main-is: Main.hs+  other-modules:+      Build_stack+      Paths_stack+  autogen-modules:+      Build_stack+      Paths_stack+  hs-source-dirs:+      src/main+  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded -rtsopts+  build-depends:+      Cabal >=2.4+    , aeson+    , annotated-wl-pprint+    , ansi-terminal >=0.8.1+    , array+    , async+    , attoparsec+    , base >=4.10 && <5+    , base64-bytestring+    , bytestring+    , colour+    , conduit+    , conduit-extra+    , containers+    , cryptonite+    , cryptonite-conduit+    , deepseq+    , directory+    , echo+    , exceptions+    , extra+    , file-embed+    , filelock+    , filepath+    , fsnotify+    , generic-deriving+    , hackage-security+    , hashable+    , hpack+    , hpc+    , http-client+    , http-client-tls+    , http-conduit+    , http-types+    , memory+    , microlens+    , mintty+    , monad-logger+    , mono-traversable+    , mtl+    , mustache+    , neat-interpolation+    , network-uri+    , open-browser+    , optparse-applicative+    , pantry+    , path+    , path-io+    , persistent+    , persistent-sqlite+    , persistent-template+    , pretty+    , primitive+    , process+    , project-template+    , regex-applicative-text+    , resourcet+    , retry >=0.7+    , rio+    , semigroups+    , split+    , stack+    , stm+    , store-core+    , streaming-commons+    , tar+    , template-haskell+    , temporary+    , text+    , text-metrics+    , th-reify-many+    , time+    , tls+    , transformers+    , typed-process+    , unicode-transforms+    , unix-compat+    , unliftio >=0.2.8.0+    , unordered-containers+    , vector+    , yaml+    , zip-archive+    , zlib+  if os(windows)+    cpp-options: -DWINDOWS+    build-depends:+        Win32+  else+    build-tools:+        hsc2hs+    build-depends:+        unix+  if flag(static)+    ld-options: -static -pthread+  if !(flag(disable-git-info))+    cpp-options: -DUSE_GIT_INFO+    build-depends:+        githash+      , optparse-simple+  if flag(hide-dependency-versions)+    cpp-options: -DHIDE_DEP_VERSIONS+  if flag(supported-build)+    cpp-options: -DSUPPORTED_BUILD+  default-language: Haskell2010++test-suite stack-integration-test+  type: exitcode-stdio-1.0+  main-is: IntegrationSpec.hs+  other-modules:+      Paths_stack+  hs-source-dirs:+      test/integration+      test/integration/lib+  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded -rtsopts -with-rtsopts=-N+  build-depends:+      Cabal >=2.4+    , aeson+    , annotated-wl-pprint+    , ansi-terminal >=0.8.1+    , array+    , async+    , attoparsec+    , base >=4.10 && <5+    , base64-bytestring+    , bytestring+    , colour+    , conduit+    , conduit-extra+    , containers+    , cryptonite+    , cryptonite-conduit+    , deepseq+    , directory+    , echo+    , exceptions+    , extra+    , file-embed+    , filelock+    , filepath+    , fsnotify+    , generic-deriving+    , hackage-security+    , hashable+    , hpack+    , hpc+    , hspec+    , http-client+    , http-client-tls+    , http-conduit+    , http-types+    , memory+    , microlens+    , mintty+    , monad-logger+    , mono-traversable+    , mtl+    , mustache+    , neat-interpolation+    , network-uri+    , open-browser+    , optparse-applicative+    , pantry+    , path+    , path-io+    , persistent+    , persistent-sqlite+    , persistent-template+    , pretty+    , primitive+    , process+    , project-template+    , regex-applicative-text+    , resourcet+    , retry >=0.7+    , rio+    , semigroups+    , split+    , stm+    , store-core+    , streaming-commons+    , tar+    , template-haskell+    , temporary+    , text+    , text-metrics+    , th-reify-many+    , time+    , tls+    , transformers+    , typed-process+    , unicode-transforms+    , unix-compat+    , unliftio >=0.2.8.0+    , unordered-containers+    , vector+    , yaml+    , zip-archive+    , zlib+  if os(windows)+    cpp-options: -DWINDOWS+    build-depends:+        Win32+  else+    build-tools:+        hsc2hs+    build-depends:+        unix+  if !flag(integration-tests)+    buildable: False+  default-language: Haskell2010++test-suite stack-test+  type: exitcode-stdio-1.0+  main-is: Spec.hs+  other-modules:+      Paths_stack+  hs-source-dirs:+      src/test+  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded+  build-depends:+      Cabal >=2.4+    , QuickCheck+    , aeson+    , annotated-wl-pprint+    , ansi-terminal >=0.8.1+    , array+    , async+    , attoparsec+    , base >=4.10 && <5+    , base64-bytestring+    , bytestring+    , colour+    , conduit+    , conduit-extra+    , containers+    , cryptonite+    , cryptonite-conduit+    , deepseq+    , directory+    , echo+    , exceptions+    , extra+    , file-embed+    , filelock+    , filepath+    , fsnotify+    , generic-deriving+    , hackage-security+    , hashable+    , hpack+    , hpc+    , hspec+    , http-client+    , http-client-tls+    , http-conduit+    , http-types+    , memory+    , microlens+    , mintty+    , monad-logger+    , mono-traversable+    , mtl+    , mustache+    , neat-interpolation+    , network-uri+    , open-browser+    , optparse-applicative+    , pantry+    , path+    , path-io+    , persistent+    , persistent-sqlite+    , persistent-template+    , pretty+    , primitive+    , process+    , project-template+    , regex-applicative-text+    , resourcet+    , retry >=0.7+    , rio+    , semigroups+    , smallcheck+    , split+    , stack+    , stm+    , store-core+    , streaming-commons+    , tar+    , template-haskell+    , temporary+    , text+    , text-metrics+    , th-reify-many+    , time+    , tls+    , transformers+    , typed-process+    , unicode-transforms+    , unix-compat+    , unliftio >=0.2.8.0+    , unordered-containers+    , vector+    , yaml+    , zip-archive+    , zlib+  if os(windows)+    cpp-options: -DWINDOWS+    build-depends:+        Win32+  else+    build-tools:+        hsc2hs+    build-depends:+        unix+  default-language: Haskell2010
+ test-suite-golden/test-files/real-world/stack/stack.yaml.golden view
@@ -0,0 +1,358 @@+name: stack+version: 1.10.0+synopsis: The Haskell Tool Stack+description: |-+  Please see the README.md for usage information, and+  the wiki on Github for more details.  Also, note that+  the API for the library is not currently stable, and may+  change significantly, even between minor releases. It is+  currently only intended for use by the executable.+category: Development+homepage: http://haskellstack.org+author: Commercial Haskell SIG+maintainer: manny@fpcomplete.com+license: BSD3+github: commercialhaskell/stack+extra-source-files:+- CONTRIBUTING.md+- ChangeLog.md+- README.md+- doc/*.md+- src/setup-shim/StackSetupShim.hs+- stack.yaml+- test/package-dump/ghc-7.10.txt+- test/package-dump/ghc-7.8.4-osx.txt+- test/package-dump/ghc-7.8.txt+ghc-options:+- -Wall+- -fwarn-tabs+- -fwarn-incomplete-uni-patterns+- -fwarn-incomplete-record-updates+- '-optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue+  #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739)'+dependencies:+- Cabal >= 2.4+- aeson+- annotated-wl-pprint+- ansi-terminal >= 0.8.1+- array+- async+- attoparsec+- base >=4.10 && < 5+- base64-bytestring+- bytestring+- colour+- conduit+- conduit-extra+- containers+- cryptonite+- cryptonite-conduit+- deepseq+- directory+- echo+- exceptions+- extra+- file-embed+- filelock+- filepath+- fsnotify+- generic-deriving+- hackage-security+- hashable+- hpack+- hpc+- http-client+- http-client-tls+- http-conduit+- http-types+- memory+- microlens+- mintty+- monad-logger+- mono-traversable+- mtl+- mustache+- neat-interpolation+- network-uri+- open-browser+- optparse-applicative+- pantry+- path+- path-io+- persistent+- persistent-sqlite+- persistent-template+- pretty+- primitive+- process+- project-template+- regex-applicative-text+- resourcet+- retry >= 0.7+- rio+- semigroups+- split+- stm+- store-core+- streaming-commons+- tar+- template-haskell+- temporary+- text+- text-metrics+- th-reify-many+- time+- tls+- transformers+- typed-process+- unicode-transforms+- unix-compat+- unliftio >= 0.2.8.0+- unordered-containers+- vector+- yaml+- zip-archive+- zlib+when:+  condition: os(windows)+  then:+    cpp-options:+    - -DWINDOWS+    dependencies:+    - Win32+  else:+    dependencies:+    - unix+    build-tools:+    - hsc2hs+custom-setup:+  dependencies:+  - base >=4.10 && < 5+  - Cabal >= 2.4+  - filepath+flags:+  disable-git-info:+    description: Disable compile-time inclusion of current git info in stack+    manual: true+    default: false+  hide-dependency-versions:+    description: Hides dependency versions from "stack --version", used only by building+      with stack.yaml+    manual: true+    default: false+  integration-tests:+    description: Run the integration test suite+    manual: true+    default: false+  static:+    description: Pass -static/-pthread to ghc when linking the stack binary.+    manual: true+    default: false+  supported-build:+    description: If false, causes "stack --version" to issue a warning about the build+      being unsupported.  True only if building with stack.yaml+    manual: true+    default: false+library:+  exposed-modules:+  - Control.Concurrent.Execute+  - Data.Attoparsec.Args+  - Data.Attoparsec.Combinators+  - Data.Attoparsec.Interpreter+  - Data.Monoid.Map+  - Network.HTTP.Download+  - Network.HTTP.Download.Verified+  - Network.HTTP.StackClient+  - Options.Applicative.Args+  - Options.Applicative.Builder.Extra+  - Options.Applicative.Complicated+  - Path.CheckInstall+  - Path.Extra+  - Path.Find+  - Stack.Build+  - Stack.Build.Cache+  - Stack.Build.ConstructPlan+  - Stack.Build.Execute+  - Stack.Build.Haddock+  - Stack.Build.Installed+  - Stack.Build.Source+  - Stack.Build.Target+  - Stack.BuildPlan+  - Stack.Clean+  - Stack.Config+  - Stack.Config.Build+  - Stack.Config.Urls+  - Stack.Config.Docker+  - Stack.Config.Nix+  - Stack.ConfigCmd+  - Stack.Constants+  - Stack.Constants.Config+  - Stack.Coverage+  - Stack.DefaultColorWhen+  - Stack.DefaultStyles+  - Stack.Docker+  - Stack.Docker.GlobalDB+  - Stack.Dot+  - Stack.FileWatch+  - Stack.Freeze+  - Stack.GhcPkg+  - Stack.Ghci+  - Stack.Ghci.Script+  - Stack.Hoogle+  - Stack.IDE+  - Stack.Image+  - Stack.Init+  - Stack.Ls+  - Stack.New+  - Stack.Nix+  - Stack.Options.BenchParser+  - Stack.Options.BuildMonoidParser+  - Stack.Options.BuildParser+  - Stack.Options.CleanParser+  - Stack.Options.ConfigParser+  - Stack.Options.Completion+  - Stack.Options.DockerParser+  - Stack.Options.DotParser+  - Stack.Options.ExecParser+  - Stack.Options.FreezeParser+  - Stack.Options.GhcBuildParser+  - Stack.Options.GhciParser+  - Stack.Options.GhcVariantParser+  - Stack.Options.GlobalParser+  - Stack.Options.HaddockParser+  - Stack.Options.HpcReportParser+  - Stack.Options.LogLevelParser+  - Stack.Options.NewParser+  - Stack.Options.NixParser+  - Stack.Options.PackageParser+  - Stack.Options.ResolverParser+  - Stack.Options.ScriptParser+  - Stack.Options.SDistParser+  - Stack.Options.SolverParser+  - Stack.Options.TestParser+  - Stack.Options.Utils+  - Stack.Package+  - Stack.PackageDump+  - Stack.Path+  - Stack.Prelude+  - Stack.PrettyPrint+  - Stack.Runners+  - Stack.Script+  - Stack.SDist+  - Stack.Setup+  - Stack.Setup.Installed+  - Stack.SetupCmd+  - Stack.Sig+  - Stack.Sig.GPG+  - Stack.Sig.Sign+  - Stack.Snapshot+  - Stack.Solver+  - Stack.StoreTH+  - Stack.Types.Build+  - Stack.Types.BuildPlan+  - Stack.Types.CompilerBuild+  - Stack.Types.Urls+  - Stack.Types.Compiler+  - Stack.Types.Config+  - Stack.Types.Config.Build+  - Stack.Types.Docker+  - Stack.Types.GhcPkgId+  - Stack.Types.Image+  - Stack.Types.NamedComponent+  - Stack.Types.Nix+  - Stack.Types.Package+  - Stack.Types.PackageDump+  - Stack.Types.PackageName+  - Stack.Types.PrettyPrint+  - Stack.Types.Resolver+  - Stack.Types.Runner+  - Stack.Types.Sig+  - Stack.Types.StylesUpdate+  - Stack.Types.TemplateName+  - Stack.Types.Version+  - Stack.Types.VersionIntervals+  - Stack.Unpack+  - Stack.Upgrade+  - Stack.Upload+  - Text.PrettyPrint.Leijen.Extended+  - System.Permissions+  - System.Process.PagerEditor+  - System.Terminal+  generated-exposed-modules:+  - Paths_stack+  source-dirs: src/+  ghc-options:+  - -fwarn-identities+  when:+    condition: os(windows)+    then:+      source-dirs:+      - src/windows/+    else:+      source-dirs:+      - src/unix/+      c-sources:+      - src/unix/cbits/uname.c+executables:+  stack:+    main: Main.hs+    generated-other-modules:+    - Build_stack+    - Paths_stack+    source-dirs:+    - src/main+    ghc-options:+    - -threaded+    - -rtsopts+    dependencies:+    - stack+    when:+    - condition: flag(static)+      cpp-options: []+      ld-options:+      - -static+      - -pthread+      dependencies: []+    - condition: '!(flag(disable-git-info))'+      cpp-options:+      - -DUSE_GIT_INFO+      ld-options: []+      dependencies:+      - githash+      - optparse-simple+    - condition: flag(hide-dependency-versions)+      cpp-options:+      - -DHIDE_DEP_VERSIONS+      ld-options: []+      dependencies: []+    - condition: flag(supported-build)+      cpp-options:+      - -DSUPPORTED_BUILD+      ld-options: []+      dependencies: []+tests:+  stack-integration-test:+    main: IntegrationSpec.hs+    source-dirs:+    - test/integration+    - test/integration/lib+    ghc-options:+    - -threaded+    - -rtsopts+    - -with-rtsopts=-N+    dependencies:+    - hspec+    when:+      condition: '!flag(integration-tests)'+      buildable: false+  stack-test:+    main: Spec.hs+    source-dirs:+    - src/test+    ghc-options:+    - -threaded+    dependencies:+    - QuickCheck+    - hspec+    - stack+    - smallcheck
+ test-suite-hlint/HLint.hs view
@@ -0,0 +1,21 @@+module Main (main) where++import Language.Haskell.HLint (hlint)+import System.Exit (exitFailure, exitSuccess)++arguments :: [String]+arguments =+    [ "library"+    , "exe"+    , "test-suite-hlint"+    , "test-suite-golden"+    -- WARNING: HLint turns off QuasiQuotes even if turned on in+    -- default-extensions in the cabal file, #55.+    -- SEE: https://github.com/ndmitchell/hlint/issues/223+    , "-XQuasiQuotes"+    ]++main :: IO ()+main = do+    hints <- hlint arguments+    if null hints then exitSuccess else exitFailure
− test/golden/src/Golden.hs
@@ -1,145 +0,0 @@-{-# LANGUAGE MultiWayIf #-}--module Main (main) where--import System.FilePath-    ( (</>), (<.>), (-<.>)-    , takeBaseName, replaceExtension-    , takeDirectory, splitDirectories, joinPath-    )-import System.Directory (renameFile)-import Test.Tasty (defaultMain, TestTree, testGroup)-import Test.Tasty.Golden (findByExtension)-import Test.Tasty.Golden (goldenVsFile, goldenVsString)--import Hpack (Verbose(..), Options(..), hpack, defaultOptions, setDecode)-import Hpack.Config (DecodeOptions(..))-import Hpack.Dhall (fileToJson, showDhall, showJson, showYaml)-import Data.ByteString.Lazy.UTF8 (fromString)--main :: IO ()-main =-    defaultMain =<< goldenTests--goldenTests :: IO TestTree-goldenTests = do-    ks <- findByExtension [".dhall"] "test/golden/test-files/key"-    rs <- findByExtension [".dhall"] "test/golden/test-files/real-world"-    g1 <- goldenTestSet "archetypes" ks-    g2 <- goldenTestSet "real-world examples" rs-    return $ testGroup "golden tests" [g1 , g2]--goldenTestSet :: String -> [FilePath] -> IO TestTree-goldenTestSet title dhallFiles = do-    return $ testGroup title -        [ testGroup ".dhall to .cabal"-            [ goldenVsFile-                (testName dhallFile)-                (cabalFile <.> ".golden")-                cabalFile-                (writeDhallCabal dhallFile)-            | dhallFile <- dhallFiles-            , let cabalFile = cabalFilePath dhallFile-            ]-        , testGroup ".dhall to dhall"-            [ goldenVsString-                (testName dhallFile)-                (dhallFile <.> ".golden")-                (fmap fromString . showDhall $ dhallFile)-            | dhallFile <- dhallFiles-            ]-        , testGroup ".dhall to json"-            [ goldenVsFile-                (testName dhallFile)-                (dhallFile -<.> ".json.golden")-                jsonFile-                (writeJson dhallFile jsonFile)-            | dhallFile <- dhallFiles-            , let jsonFile = dhallFile -<.> ".json"-            ]-        , testGroup ".dhall to yaml"-            [ goldenVsFile-                (testName dhallFile)-                (dhallFile -<.> ".yaml.golden")-                yamlFile-                (writeYaml dhallFile yamlFile)-            | dhallFile <- dhallFiles-            , let yamlFile = dhallFile -<.> ".yaml"-            ]-        , testGroup ".yaml to .cabal"-            [ goldenVsFile-                (testName dhallFile)-                (cabalFile <.> ".golden")-                cabalFile-                (writeYamlCabal yamlFile cabalFile yamlCabalFile)-            | dhallFile <- dhallFiles-            , let yamlFile = dhallFile -<.> ".yaml"-            , let cabalFile = cabalFilePath dhallFile-            , let yamlCabalFile = yamlFile <.> ".cabal"-            ]-        ]--testName :: FilePath -> FilePath-testName p =-    if | fName == dName -> fName-       | fName == "package" -> dName-       | dName == "key" -> fName-       | dName == "real-world" -> fName-       | otherwise -> dName </> fName-    where-        dName =-            joinPath-            . take 1-            . reverse-            . splitDirectories-            . takeDirectory-            $ p--        fName = takeBaseName p--writeDhallCabal :: FilePath -> IO ()-writeDhallCabal dhallFile =-    hpack NoVerbose (setDecode fileToJson options)-    where-        d = optionsDecodeOptions defaultOptions-        d' = d {decodeOptionsTarget = dhallFile}-        options = defaultOptions {optionsDecodeOptions = d'}--writeYamlCabal :: FilePath -> FilePath -> FilePath -> IO ()-writeYamlCabal yamlFile cabalFile yamlCabalFile = do-        renameFile cabalFile tmp-        hpack NoVerbose options-        renameFile cabalFile yamlCabalFile-        renameFile tmp cabalFile-    where-        tmp = cabalFile <.> ".TMP"--        d = optionsDecodeOptions defaultOptions-        d' = d {decodeOptionsTarget = yamlFile}-        options =-            defaultOptions-                { optionsDecodeOptions = d'-                }--writeJson :: FilePath -> FilePath -> IO ()-writeJson dhallFile jsonFile = do-    s <- showJson Nothing dhallFile-    writeFile jsonFile s--writeYaml :: FilePath -> FilePath -> IO ()-writeYaml dhallFile yamlFile = do-    s <- showYaml Nothing dhallFile-    writeFile yamlFile s--cabalFilePath :: FilePath -> FilePath-cabalFilePath p-    | takeBaseName p == "package" =-        case reverse . splitDirectories $ ds of-            d : ds' -> joinPath (reverse ds') </> d </> d <.> ".cabal"-            _ -> replaceExtension p ".cabal"--    | otherwise =-        replaceExtension p ".cabal"--    where-        ds = takeDirectory p
− test/golden/test-files/key/empty-inferred/empty-inferred.cabal
@@ -1,11 +0,0 @@-cabal-version: 1.12---- This file has been generated from package.dhall by hpack version 0.31.0.------ see: https://github.com/sol/hpack------ hash: 9f10239d716ef4564587e29b36c0e3b74056721733790211e20061a86a0feb53--name:           empty-inferred-version:        0.0.0-build-type:     Simple
− test/golden/test-files/key/empty-inferred/empty-inferred.cabal.golden
@@ -1,11 +0,0 @@-cabal-version: 1.12---- This file has been generated from package.dhall by hpack version 0.31.0.------ see: https://github.com/sol/hpack------ hash: 9f10239d716ef4564587e29b36c0e3b74056721733790211e20061a86a0feb53--name:           empty-inferred-version:        0.0.0-build-type:     Simple
− test/golden/test-files/key/empty-inferred/package.dhall
@@ -1,1 +0,0 @@-{=}
− test/golden/test-files/key/empty-inferred/package.dhall.golden
@@ -1,1 +0,0 @@-{=}
− test/golden/test-files/key/empty-inferred/package.json
@@ -1,1 +0,0 @@-{}
− test/golden/test-files/key/empty-inferred/package.json.golden
@@ -1,1 +0,0 @@-{}
− test/golden/test-files/key/empty-inferred/package.yaml
@@ -1,1 +0,0 @@-{}
− test/golden/test-files/key/empty-inferred/package.yaml.cabal
@@ -1,11 +0,0 @@-cabal-version: 1.12---- This file has been generated from package.yaml by hpack version 0.31.2.------ see: https://github.com/sol/hpack------ hash: 9f10239d716ef4564587e29b36c0e3b74056721733790211e20061a86a0feb53--name:           empty-inferred-version:        0.0.0-build-type:     Simple
− test/golden/test-files/key/empty-inferred/package.yaml.golden
@@ -1,1 +0,0 @@-{}
− test/golden/test-files/key/empty-package.cabal
@@ -1,11 +0,0 @@-cabal-version: 1.12---- This file has been generated from empty-package.dhall by hpack version 0.31.0.------ see: https://github.com/sol/hpack------ hash: e0a74f511d829cae53cd712664781db312951dd773249603163ba1b1e32afd04--name:           empty-package-version:        0.0.0-build-type:     Simple
− test/golden/test-files/key/empty-package.cabal.golden
@@ -1,11 +0,0 @@-cabal-version: 1.12---- This file has been generated from empty-package.dhall by hpack version 0.31.0.------ see: https://github.com/sol/hpack------ hash: e0a74f511d829cae53cd712664781db312951dd773249603163ba1b1e32afd04--name:           empty-package-version:        0.0.0-build-type:     Simple
− test/golden/test-files/key/empty-package.dhall
@@ -1,1 +0,0 @@-{ name = "empty-package" }
− test/golden/test-files/key/empty-package.dhall.golden
@@ -1,1 +0,0 @@-{ name = "empty-package" }
− test/golden/test-files/key/empty-package.json
@@ -1,3 +0,0 @@-{-    "name": "empty-package"-}
− test/golden/test-files/key/empty-package.json.golden
@@ -1,3 +0,0 @@-{-    "name": "empty-package"-}
− test/golden/test-files/key/empty-package.yaml
@@ -1,1 +0,0 @@-name: empty-package
− test/golden/test-files/key/empty-package.yaml.cabal
@@ -1,11 +0,0 @@-cabal-version: 1.12---- This file has been generated from empty-package.yaml by hpack version 0.31.2.------ see: https://github.com/sol/hpack------ hash: e0a74f511d829cae53cd712664781db312951dd773249603163ba1b1e32afd04--name:           empty-package-version:        0.0.0-build-type:     Simple
− test/golden/test-files/key/empty-package.yaml.golden
@@ -1,1 +0,0 @@-name: empty-package
− test/golden/test-files/key/import-local/import-local.cabal
@@ -1,11 +0,0 @@-cabal-version: 1.12---- This file has been generated from package.dhall by hpack version 0.31.0.------ see: https://github.com/sol/hpack------ hash: fb3f09267f149cb49eb030ac951c27be9964aa0d51e91460e5b2d59ee1a5082f--name:           import-local-version:        0.0.0-build-type:     Simple
− test/golden/test-files/key/import-local/import-local.cabal.golden
@@ -1,11 +0,0 @@-cabal-version: 1.12---- This file has been generated from package.dhall by hpack version 0.31.0.------ see: https://github.com/sol/hpack------ hash: fb3f09267f149cb49eb030ac951c27be9964aa0d51e91460e5b2d59ee1a5082f--name:           import-local-version:        0.0.0-build-type:     Simple
− test/golden/test-files/key/import-local/name.dhl
@@ -1,1 +0,0 @@-{ name = "import-local" }
− test/golden/test-files/key/import-local/package.dhall
@@ -1,1 +0,0 @@-./name.dhl ⫽ {=}
− test/golden/test-files/key/import-local/package.dhall.golden
@@ -1,1 +0,0 @@-{ name = "import-local" } ⫽ {=}
− test/golden/test-files/key/import-local/package.json
@@ -1,3 +0,0 @@-{-    "name": "import-local"-}
− test/golden/test-files/key/import-local/package.json.golden
@@ -1,3 +0,0 @@-{-    "name": "import-local"-}
− test/golden/test-files/key/import-local/package.yaml
@@ -1,1 +0,0 @@-name: import-local
− test/golden/test-files/key/import-local/package.yaml.cabal
@@ -1,11 +0,0 @@-cabal-version: 1.12---- This file has been generated from package.yaml by hpack version 0.31.2.------ see: https://github.com/sol/hpack------ hash: fb3f09267f149cb49eb030ac951c27be9964aa0d51e91460e5b2d59ee1a5082f--name:           import-local-version:        0.0.0-build-type:     Simple
− test/golden/test-files/key/import-local/package.yaml.golden
@@ -1,1 +0,0 @@-name: import-local
− test/golden/test-files/key/import-relative.dhl
@@ -1,1 +0,0 @@-{ name = "import-relative" }
− test/golden/test-files/key/import-relative/import-relative.cabal
@@ -1,11 +0,0 @@-cabal-version: 1.12---- This file has been generated from package.dhall by hpack version 0.31.0.------ see: https://github.com/sol/hpack------ hash: 989056d21c3910e06ec15967716df134a39f43c561858afff828d22802a22005--name:           import-relative-version:        0.0.0-build-type:     Simple
− test/golden/test-files/key/import-relative/import-relative.cabal.golden
@@ -1,11 +0,0 @@-cabal-version: 1.12---- This file has been generated from package.dhall by hpack version 0.31.0.------ see: https://github.com/sol/hpack------ hash: 989056d21c3910e06ec15967716df134a39f43c561858afff828d22802a22005--name:           import-relative-version:        0.0.0-build-type:     Simple
− test/golden/test-files/key/import-relative/package.dhall
@@ -1,1 +0,0 @@-../import-relative.dhl ⫽ {=}
− test/golden/test-files/key/import-relative/package.dhall.golden
@@ -1,1 +0,0 @@-{ name = "import-relative" } ⫽ {=}
− test/golden/test-files/key/import-relative/package.json
@@ -1,3 +0,0 @@-{-    "name": "import-relative"-}
− test/golden/test-files/key/import-relative/package.json.golden
@@ -1,3 +0,0 @@-{-    "name": "import-relative"-}
− test/golden/test-files/key/import-relative/package.yaml
@@ -1,1 +0,0 @@-name: import-relative
− test/golden/test-files/key/import-relative/package.yaml.cabal
@@ -1,11 +0,0 @@-cabal-version: 1.12---- This file has been generated from package.yaml by hpack version 0.31.2.------ see: https://github.com/sol/hpack------ hash: 989056d21c3910e06ec15967716df134a39f43c561858afff828d22802a22005--name:           import-relative-version:        0.0.0-build-type:     Simple
− test/golden/test-files/key/import-relative/package.yaml.golden
@@ -1,1 +0,0 @@-name: import-relative
− test/golden/test-files/key/when-dependencies.cabal
@@ -1,11 +0,0 @@-cabal-version: 1.12---- This file has been generated from when-dependencies.dhall by hpack version 0.31.1.------ see: https://github.com/sol/hpack------ hash: a1d315a919b697e7986a0c149715373427427e43104f82f05f394a439793907f--name:           when-dependencies-version:        0.0.0-build-type:     Simple
− test/golden/test-files/key/when-dependencies.cabal.golden
@@ -1,11 +0,0 @@-cabal-version: 1.12---- This file has been generated from when-dependencies.dhall by hpack version 0.31.1.------ see: https://github.com/sol/hpack------ hash: a1d315a919b697e7986a0c149715373427427e43104f82f05f394a439793907f--name:           when-dependencies-version:        0.0.0-build-type:     Simple
− test/golden/test-files/key/when-dependencies.dhall
@@ -1,13 +0,0 @@-    let deps = [ "base == 4.*" ]--in  { name =-        "when-dependencies"-    , when =-        { condition =-            "impl(ghc < 8.2.2)"-        , `then` =-            { dependencies = deps # [ "yaml" ] }-        , `else` =-            { dependencies = deps # [ "yaml-pretty-extras" ] }-        }-    }
− test/golden/test-files/key/when-dependencies.dhall.golden
@@ -1,13 +0,0 @@-let deps = [ "base == 4.*" ]--in  { name =-        "when-dependencies"-    , when =-        { condition =-            "impl(ghc < 8.2.2)"-        , `then` =-            { dependencies = deps # [ "yaml" ] }-        , `else` =-            { dependencies = deps # [ "yaml-pretty-extras" ] }-        }-    }
− test/golden/test-files/key/when-dependencies.json
@@ -1,18 +0,0 @@-{-    "name": "when-dependencies",-    "when": {-        "condition": "impl(ghc < 8.2.2)",-        "then": {-            "dependencies": [-                "base == 4.*",-                "yaml"-            ]-        },-        "else": {-            "dependencies": [-                "base == 4.*",-                "yaml-pretty-extras"-            ]-        }-    }-}
− test/golden/test-files/key/when-dependencies.json.golden
@@ -1,18 +0,0 @@-{-    "name": "when-dependencies",-    "when": {-        "condition": "impl(ghc < 8.2.2)",-        "then": {-            "dependencies": [-                "base == 4.*",-                "yaml"-            ]-        },-        "else": {-            "dependencies": [-                "base == 4.*",-                "yaml-pretty-extras"-            ]-        }-    }-}
− test/golden/test-files/key/when-dependencies.yaml
@@ -1,11 +0,0 @@-name: when-dependencies-when:-  condition: impl(ghc < 8.2.2)-  then:-    dependencies:-    - base == 4.*-    - yaml-  else:-    dependencies:-    - base == 4.*-    - yaml-pretty-extras
− test/golden/test-files/key/when-dependencies.yaml.cabal
@@ -1,11 +0,0 @@-cabal-version: 1.12---- This file has been generated from when-dependencies.yaml by hpack version 0.31.2.------ see: https://github.com/sol/hpack------ hash: a1d315a919b697e7986a0c149715373427427e43104f82f05f394a439793907f--name:           when-dependencies-version:        0.0.0-build-type:     Simple
− test/golden/test-files/key/when-dependencies.yaml.golden
@@ -1,11 +0,0 @@-name: when-dependencies-when:-  condition: impl(ghc < 8.2.2)-  then:-    dependencies:-    - base == 4.*-    - yaml-  else:-    dependencies:-    - base == 4.*-    - yaml-pretty-extras
− test/golden/test-files/real-world/hpack/hpack.cabal
@@ -1,136 +0,0 @@-cabal-version: 1.12---- This file has been generated from hpack.dhall by hpack version 0.31.0.------ see: https://github.com/sol/hpack------ hash: 6233d5bc3d8cc3400d64ab30856182d4a593d9245bfdd5096e1287213cc3ae31--name:           hpack-version:        0.31.1-synopsis:       A modern format for Haskell packages-description:    See README at <https://github.com/sol/hpack#readme>-category:       Development-homepage:       https://github.com/sol/hpack#readme-bug-reports:    https://github.com/sol/hpack/issues-maintainer:     Simon Hengel <sol@typeful.net>-build-type:     Simple-extra-source-files:-    CHANGELOG.md--source-repository head-  type: git-  location: https://github.com/sol/hpack--library-  exposed-modules:-      Hpack-      Hpack.Config-      Hpack.Render-      Hpack.Yaml-  other-modules:-      Paths_hpack-  hs-source-dirs:-      src-  ghc-options: -Wall-  build-depends:-      Cabal >=2.2-    , Glob >=0.9.0-    , aeson >=1.2.1.0-    , base >=4.9 && <5-    , bifunctors-    , bytestring-    , containers-    , cryptonite-    , deepseq-    , directory-    , filepath-    , http-client-    , http-client-tls-    , http-types-    , infer-license >=0.2.0 && <0.3-    , pretty-    , scientific-    , text-    , transformers-    , unordered-containers-    , vector-    , yaml >=0.10.0-  default-language: Haskell2010--executable hpack-  main-is: Main.hs-  other-modules:-      Paths_hpack-  hs-source-dirs:-      driver-  ghc-options: -Wall-  build-depends:-      Cabal >=2.2-    , Glob >=0.9.0-    , aeson >=1.2.1.0-    , base >=4.9 && <5-    , bifunctors-    , bytestring-    , containers-    , cryptonite-    , deepseq-    , directory-    , filepath-    , hpack-    , http-client-    , http-client-tls-    , http-types-    , infer-license >=0.2.0 && <0.3-    , pretty-    , scientific-    , text-    , transformers-    , unordered-containers-    , vector-    , yaml >=0.10.0-  default-language: Haskell2010--test-suite spec-  type: exitcode-stdio-1.0-  main-is: Spec.hs-  other-modules:-      Paths_hpack-  hs-source-dirs:-      test-      src-  ghc-options: -Wall-  cpp-options: -DTEST-  build-tool-depends:-      hspec-discover:hspec-discover-  build-depends:-      Cabal >=2.2-    , Glob >=0.9.0-    , HUnit >=1.6.0.0-    , QuickCheck-    , aeson >=1.2.1.0-    , base >=4.9 && <5-    , bifunctors-    , bytestring-    , containers-    , cryptonite-    , deepseq-    , directory-    , filepath-    , hspec ==2.*-    , http-client-    , http-client-tls-    , http-types-    , infer-license >=0.2.0 && <0.3-    , interpolate-    , mockery >=0.3-    , pretty-    , scientific-    , template-haskell-    , temporary-    , text-    , transformers-    , unordered-containers-    , vector-    , yaml >=0.10.0-  default-language: Haskell2010
− test/golden/test-files/real-world/hpack/hpack.cabal.golden
@@ -1,136 +0,0 @@-cabal-version: 1.12---- This file has been generated from hpack.dhall by hpack version 0.31.0.------ see: https://github.com/sol/hpack------ hash: 6233d5bc3d8cc3400d64ab30856182d4a593d9245bfdd5096e1287213cc3ae31--name:           hpack-version:        0.31.1-synopsis:       A modern format for Haskell packages-description:    See README at <https://github.com/sol/hpack#readme>-category:       Development-homepage:       https://github.com/sol/hpack#readme-bug-reports:    https://github.com/sol/hpack/issues-maintainer:     Simon Hengel <sol@typeful.net>-build-type:     Simple-extra-source-files:-    CHANGELOG.md--source-repository head-  type: git-  location: https://github.com/sol/hpack--library-  exposed-modules:-      Hpack-      Hpack.Config-      Hpack.Render-      Hpack.Yaml-  other-modules:-      Paths_hpack-  hs-source-dirs:-      src-  ghc-options: -Wall-  build-depends:-      Cabal >=2.2-    , Glob >=0.9.0-    , aeson >=1.2.1.0-    , base >=4.9 && <5-    , bifunctors-    , bytestring-    , containers-    , cryptonite-    , deepseq-    , directory-    , filepath-    , http-client-    , http-client-tls-    , http-types-    , infer-license >=0.2.0 && <0.3-    , pretty-    , scientific-    , text-    , transformers-    , unordered-containers-    , vector-    , yaml >=0.10.0-  default-language: Haskell2010--executable hpack-  main-is: Main.hs-  other-modules:-      Paths_hpack-  hs-source-dirs:-      driver-  ghc-options: -Wall-  build-depends:-      Cabal >=2.2-    , Glob >=0.9.0-    , aeson >=1.2.1.0-    , base >=4.9 && <5-    , bifunctors-    , bytestring-    , containers-    , cryptonite-    , deepseq-    , directory-    , filepath-    , hpack-    , http-client-    , http-client-tls-    , http-types-    , infer-license >=0.2.0 && <0.3-    , pretty-    , scientific-    , text-    , transformers-    , unordered-containers-    , vector-    , yaml >=0.10.0-  default-language: Haskell2010--test-suite spec-  type: exitcode-stdio-1.0-  main-is: Spec.hs-  other-modules:-      Paths_hpack-  hs-source-dirs:-      test-      src-  ghc-options: -Wall-  cpp-options: -DTEST-  build-tool-depends:-      hspec-discover:hspec-discover-  build-depends:-      Cabal >=2.2-    , Glob >=0.9.0-    , HUnit >=1.6.0.0-    , QuickCheck-    , aeson >=1.2.1.0-    , base >=4.9 && <5-    , bifunctors-    , bytestring-    , containers-    , cryptonite-    , deepseq-    , directory-    , filepath-    , hspec ==2.*-    , http-client-    , http-client-tls-    , http-types-    , infer-license >=0.2.0 && <0.3-    , interpolate-    , mockery >=0.3-    , pretty-    , scientific-    , template-haskell-    , temporary-    , text-    , transformers-    , unordered-containers-    , vector-    , yaml >=0.10.0-  default-language: Haskell2010
− test/golden/test-files/real-world/hpack/hpack.dhall
@@ -1,72 +0,0 @@-{ name =-    "hpack"-, version =-    "0.31.1"-, synopsis =-    "A modern format for Haskell packages"-, description =-    "See README at <https://github.com/sol/hpack#readme>"-, maintainer =-    "Simon Hengel <sol@typeful.net>"-, github =-    "sol/hpack"-, category =-    "Development"-, extra-source-files =-    [ "CHANGELOG.md" ]-, ghc-options =-    "-Wall"-, dependencies =-    [ "base >= 4.9 && < 5"-    , "bytestring"-    , "deepseq"-    , "directory"-    , "filepath"-    , "Glob >= 0.9.0"-    , "text"-    , "containers"-    , "unordered-containers"-    , "yaml >= 0.10.0"-    , "aeson >= 1.2.1.0"-    , "scientific"-    , "Cabal >= 2.2"-    , "pretty"-    , "bifunctors"-    , "cryptonite"-    , "transformers"-    , "http-types"-    , "http-client"-    , "http-client-tls"-    , "vector"-    , "infer-license >= 0.2.0 && < 0.3"-    ]-, library =-    { source-dirs =-        "src"-    , exposed-modules =-        [ "Hpack", "Hpack.Config", "Hpack.Render", "Hpack.Yaml" ]-    }-, executable =-    { main = "Main.hs", source-dirs = "driver", dependencies = [ "hpack" ] }-, tests =-    { spec =-        { cpp-options =-            "-DTEST"-        , main =-            "Spec.hs"-        , source-dirs =-            [ "test", "src" ]-        , dependencies =-            [ "hspec == 2.*"-            , "QuickCheck"-            , "temporary"-            , "mockery >= 0.3"-            , "interpolate"-            , "template-haskell"-            , "HUnit >= 1.6.0.0"-            ]-        , build-tools =-            "hspec-discover"-        }-    }-}
− test/golden/test-files/real-world/hpack/hpack.dhall.golden
@@ -1,72 +0,0 @@-{ name =-    "hpack"-, version =-    "0.31.1"-, synopsis =-    "A modern format for Haskell packages"-, description =-    "See README at <https://github.com/sol/hpack#readme>"-, maintainer =-    "Simon Hengel <sol@typeful.net>"-, github =-    "sol/hpack"-, category =-    "Development"-, extra-source-files =-    [ "CHANGELOG.md" ]-, ghc-options =-    "-Wall"-, dependencies =-    [ "base >= 4.9 && < 5"-    , "bytestring"-    , "deepseq"-    , "directory"-    , "filepath"-    , "Glob >= 0.9.0"-    , "text"-    , "containers"-    , "unordered-containers"-    , "yaml >= 0.10.0"-    , "aeson >= 1.2.1.0"-    , "scientific"-    , "Cabal >= 2.2"-    , "pretty"-    , "bifunctors"-    , "cryptonite"-    , "transformers"-    , "http-types"-    , "http-client"-    , "http-client-tls"-    , "vector"-    , "infer-license >= 0.2.0 && < 0.3"-    ]-, library =-    { source-dirs =-        "src"-    , exposed-modules =-        [ "Hpack", "Hpack.Config", "Hpack.Render", "Hpack.Yaml" ]-    }-, executable =-    { main = "Main.hs", source-dirs = "driver", dependencies = [ "hpack" ] }-, tests =-    { spec =-        { cpp-options =-            "-DTEST"-        , main =-            "Spec.hs"-        , source-dirs =-            [ "test", "src" ]-        , dependencies =-            [ "hspec == 2.*"-            , "QuickCheck"-            , "temporary"-            , "mockery >= 0.3"-            , "interpolate"-            , "template-haskell"-            , "HUnit >= 1.6.0.0"-            ]-        , build-tools =-            "hspec-discover"-        }-    }-}
− test/golden/test-files/real-world/hpack/hpack.json
@@ -1,73 +0,0 @@-{-    "name": "hpack",-    "version": "0.31.1",-    "synopsis": "A modern format for Haskell packages",-    "description": "See README at <https://github.com/sol/hpack#readme>",-    "category": "Development",-    "maintainer": "Simon Hengel <sol@typeful.net>",-    "github": "sol/hpack",-    "extra-source-files": [-        "CHANGELOG.md"-    ],-    "ghc-options": "-Wall",-    "dependencies": [-        "base >= 4.9 && < 5",-        "bytestring",-        "deepseq",-        "directory",-        "filepath",-        "Glob >= 0.9.0",-        "text",-        "containers",-        "unordered-containers",-        "yaml >= 0.10.0",-        "aeson >= 1.2.1.0",-        "scientific",-        "Cabal >= 2.2",-        "pretty",-        "bifunctors",-        "cryptonite",-        "transformers",-        "http-types",-        "http-client",-        "http-client-tls",-        "vector",-        "infer-license >= 0.2.0 && < 0.3"-    ],-    "library": {-        "exposed-modules": [-            "Hpack",-            "Hpack.Config",-            "Hpack.Render",-            "Hpack.Yaml"-        ],-        "source-dirs": "src"-    },-    "executable": {-        "main": "Main.hs",-        "source-dirs": "driver",-        "dependencies": [-            "hpack"-        ]-    },-    "tests": {-        "spec": {-            "main": "Spec.hs",-            "source-dirs": [-                "test",-                "src"-            ],-            "cpp-options": "-DTEST",-            "dependencies": [-                "hspec == 2.*",-                "QuickCheck",-                "temporary",-                "mockery >= 0.3",-                "interpolate",-                "template-haskell",-                "HUnit >= 1.6.0.0"-            ],-            "build-tools": "hspec-discover"-        }-    }-}
− test/golden/test-files/real-world/hpack/hpack.json.golden
@@ -1,73 +0,0 @@-{-    "name": "hpack",-    "version": "0.31.1",-    "synopsis": "A modern format for Haskell packages",-    "description": "See README at <https://github.com/sol/hpack#readme>",-    "category": "Development",-    "maintainer": "Simon Hengel <sol@typeful.net>",-    "github": "sol/hpack",-    "extra-source-files": [-        "CHANGELOG.md"-    ],-    "ghc-options": "-Wall",-    "dependencies": [-        "base >= 4.9 && < 5",-        "bytestring",-        "deepseq",-        "directory",-        "filepath",-        "Glob >= 0.9.0",-        "text",-        "containers",-        "unordered-containers",-        "yaml >= 0.10.0",-        "aeson >= 1.2.1.0",-        "scientific",-        "Cabal >= 2.2",-        "pretty",-        "bifunctors",-        "cryptonite",-        "transformers",-        "http-types",-        "http-client",-        "http-client-tls",-        "vector",-        "infer-license >= 0.2.0 && < 0.3"-    ],-    "library": {-        "exposed-modules": [-            "Hpack",-            "Hpack.Config",-            "Hpack.Render",-            "Hpack.Yaml"-        ],-        "source-dirs": "src"-    },-    "executable": {-        "main": "Main.hs",-        "source-dirs": "driver",-        "dependencies": [-            "hpack"-        ]-    },-    "tests": {-        "spec": {-            "main": "Spec.hs",-            "source-dirs": [-                "test",-                "src"-            ],-            "cpp-options": "-DTEST",-            "dependencies": [-                "hspec == 2.*",-                "QuickCheck",-                "temporary",-                "mockery >= 0.3",-                "interpolate",-                "template-haskell",-                "HUnit >= 1.6.0.0"-            ],-            "build-tools": "hspec-discover"-        }-    }-}
− test/golden/test-files/real-world/hpack/hpack.yaml
@@ -1,61 +0,0 @@-name: hpack-version: 0.31.1-synopsis: A modern format for Haskell packages-description: See README at <https://github.com/sol/hpack#readme>-category: Development-maintainer: Simon Hengel <sol@typeful.net>-github: sol/hpack-extra-source-files:-- CHANGELOG.md-ghc-options: -Wall-dependencies:-- base >= 4.9 && < 5-- bytestring-- deepseq-- directory-- filepath-- Glob >= 0.9.0-- text-- containers-- unordered-containers-- yaml >= 0.10.0-- aeson >= 1.2.1.0-- scientific-- Cabal >= 2.2-- pretty-- bifunctors-- cryptonite-- transformers-- http-types-- http-client-- http-client-tls-- vector-- infer-license >= 0.2.0 && < 0.3-library:-  exposed-modules:-  - Hpack-  - Hpack.Config-  - Hpack.Render-  - Hpack.Yaml-  source-dirs: src-executable:-  main: Main.hs-  source-dirs: driver-  dependencies:-  - hpack-tests:-  spec:-    main: Spec.hs-    source-dirs:-    - test-    - src-    cpp-options: -DTEST-    dependencies:-    - hspec == 2.*-    - QuickCheck-    - temporary-    - mockery >= 0.3-    - interpolate-    - template-haskell-    - HUnit >= 1.6.0.0-    build-tools: hspec-discover
− test/golden/test-files/real-world/hpack/hpack.yaml.cabal
@@ -1,136 +0,0 @@-cabal-version: 1.12---- This file has been generated from hpack.yaml by hpack version 0.31.2.------ see: https://github.com/sol/hpack------ hash: 6233d5bc3d8cc3400d64ab30856182d4a593d9245bfdd5096e1287213cc3ae31--name:           hpack-version:        0.31.1-synopsis:       A modern format for Haskell packages-description:    See README at <https://github.com/sol/hpack#readme>-category:       Development-homepage:       https://github.com/sol/hpack#readme-bug-reports:    https://github.com/sol/hpack/issues-maintainer:     Simon Hengel <sol@typeful.net>-build-type:     Simple-extra-source-files:-    CHANGELOG.md--source-repository head-  type: git-  location: https://github.com/sol/hpack--library-  exposed-modules:-      Hpack-      Hpack.Config-      Hpack.Render-      Hpack.Yaml-  other-modules:-      Paths_hpack-  hs-source-dirs:-      src-  ghc-options: -Wall-  build-depends:-      Cabal >=2.2-    , Glob >=0.9.0-    , aeson >=1.2.1.0-    , base >=4.9 && <5-    , bifunctors-    , bytestring-    , containers-    , cryptonite-    , deepseq-    , directory-    , filepath-    , http-client-    , http-client-tls-    , http-types-    , infer-license >=0.2.0 && <0.3-    , pretty-    , scientific-    , text-    , transformers-    , unordered-containers-    , vector-    , yaml >=0.10.0-  default-language: Haskell2010--executable hpack-  main-is: Main.hs-  other-modules:-      Paths_hpack-  hs-source-dirs:-      driver-  ghc-options: -Wall-  build-depends:-      Cabal >=2.2-    , Glob >=0.9.0-    , aeson >=1.2.1.0-    , base >=4.9 && <5-    , bifunctors-    , bytestring-    , containers-    , cryptonite-    , deepseq-    , directory-    , filepath-    , hpack-    , http-client-    , http-client-tls-    , http-types-    , infer-license >=0.2.0 && <0.3-    , pretty-    , scientific-    , text-    , transformers-    , unordered-containers-    , vector-    , yaml >=0.10.0-  default-language: Haskell2010--test-suite spec-  type: exitcode-stdio-1.0-  main-is: Spec.hs-  other-modules:-      Paths_hpack-  hs-source-dirs:-      test-      src-  ghc-options: -Wall-  cpp-options: -DTEST-  build-tool-depends:-      hspec-discover:hspec-discover-  build-depends:-      Cabal >=2.2-    , Glob >=0.9.0-    , HUnit >=1.6.0.0-    , QuickCheck-    , aeson >=1.2.1.0-    , base >=4.9 && <5-    , bifunctors-    , bytestring-    , containers-    , cryptonite-    , deepseq-    , directory-    , filepath-    , hspec ==2.*-    , http-client-    , http-client-tls-    , http-types-    , infer-license >=0.2.0 && <0.3-    , interpolate-    , mockery >=0.3-    , pretty-    , scientific-    , template-haskell-    , temporary-    , text-    , transformers-    , unordered-containers-    , vector-    , yaml >=0.10.0-  default-language: Haskell2010
− test/golden/test-files/real-world/hpack/hpack.yaml.golden
@@ -1,61 +0,0 @@-name: hpack-version: 0.31.1-synopsis: A modern format for Haskell packages-description: See README at <https://github.com/sol/hpack#readme>-category: Development-maintainer: Simon Hengel <sol@typeful.net>-github: sol/hpack-extra-source-files:-- CHANGELOG.md-ghc-options: -Wall-dependencies:-- base >= 4.9 && < 5-- bytestring-- deepseq-- directory-- filepath-- Glob >= 0.9.0-- text-- containers-- unordered-containers-- yaml >= 0.10.0-- aeson >= 1.2.1.0-- scientific-- Cabal >= 2.2-- pretty-- bifunctors-- cryptonite-- transformers-- http-types-- http-client-- http-client-tls-- vector-- infer-license >= 0.2.0 && < 0.3-library:-  exposed-modules:-  - Hpack-  - Hpack.Config-  - Hpack.Render-  - Hpack.Yaml-  source-dirs: src-executable:-  main: Main.hs-  source-dirs: driver-  dependencies:-  - hpack-tests:-  spec:-    main: Spec.hs-    source-dirs:-    - test-    - src-    cpp-options: -DTEST-    dependencies:-    - hspec == 2.*-    - QuickCheck-    - temporary-    - mockery >= 0.3-    - interpolate-    - template-haskell-    - HUnit >= 1.6.0.0-    build-tools: hspec-discover
− test/golden/test-files/real-world/hpack/package.yaml
@@ -1,66 +0,0 @@-name: hpack-version: 0.31.1-synopsis: A modern format for Haskell packages-description: See README at <https://github.com/sol/hpack#readme>-maintainer: Simon Hengel <sol@typeful.net>-github: sol/hpack-category: Development-extra-source-files:-  - CHANGELOG.md--ghc-options: -Wall--dependencies:-  - base >= 4.9 && < 5-  - bytestring-  - deepseq-  - directory-  - filepath-  - Glob >= 0.9.0-  - text-  - containers-  - unordered-containers-  - yaml >= 0.10.0-  - aeson >= 1.2.1.0-  - scientific-  - Cabal >= 2.2-  - pretty-  - bifunctors-  - cryptonite-  - transformers-  - http-types-  - http-client-  - http-client-tls-  - vector-  - infer-license >= 0.2.0 && < 0.3--library:-  source-dirs: src-  exposed-modules:-    - Hpack-    - Hpack.Config-    - Hpack.Render-    - Hpack.Yaml--executable:-  main: Main.hs-  source-dirs: driver-  dependencies:-    - hpack--tests:-  spec:-    cpp-options: -DTEST-    main: Spec.hs-    source-dirs:-      - test-      - src-    dependencies:-      - hspec == 2.*-      - QuickCheck-      - temporary-      - mockery >= 0.3-      - interpolate-      - template-haskell-      - HUnit >= 1.6.0.0-    build-tools: hspec-discover
− test/golden/test-files/real-world/stack/package.yaml
@@ -1,341 +0,0 @@-name: stack-version: '1.10.0'-synopsis: The Haskell Tool Stack-description: ! 'Please see the README.md for usage information, and-  the wiki on Github for more details.  Also, note that-  the API for the library is not currently stable, and may-  change significantly, even between minor releases. It is-  currently only intended for use by the executable.'-category: Development-author: Commercial Haskell SIG-maintainer: manny@fpcomplete.com-license: BSD3-github: commercialhaskell/stack-homepage: http://haskellstack.org-custom-setup:-  dependencies:-  - base >=4.10 && < 5-  - Cabal >= 2.4-  - filepath-extra-source-files:-# note: leaving out 'package.yaml' because it causes confusion with hackage metadata revisions-- CONTRIBUTING.md-- ChangeLog.md-- README.md-- doc/*.md-- src/setup-shim/StackSetupShim.hs-- stack.yaml-- test/package-dump/ghc-7.10.txt-- test/package-dump/ghc-7.8.4-osx.txt-- test/package-dump/ghc-7.8.txt-ghc-options:-- -Wall-- -fwarn-tabs-- -fwarn-incomplete-uni-patterns-- -fwarn-incomplete-record-updates-- -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739)-dependencies:-- Cabal >= 2.4-- aeson-- annotated-wl-pprint-- ansi-terminal >= 0.8.1-- array-- async-- attoparsec-- base >=4.10 && < 5-- base64-bytestring-- bytestring-- colour-- conduit-- conduit-extra-- containers-- cryptonite-- cryptonite-conduit-- deepseq-- directory-- echo-- exceptions-- extra-- file-embed-- filelock-- filepath-- fsnotify-- generic-deriving-- hackage-security-- hashable-- hpack-- hpc-- http-client-- http-client-tls-- http-conduit-- http-types-- memory-- microlens-- mintty-# TODO remove dep when persistent drops monad-logger-- monad-logger-- mono-traversable-- mtl-- mustache-- neat-interpolation-- network-uri-- open-browser-- optparse-applicative-- pantry-- path-- path-io-- persistent-- persistent-sqlite-- persistent-template-- pretty-- primitive-- process-- project-template-- regex-applicative-text-- resourcet-- retry >= 0.7-- rio-- semigroups-- split-- stm-- store-core # FIXME remove-- streaming-commons-- tar-- template-haskell-- temporary-- text-- text-metrics-- th-reify-many-- time-- tls-- transformers-- typed-process-- unicode-transforms-- unix-compat-- unliftio >= 0.2.8.0-- unordered-containers-- vector-- yaml-- zip-archive-- zlib-when:-- condition: os(windows)-  then:-    cpp-options: -DWINDOWS-    dependencies:-    - Win32-  else:-    build-tools:-    - hsc2hs-    dependencies:-    - unix-library:-  source-dirs: src/-  ghc-options:-  - -fwarn-identities-  generated-exposed-modules:-  - Paths_stack-  exposed-modules:-  - Control.Concurrent.Execute-  - Data.Attoparsec.Args-  - Data.Attoparsec.Combinators-  - Data.Attoparsec.Interpreter-  - Data.Monoid.Map-  - Network.HTTP.Download-  - Network.HTTP.Download.Verified-  - Network.HTTP.StackClient-  - Options.Applicative.Args-  - Options.Applicative.Builder.Extra-  - Options.Applicative.Complicated-  - Path.CheckInstall-  - Path.Extra-  - Path.Find-  - Stack.Build-  - Stack.Build.Cache-  - Stack.Build.ConstructPlan-  - Stack.Build.Execute-  - Stack.Build.Haddock-  - Stack.Build.Installed-  - Stack.Build.Source-  - Stack.Build.Target-  - Stack.BuildPlan-  - Stack.Clean-  - Stack.Config-  - Stack.Config.Build-  - Stack.Config.Urls-  - Stack.Config.Docker-  - Stack.Config.Nix-  - Stack.ConfigCmd-  - Stack.Constants-  - Stack.Constants.Config-  - Stack.Coverage-  - Stack.DefaultColorWhen-  - Stack.DefaultStyles-  - Stack.Docker-  - Stack.Docker.GlobalDB-  - Stack.Dot-  - Stack.FileWatch-  - Stack.Freeze-  - Stack.GhcPkg-  - Stack.Ghci-  - Stack.Ghci.Script-  - Stack.Hoogle-  - Stack.IDE-  - Stack.Image-  - Stack.Init-  - Stack.Ls-  - Stack.New-  - Stack.Nix-  - Stack.Options.BenchParser-  - Stack.Options.BuildMonoidParser-  - Stack.Options.BuildParser-  - Stack.Options.CleanParser-  - Stack.Options.ConfigParser-  - Stack.Options.Completion-  - Stack.Options.DockerParser-  - Stack.Options.DotParser-  - Stack.Options.ExecParser-  - Stack.Options.FreezeParser-  - Stack.Options.GhcBuildParser-  - Stack.Options.GhciParser-  - Stack.Options.GhcVariantParser-  - Stack.Options.GlobalParser-  - Stack.Options.HaddockParser-  - Stack.Options.HpcReportParser-  - Stack.Options.LogLevelParser-  - Stack.Options.NewParser-  - Stack.Options.NixParser-  - Stack.Options.PackageParser-  - Stack.Options.ResolverParser-  - Stack.Options.ScriptParser-  - Stack.Options.SDistParser-  - Stack.Options.SolverParser-  - Stack.Options.TestParser-  - Stack.Options.Utils-  - Stack.Package-  - Stack.PackageDump-  - Stack.Path-  - Stack.Prelude-  - Stack.PrettyPrint-  - Stack.Runners-  - Stack.Script-  - Stack.SDist-  - Stack.Setup-  - Stack.Setup.Installed-  - Stack.SetupCmd-  - Stack.Sig-  - Stack.Sig.GPG-  - Stack.Sig.Sign-  - Stack.Snapshot-  - Stack.Solver-  - Stack.StoreTH-  - Stack.Types.Build-  - Stack.Types.BuildPlan-  - Stack.Types.CompilerBuild-  - Stack.Types.Urls-  - Stack.Types.Compiler-  - Stack.Types.Config-  - Stack.Types.Config.Build-  - Stack.Types.Docker-  - Stack.Types.GhcPkgId-  - Stack.Types.Image-  - Stack.Types.NamedComponent-  - Stack.Types.Nix-  - Stack.Types.Package-  - Stack.Types.PackageDump-  - Stack.Types.PackageName-  - Stack.Types.PrettyPrint-  - Stack.Types.Resolver-  - Stack.Types.Runner-  - Stack.Types.Sig-  - Stack.Types.StylesUpdate-  - Stack.Types.TemplateName-  - Stack.Types.Version-  - Stack.Types.VersionIntervals-  - Stack.Unpack-  - Stack.Upgrade-  - Stack.Upload-  - Text.PrettyPrint.Leijen.Extended-  - System.Permissions-  - System.Process.PagerEditor-  - System.Terminal-  when:-  - condition: 'os(windows)'-    then:-      source-dirs: src/windows/-    else:-      source-dirs: src/unix/-      c-sources: src/unix/cbits/uname.c-executables:-  stack:-    main: Main.hs-    source-dirs: src/main-    generated-other-modules:-    - Build_stack,-    - Paths_stack-    ghc-options:-    - -threaded-    - -rtsopts-    dependencies:-    - stack-    when:-    - condition: flag(static)-      ld-options:-      - -static-      - -pthread-    - condition: ! '!(flag(disable-git-info))'-      cpp-options: -DUSE_GIT_INFO-      dependencies:-      - githash-      - optparse-simple-    - condition: flag(hide-dependency-versions)-      cpp-options: -DHIDE_DEP_VERSIONS-    - condition: flag(supported-build)-      cpp-options: -DSUPPORTED_BUILD-tests:-  stack-test:-    main: Spec.hs-    source-dirs: src/test-    ghc-options:-    - -threaded-    dependencies:-    - QuickCheck-    - hspec-    - stack-    - smallcheck-  stack-integration-test:-    main: IntegrationSpec.hs-    source-dirs:-    - test/integration-    - test/integration/lib-    ghc-options:-    - -threaded-    - -rtsopts-    - -with-rtsopts=-N-    dependencies:-    - hspec-    when:-    - condition: ! '!(flag(integration-tests))'-      buildable: false-flags:-  static:-    description: Pass -static/-pthread to ghc when linking the stack binary.-    manual: true-    default: false-  disable-git-info:-    description: Disable compile-time inclusion of current git info in stack-    manual: true-    default: false-  hide-dependency-versions:-    description: Hides dependency versions from "stack --version", used only by building-      with stack.yaml-    manual: true-    default: false-  integration-tests:-    description: Run the integration test suite-    manual: true-    default: false-  supported-build:-    description: If false, causes "stack --version" to issue a warning about the build being unsupported.  True only if building with stack.yaml-    manual: true-    default: false
− test/golden/test-files/real-world/stack/stack.cabal
@@ -1,629 +0,0 @@-cabal-version: 2.0---- This file has been generated from stack.dhall by hpack version 0.31.1.------ see: https://github.com/sol/hpack------ hash: 33d90e3e81d97f3c404a9e20246cf4aa6942dc054db675cadd50b1edd68582ce--name:           stack-version:        1.10.0-synopsis:       The Haskell Tool Stack-description:    Please see the README.md for usage information, and-                the wiki on Github for more details.  Also, note that-                the API for the library is not currently stable, and may-                change significantly, even between minor releases. It is-                currently only intended for use by the executable.-category:       Development-homepage:       http://haskellstack.org-bug-reports:    https://github.com/commercialhaskell/stack/issues-author:         Commercial Haskell SIG-maintainer:     manny@fpcomplete.com-license:        BSD3-build-type:     Custom-extra-source-files:-    CONTRIBUTING.md-    ChangeLog.md-    README.md-    src/setup-shim/StackSetupShim.hs-    stack.yaml-    test/package-dump/ghc-7.10.txt-    test/package-dump/ghc-7.8.4-osx.txt-    test/package-dump/ghc-7.8.txt--source-repository head-  type: git-  location: https://github.com/commercialhaskell/stack--custom-setup-  setup-depends:-      Cabal >=2.4-    , base >=4.10 && <5-    , filepath--flag disable-git-info-  description: Disable compile-time inclusion of current git info in stack-  manual: True-  default: False--flag hide-dependency-versions-  description: Hides dependency versions from "stack --version", used only by building with stack.yaml-  manual: True-  default: False--flag integration-tests-  description: Run the integration test suite-  manual: True-  default: False--flag static-  description: Pass -static/-pthread to ghc when linking the stack binary.-  manual: True-  default: False--flag supported-build-  description: If false, causes "stack --version" to issue a warning about the build being unsupported.  True only if building with stack.yaml-  manual: True-  default: False--library-  exposed-modules:-      Control.Concurrent.Execute-      Data.Attoparsec.Args-      Data.Attoparsec.Combinators-      Data.Attoparsec.Interpreter-      Data.Monoid.Map-      Network.HTTP.Download-      Network.HTTP.Download.Verified-      Network.HTTP.StackClient-      Options.Applicative.Args-      Options.Applicative.Builder.Extra-      Options.Applicative.Complicated-      Path.CheckInstall-      Path.Extra-      Path.Find-      Stack.Build-      Stack.Build.Cache-      Stack.Build.ConstructPlan-      Stack.Build.Execute-      Stack.Build.Haddock-      Stack.Build.Installed-      Stack.Build.Source-      Stack.Build.Target-      Stack.BuildPlan-      Stack.Clean-      Stack.Config-      Stack.Config.Build-      Stack.Config.Urls-      Stack.Config.Docker-      Stack.Config.Nix-      Stack.ConfigCmd-      Stack.Constants-      Stack.Constants.Config-      Stack.Coverage-      Stack.DefaultColorWhen-      Stack.DefaultStyles-      Stack.Docker-      Stack.Docker.GlobalDB-      Stack.Dot-      Stack.FileWatch-      Stack.Freeze-      Stack.GhcPkg-      Stack.Ghci-      Stack.Ghci.Script-      Stack.Hoogle-      Stack.IDE-      Stack.Image-      Stack.Init-      Stack.Ls-      Stack.New-      Stack.Nix-      Stack.Options.BenchParser-      Stack.Options.BuildMonoidParser-      Stack.Options.BuildParser-      Stack.Options.CleanParser-      Stack.Options.ConfigParser-      Stack.Options.Completion-      Stack.Options.DockerParser-      Stack.Options.DotParser-      Stack.Options.ExecParser-      Stack.Options.FreezeParser-      Stack.Options.GhcBuildParser-      Stack.Options.GhciParser-      Stack.Options.GhcVariantParser-      Stack.Options.GlobalParser-      Stack.Options.HaddockParser-      Stack.Options.HpcReportParser-      Stack.Options.LogLevelParser-      Stack.Options.NewParser-      Stack.Options.NixParser-      Stack.Options.PackageParser-      Stack.Options.ResolverParser-      Stack.Options.ScriptParser-      Stack.Options.SDistParser-      Stack.Options.SolverParser-      Stack.Options.TestParser-      Stack.Options.Utils-      Stack.Package-      Stack.PackageDump-      Stack.Path-      Stack.Prelude-      Stack.PrettyPrint-      Stack.Runners-      Stack.Script-      Stack.SDist-      Stack.Setup-      Stack.Setup.Installed-      Stack.SetupCmd-      Stack.Sig-      Stack.Sig.GPG-      Stack.Sig.Sign-      Stack.Snapshot-      Stack.Solver-      Stack.StoreTH-      Stack.Types.Build-      Stack.Types.BuildPlan-      Stack.Types.CompilerBuild-      Stack.Types.Urls-      Stack.Types.Compiler-      Stack.Types.Config-      Stack.Types.Config.Build-      Stack.Types.Docker-      Stack.Types.GhcPkgId-      Stack.Types.Image-      Stack.Types.NamedComponent-      Stack.Types.Nix-      Stack.Types.Package-      Stack.Types.PackageDump-      Stack.Types.PackageName-      Stack.Types.PrettyPrint-      Stack.Types.Resolver-      Stack.Types.Runner-      Stack.Types.Sig-      Stack.Types.StylesUpdate-      Stack.Types.TemplateName-      Stack.Types.Version-      Stack.Types.VersionIntervals-      Stack.Unpack-      Stack.Upgrade-      Stack.Upload-      Text.PrettyPrint.Leijen.Extended-      System.Permissions-      System.Process.PagerEditor-      System.Terminal-      Paths_stack-  autogen-modules:-      Paths_stack-  hs-source-dirs:-      src/-  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -fwarn-identities-  build-depends:-      Cabal >=2.4-    , aeson-    , annotated-wl-pprint-    , ansi-terminal >=0.8.1-    , array-    , async-    , attoparsec-    , base >=4.10 && <5-    , base64-bytestring-    , bytestring-    , colour-    , conduit-    , conduit-extra-    , containers-    , cryptonite-    , cryptonite-conduit-    , deepseq-    , directory-    , echo-    , exceptions-    , extra-    , file-embed-    , filelock-    , filepath-    , fsnotify-    , generic-deriving-    , hackage-security-    , hashable-    , hpack-    , hpc-    , http-client-    , http-client-tls-    , http-conduit-    , http-types-    , memory-    , microlens-    , mintty-    , monad-logger-    , mono-traversable-    , mtl-    , mustache-    , neat-interpolation-    , network-uri-    , open-browser-    , optparse-applicative-    , pantry-    , path-    , path-io-    , persistent-    , persistent-sqlite-    , persistent-template-    , pretty-    , primitive-    , process-    , project-template-    , regex-applicative-text-    , resourcet-    , retry >=0.7-    , rio-    , semigroups-    , split-    , stm-    , store-core-    , streaming-commons-    , tar-    , template-haskell-    , temporary-    , text-    , text-metrics-    , th-reify-many-    , time-    , tls-    , transformers-    , typed-process-    , unicode-transforms-    , unix-compat-    , unliftio >=0.2.8.0-    , unordered-containers-    , vector-    , yaml-    , zip-archive-    , zlib-  if os(windows)-    cpp-options: -DWINDOWS-    build-depends:-        Win32-  else-    build-tools:-        hsc2hs-    build-depends:-        unix-  if os(windows)-    hs-source-dirs:-        src/windows/-  else-    hs-source-dirs:-        src/unix/-    c-sources:-        src/unix/cbits/uname.c-  default-language: Haskell2010--executable stack-  main-is: Main.hs-  other-modules:-      Build_stack-      Paths_stack-  autogen-modules:-      Build_stack-      Paths_stack-  hs-source-dirs:-      src/main-  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded -rtsopts-  build-depends:-      Cabal >=2.4-    , aeson-    , annotated-wl-pprint-    , ansi-terminal >=0.8.1-    , array-    , async-    , attoparsec-    , base >=4.10 && <5-    , base64-bytestring-    , bytestring-    , colour-    , conduit-    , conduit-extra-    , containers-    , cryptonite-    , cryptonite-conduit-    , deepseq-    , directory-    , echo-    , exceptions-    , extra-    , file-embed-    , filelock-    , filepath-    , fsnotify-    , generic-deriving-    , hackage-security-    , hashable-    , hpack-    , hpc-    , http-client-    , http-client-tls-    , http-conduit-    , http-types-    , memory-    , microlens-    , mintty-    , monad-logger-    , mono-traversable-    , mtl-    , mustache-    , neat-interpolation-    , network-uri-    , open-browser-    , optparse-applicative-    , pantry-    , path-    , path-io-    , persistent-    , persistent-sqlite-    , persistent-template-    , pretty-    , primitive-    , process-    , project-template-    , regex-applicative-text-    , resourcet-    , retry >=0.7-    , rio-    , semigroups-    , split-    , stack-    , stm-    , store-core-    , streaming-commons-    , tar-    , template-haskell-    , temporary-    , text-    , text-metrics-    , th-reify-many-    , time-    , tls-    , transformers-    , typed-process-    , unicode-transforms-    , unix-compat-    , unliftio >=0.2.8.0-    , unordered-containers-    , vector-    , yaml-    , zip-archive-    , zlib-  if os(windows)-    cpp-options: -DWINDOWS-    build-depends:-        Win32-  else-    build-tools:-        hsc2hs-    build-depends:-        unix-  if flag(static)-    ld-options: -static -pthread-  if !(flag(disable-git-info))-    cpp-options: -DUSE_GIT_INFO-    build-depends:-        githash-      , optparse-simple-  if flag(hide-dependency-versions)-    cpp-options: -DHIDE_DEP_VERSIONS-  if flag(supported-build)-    cpp-options: -DSUPPORTED_BUILD-  default-language: Haskell2010--test-suite stack-integration-test-  type: exitcode-stdio-1.0-  main-is: IntegrationSpec.hs-  other-modules:-      Paths_stack-  hs-source-dirs:-      test/integration-      test/integration/lib-  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded -rtsopts -with-rtsopts=-N-  build-depends:-      Cabal >=2.4-    , aeson-    , annotated-wl-pprint-    , ansi-terminal >=0.8.1-    , array-    , async-    , attoparsec-    , base >=4.10 && <5-    , base64-bytestring-    , bytestring-    , colour-    , conduit-    , conduit-extra-    , containers-    , cryptonite-    , cryptonite-conduit-    , deepseq-    , directory-    , echo-    , exceptions-    , extra-    , file-embed-    , filelock-    , filepath-    , fsnotify-    , generic-deriving-    , hackage-security-    , hashable-    , hpack-    , hpc-    , hspec-    , http-client-    , http-client-tls-    , http-conduit-    , http-types-    , memory-    , microlens-    , mintty-    , monad-logger-    , mono-traversable-    , mtl-    , mustache-    , neat-interpolation-    , network-uri-    , open-browser-    , optparse-applicative-    , pantry-    , path-    , path-io-    , persistent-    , persistent-sqlite-    , persistent-template-    , pretty-    , primitive-    , process-    , project-template-    , regex-applicative-text-    , resourcet-    , retry >=0.7-    , rio-    , semigroups-    , split-    , stm-    , store-core-    , streaming-commons-    , tar-    , template-haskell-    , temporary-    , text-    , text-metrics-    , th-reify-many-    , time-    , tls-    , transformers-    , typed-process-    , unicode-transforms-    , unix-compat-    , unliftio >=0.2.8.0-    , unordered-containers-    , vector-    , yaml-    , zip-archive-    , zlib-  if os(windows)-    cpp-options: -DWINDOWS-    build-depends:-        Win32-  else-    build-tools:-        hsc2hs-    build-depends:-        unix-  if !flag(integration-tests)-    buildable: False-  default-language: Haskell2010--test-suite stack-test-  type: exitcode-stdio-1.0-  main-is: Spec.hs-  other-modules:-      Paths_stack-  hs-source-dirs:-      src/test-  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded-  build-depends:-      Cabal >=2.4-    , QuickCheck-    , aeson-    , annotated-wl-pprint-    , ansi-terminal >=0.8.1-    , array-    , async-    , attoparsec-    , base >=4.10 && <5-    , base64-bytestring-    , bytestring-    , colour-    , conduit-    , conduit-extra-    , containers-    , cryptonite-    , cryptonite-conduit-    , deepseq-    , directory-    , echo-    , exceptions-    , extra-    , file-embed-    , filelock-    , filepath-    , fsnotify-    , generic-deriving-    , hackage-security-    , hashable-    , hpack-    , hpc-    , hspec-    , http-client-    , http-client-tls-    , http-conduit-    , http-types-    , memory-    , microlens-    , mintty-    , monad-logger-    , mono-traversable-    , mtl-    , mustache-    , neat-interpolation-    , network-uri-    , open-browser-    , optparse-applicative-    , pantry-    , path-    , path-io-    , persistent-    , persistent-sqlite-    , persistent-template-    , pretty-    , primitive-    , process-    , project-template-    , regex-applicative-text-    , resourcet-    , retry >=0.7-    , rio-    , semigroups-    , smallcheck-    , split-    , stack-    , stm-    , store-core-    , streaming-commons-    , tar-    , template-haskell-    , temporary-    , text-    , text-metrics-    , th-reify-many-    , time-    , tls-    , transformers-    , typed-process-    , unicode-transforms-    , unix-compat-    , unliftio >=0.2.8.0-    , unordered-containers-    , vector-    , yaml-    , zip-archive-    , zlib-  if os(windows)-    cpp-options: -DWINDOWS-    build-depends:-        Win32-  else-    build-tools:-        hsc2hs-    build-depends:-        unix-  default-language: Haskell2010
− test/golden/test-files/real-world/stack/stack.cabal.golden
@@ -1,629 +0,0 @@-cabal-version: 2.0---- This file has been generated from stack.dhall by hpack version 0.31.1.------ see: https://github.com/sol/hpack------ hash: 33d90e3e81d97f3c404a9e20246cf4aa6942dc054db675cadd50b1edd68582ce--name:           stack-version:        1.10.0-synopsis:       The Haskell Tool Stack-description:    Please see the README.md for usage information, and-                the wiki on Github for more details.  Also, note that-                the API for the library is not currently stable, and may-                change significantly, even between minor releases. It is-                currently only intended for use by the executable.-category:       Development-homepage:       http://haskellstack.org-bug-reports:    https://github.com/commercialhaskell/stack/issues-author:         Commercial Haskell SIG-maintainer:     manny@fpcomplete.com-license:        BSD3-build-type:     Custom-extra-source-files:-    CONTRIBUTING.md-    ChangeLog.md-    README.md-    src/setup-shim/StackSetupShim.hs-    stack.yaml-    test/package-dump/ghc-7.10.txt-    test/package-dump/ghc-7.8.4-osx.txt-    test/package-dump/ghc-7.8.txt--source-repository head-  type: git-  location: https://github.com/commercialhaskell/stack--custom-setup-  setup-depends:-      Cabal >=2.4-    , base >=4.10 && <5-    , filepath--flag disable-git-info-  description: Disable compile-time inclusion of current git info in stack-  manual: True-  default: False--flag hide-dependency-versions-  description: Hides dependency versions from "stack --version", used only by building with stack.yaml-  manual: True-  default: False--flag integration-tests-  description: Run the integration test suite-  manual: True-  default: False--flag static-  description: Pass -static/-pthread to ghc when linking the stack binary.-  manual: True-  default: False--flag supported-build-  description: If false, causes "stack --version" to issue a warning about the build being unsupported.  True only if building with stack.yaml-  manual: True-  default: False--library-  exposed-modules:-      Control.Concurrent.Execute-      Data.Attoparsec.Args-      Data.Attoparsec.Combinators-      Data.Attoparsec.Interpreter-      Data.Monoid.Map-      Network.HTTP.Download-      Network.HTTP.Download.Verified-      Network.HTTP.StackClient-      Options.Applicative.Args-      Options.Applicative.Builder.Extra-      Options.Applicative.Complicated-      Path.CheckInstall-      Path.Extra-      Path.Find-      Stack.Build-      Stack.Build.Cache-      Stack.Build.ConstructPlan-      Stack.Build.Execute-      Stack.Build.Haddock-      Stack.Build.Installed-      Stack.Build.Source-      Stack.Build.Target-      Stack.BuildPlan-      Stack.Clean-      Stack.Config-      Stack.Config.Build-      Stack.Config.Urls-      Stack.Config.Docker-      Stack.Config.Nix-      Stack.ConfigCmd-      Stack.Constants-      Stack.Constants.Config-      Stack.Coverage-      Stack.DefaultColorWhen-      Stack.DefaultStyles-      Stack.Docker-      Stack.Docker.GlobalDB-      Stack.Dot-      Stack.FileWatch-      Stack.Freeze-      Stack.GhcPkg-      Stack.Ghci-      Stack.Ghci.Script-      Stack.Hoogle-      Stack.IDE-      Stack.Image-      Stack.Init-      Stack.Ls-      Stack.New-      Stack.Nix-      Stack.Options.BenchParser-      Stack.Options.BuildMonoidParser-      Stack.Options.BuildParser-      Stack.Options.CleanParser-      Stack.Options.ConfigParser-      Stack.Options.Completion-      Stack.Options.DockerParser-      Stack.Options.DotParser-      Stack.Options.ExecParser-      Stack.Options.FreezeParser-      Stack.Options.GhcBuildParser-      Stack.Options.GhciParser-      Stack.Options.GhcVariantParser-      Stack.Options.GlobalParser-      Stack.Options.HaddockParser-      Stack.Options.HpcReportParser-      Stack.Options.LogLevelParser-      Stack.Options.NewParser-      Stack.Options.NixParser-      Stack.Options.PackageParser-      Stack.Options.ResolverParser-      Stack.Options.ScriptParser-      Stack.Options.SDistParser-      Stack.Options.SolverParser-      Stack.Options.TestParser-      Stack.Options.Utils-      Stack.Package-      Stack.PackageDump-      Stack.Path-      Stack.Prelude-      Stack.PrettyPrint-      Stack.Runners-      Stack.Script-      Stack.SDist-      Stack.Setup-      Stack.Setup.Installed-      Stack.SetupCmd-      Stack.Sig-      Stack.Sig.GPG-      Stack.Sig.Sign-      Stack.Snapshot-      Stack.Solver-      Stack.StoreTH-      Stack.Types.Build-      Stack.Types.BuildPlan-      Stack.Types.CompilerBuild-      Stack.Types.Urls-      Stack.Types.Compiler-      Stack.Types.Config-      Stack.Types.Config.Build-      Stack.Types.Docker-      Stack.Types.GhcPkgId-      Stack.Types.Image-      Stack.Types.NamedComponent-      Stack.Types.Nix-      Stack.Types.Package-      Stack.Types.PackageDump-      Stack.Types.PackageName-      Stack.Types.PrettyPrint-      Stack.Types.Resolver-      Stack.Types.Runner-      Stack.Types.Sig-      Stack.Types.StylesUpdate-      Stack.Types.TemplateName-      Stack.Types.Version-      Stack.Types.VersionIntervals-      Stack.Unpack-      Stack.Upgrade-      Stack.Upload-      Text.PrettyPrint.Leijen.Extended-      System.Permissions-      System.Process.PagerEditor-      System.Terminal-      Paths_stack-  autogen-modules:-      Paths_stack-  hs-source-dirs:-      src/-  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -fwarn-identities-  build-depends:-      Cabal >=2.4-    , aeson-    , annotated-wl-pprint-    , ansi-terminal >=0.8.1-    , array-    , async-    , attoparsec-    , base >=4.10 && <5-    , base64-bytestring-    , bytestring-    , colour-    , conduit-    , conduit-extra-    , containers-    , cryptonite-    , cryptonite-conduit-    , deepseq-    , directory-    , echo-    , exceptions-    , extra-    , file-embed-    , filelock-    , filepath-    , fsnotify-    , generic-deriving-    , hackage-security-    , hashable-    , hpack-    , hpc-    , http-client-    , http-client-tls-    , http-conduit-    , http-types-    , memory-    , microlens-    , mintty-    , monad-logger-    , mono-traversable-    , mtl-    , mustache-    , neat-interpolation-    , network-uri-    , open-browser-    , optparse-applicative-    , pantry-    , path-    , path-io-    , persistent-    , persistent-sqlite-    , persistent-template-    , pretty-    , primitive-    , process-    , project-template-    , regex-applicative-text-    , resourcet-    , retry >=0.7-    , rio-    , semigroups-    , split-    , stm-    , store-core-    , streaming-commons-    , tar-    , template-haskell-    , temporary-    , text-    , text-metrics-    , th-reify-many-    , time-    , tls-    , transformers-    , typed-process-    , unicode-transforms-    , unix-compat-    , unliftio >=0.2.8.0-    , unordered-containers-    , vector-    , yaml-    , zip-archive-    , zlib-  if os(windows)-    cpp-options: -DWINDOWS-    build-depends:-        Win32-  else-    build-tools:-        hsc2hs-    build-depends:-        unix-  if os(windows)-    hs-source-dirs:-        src/windows/-  else-    hs-source-dirs:-        src/unix/-    c-sources:-        src/unix/cbits/uname.c-  default-language: Haskell2010--executable stack-  main-is: Main.hs-  other-modules:-      Build_stack-      Paths_stack-  autogen-modules:-      Build_stack-      Paths_stack-  hs-source-dirs:-      src/main-  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded -rtsopts-  build-depends:-      Cabal >=2.4-    , aeson-    , annotated-wl-pprint-    , ansi-terminal >=0.8.1-    , array-    , async-    , attoparsec-    , base >=4.10 && <5-    , base64-bytestring-    , bytestring-    , colour-    , conduit-    , conduit-extra-    , containers-    , cryptonite-    , cryptonite-conduit-    , deepseq-    , directory-    , echo-    , exceptions-    , extra-    , file-embed-    , filelock-    , filepath-    , fsnotify-    , generic-deriving-    , hackage-security-    , hashable-    , hpack-    , hpc-    , http-client-    , http-client-tls-    , http-conduit-    , http-types-    , memory-    , microlens-    , mintty-    , monad-logger-    , mono-traversable-    , mtl-    , mustache-    , neat-interpolation-    , network-uri-    , open-browser-    , optparse-applicative-    , pantry-    , path-    , path-io-    , persistent-    , persistent-sqlite-    , persistent-template-    , pretty-    , primitive-    , process-    , project-template-    , regex-applicative-text-    , resourcet-    , retry >=0.7-    , rio-    , semigroups-    , split-    , stack-    , stm-    , store-core-    , streaming-commons-    , tar-    , template-haskell-    , temporary-    , text-    , text-metrics-    , th-reify-many-    , time-    , tls-    , transformers-    , typed-process-    , unicode-transforms-    , unix-compat-    , unliftio >=0.2.8.0-    , unordered-containers-    , vector-    , yaml-    , zip-archive-    , zlib-  if os(windows)-    cpp-options: -DWINDOWS-    build-depends:-        Win32-  else-    build-tools:-        hsc2hs-    build-depends:-        unix-  if flag(static)-    ld-options: -static -pthread-  if !(flag(disable-git-info))-    cpp-options: -DUSE_GIT_INFO-    build-depends:-        githash-      , optparse-simple-  if flag(hide-dependency-versions)-    cpp-options: -DHIDE_DEP_VERSIONS-  if flag(supported-build)-    cpp-options: -DSUPPORTED_BUILD-  default-language: Haskell2010--test-suite stack-integration-test-  type: exitcode-stdio-1.0-  main-is: IntegrationSpec.hs-  other-modules:-      Paths_stack-  hs-source-dirs:-      test/integration-      test/integration/lib-  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded -rtsopts -with-rtsopts=-N-  build-depends:-      Cabal >=2.4-    , aeson-    , annotated-wl-pprint-    , ansi-terminal >=0.8.1-    , array-    , async-    , attoparsec-    , base >=4.10 && <5-    , base64-bytestring-    , bytestring-    , colour-    , conduit-    , conduit-extra-    , containers-    , cryptonite-    , cryptonite-conduit-    , deepseq-    , directory-    , echo-    , exceptions-    , extra-    , file-embed-    , filelock-    , filepath-    , fsnotify-    , generic-deriving-    , hackage-security-    , hashable-    , hpack-    , hpc-    , hspec-    , http-client-    , http-client-tls-    , http-conduit-    , http-types-    , memory-    , microlens-    , mintty-    , monad-logger-    , mono-traversable-    , mtl-    , mustache-    , neat-interpolation-    , network-uri-    , open-browser-    , optparse-applicative-    , pantry-    , path-    , path-io-    , persistent-    , persistent-sqlite-    , persistent-template-    , pretty-    , primitive-    , process-    , project-template-    , regex-applicative-text-    , resourcet-    , retry >=0.7-    , rio-    , semigroups-    , split-    , stm-    , store-core-    , streaming-commons-    , tar-    , template-haskell-    , temporary-    , text-    , text-metrics-    , th-reify-many-    , time-    , tls-    , transformers-    , typed-process-    , unicode-transforms-    , unix-compat-    , unliftio >=0.2.8.0-    , unordered-containers-    , vector-    , yaml-    , zip-archive-    , zlib-  if os(windows)-    cpp-options: -DWINDOWS-    build-depends:-        Win32-  else-    build-tools:-        hsc2hs-    build-depends:-        unix-  if !flag(integration-tests)-    buildable: False-  default-language: Haskell2010--test-suite stack-test-  type: exitcode-stdio-1.0-  main-is: Spec.hs-  other-modules:-      Paths_stack-  hs-source-dirs:-      src/test-  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded-  build-depends:-      Cabal >=2.4-    , QuickCheck-    , aeson-    , annotated-wl-pprint-    , ansi-terminal >=0.8.1-    , array-    , async-    , attoparsec-    , base >=4.10 && <5-    , base64-bytestring-    , bytestring-    , colour-    , conduit-    , conduit-extra-    , containers-    , cryptonite-    , cryptonite-conduit-    , deepseq-    , directory-    , echo-    , exceptions-    , extra-    , file-embed-    , filelock-    , filepath-    , fsnotify-    , generic-deriving-    , hackage-security-    , hashable-    , hpack-    , hpc-    , hspec-    , http-client-    , http-client-tls-    , http-conduit-    , http-types-    , memory-    , microlens-    , mintty-    , monad-logger-    , mono-traversable-    , mtl-    , mustache-    , neat-interpolation-    , network-uri-    , open-browser-    , optparse-applicative-    , pantry-    , path-    , path-io-    , persistent-    , persistent-sqlite-    , persistent-template-    , pretty-    , primitive-    , process-    , project-template-    , regex-applicative-text-    , resourcet-    , retry >=0.7-    , rio-    , semigroups-    , smallcheck-    , split-    , stack-    , stm-    , store-core-    , streaming-commons-    , tar-    , template-haskell-    , temporary-    , text-    , text-metrics-    , th-reify-many-    , time-    , tls-    , transformers-    , typed-process-    , unicode-transforms-    , unix-compat-    , unliftio >=0.2.8.0-    , unordered-containers-    , vector-    , yaml-    , zip-archive-    , zlib-  if os(windows)-    cpp-options: -DWINDOWS-    build-depends:-        Win32-  else-    build-tools:-        hsc2hs-    build-depends:-        unix-  default-language: Haskell2010
− test/golden/test-files/real-world/stack/stack.dhall
@@ -1,401 +0,0 @@-{ name =-    "stack"-, version =-    "1.10.0"-, synopsis =-    "The Haskell Tool Stack"-, description =-    ''-    Please see the README.md for usage information, and-    the wiki on Github for more details.  Also, note that-    the API for the library is not currently stable, and may-    change significantly, even between minor releases. It is-    currently only intended for use by the executable.''-, category =-    "Development"-, author =-    "Commercial Haskell SIG"-, maintainer =-    "manny@fpcomplete.com"-, license =-    "BSD3"-, github =-    "commercialhaskell/stack"-, homepage =-    "http://haskellstack.org"-, custom-setup =-    { dependencies = [ "base >=4.10 && < 5", "Cabal >= 2.4", "filepath" ] }-, extra-source-files =-    [ "CONTRIBUTING.md"-    , "ChangeLog.md"-    , "README.md"-    , "doc/*.md"-    , "src/setup-shim/StackSetupShim.hs"-    , "stack.yaml"-    , "test/package-dump/ghc-7.10.txt"-    , "test/package-dump/ghc-7.8.4-osx.txt"-    , "test/package-dump/ghc-7.8.txt"-    ]-, ghc-options =-    [ "-Wall"-    , "-fwarn-tabs"-    , "-fwarn-incomplete-uni-patterns"-    , "-fwarn-incomplete-record-updates"-    , "-optP-Wno-nonportable-include-path # workaround [Filename case on macOS \u00B7 Issue #4739 \u00B7 haskell/cabal](https://github.com/haskell/cabal/issues/4739)"-    ]-, dependencies =-    [ "Cabal >= 2.4"-    , "aeson"-    , "annotated-wl-pprint"-    , "ansi-terminal >= 0.8.1"-    , "array"-    , "async"-    , "attoparsec"-    , "base >=4.10 && < 5"-    , "base64-bytestring"-    , "bytestring"-    , "colour"-    , "conduit"-    , "conduit-extra"-    , "containers"-    , "cryptonite"-    , "cryptonite-conduit"-    , "deepseq"-    , "directory"-    , "echo"-    , "exceptions"-    , "extra"-    , "file-embed"-    , "filelock"-    , "filepath"-    , "fsnotify"-    , "generic-deriving"-    , "hackage-security"-    , "hashable"-    , "hpack"-    , "hpc"-    , "http-client"-    , "http-client-tls"-    , "http-conduit"-    , "http-types"-    , "memory"-    , "microlens"-    , "mintty"-    , "monad-logger"-    , "mono-traversable"-    , "mtl"-    , "mustache"-    , "neat-interpolation"-    , "network-uri"-    , "open-browser"-    , "optparse-applicative"-    , "pantry"-    , "path"-    , "path-io"-    , "persistent"-    , "persistent-sqlite"-    , "persistent-template"-    , "pretty"-    , "primitive"-    , "process"-    , "project-template"-    , "regex-applicative-text"-    , "resourcet"-    , "retry >= 0.7"-    , "rio"-    , "semigroups"-    , "split"-    , "stm"-    , "store-core"-    , "streaming-commons"-    , "tar"-    , "template-haskell"-    , "temporary"-    , "text"-    , "text-metrics"-    , "th-reify-many"-    , "time"-    , "tls"-    , "transformers"-    , "typed-process"-    , "unicode-transforms"-    , "unix-compat"-    , "unliftio >= 0.2.8.0"-    , "unordered-containers"-    , "vector"-    , "yaml"-    , "zip-archive"-    , "zlib"-    ]-, when =-    { condition =-        "os(windows)"-    , `then` =-        { cpp-options = [ "-DWINDOWS" ], dependencies = [ "Win32" ] }-    , `else` =-        { build-tools = [ "hsc2hs" ], dependencies = [ "unix" ] }-    }-, library =-    { source-dirs =-        "src/"-    , ghc-options =-        [ "-fwarn-identities" ]-    , generated-exposed-modules =-        [ "Paths_stack" ]-    , exposed-modules =-        [ "Control.Concurrent.Execute"-        , "Data.Attoparsec.Args"-        , "Data.Attoparsec.Combinators"-        , "Data.Attoparsec.Interpreter"-        , "Data.Monoid.Map"-        , "Network.HTTP.Download"-        , "Network.HTTP.Download.Verified"-        , "Network.HTTP.StackClient"-        , "Options.Applicative.Args"-        , "Options.Applicative.Builder.Extra"-        , "Options.Applicative.Complicated"-        , "Path.CheckInstall"-        , "Path.Extra"-        , "Path.Find"-        , "Stack.Build"-        , "Stack.Build.Cache"-        , "Stack.Build.ConstructPlan"-        , "Stack.Build.Execute"-        , "Stack.Build.Haddock"-        , "Stack.Build.Installed"-        , "Stack.Build.Source"-        , "Stack.Build.Target"-        , "Stack.BuildPlan"-        , "Stack.Clean"-        , "Stack.Config"-        , "Stack.Config.Build"-        , "Stack.Config.Urls"-        , "Stack.Config.Docker"-        , "Stack.Config.Nix"-        , "Stack.ConfigCmd"-        , "Stack.Constants"-        , "Stack.Constants.Config"-        , "Stack.Coverage"-        , "Stack.DefaultColorWhen"-        , "Stack.DefaultStyles"-        , "Stack.Docker"-        , "Stack.Docker.GlobalDB"-        , "Stack.Dot"-        , "Stack.FileWatch"-        , "Stack.Freeze"-        , "Stack.GhcPkg"-        , "Stack.Ghci"-        , "Stack.Ghci.Script"-        , "Stack.Hoogle"-        , "Stack.IDE"-        , "Stack.Image"-        , "Stack.Init"-        , "Stack.Ls"-        , "Stack.New"-        , "Stack.Nix"-        , "Stack.Options.BenchParser"-        , "Stack.Options.BuildMonoidParser"-        , "Stack.Options.BuildParser"-        , "Stack.Options.CleanParser"-        , "Stack.Options.ConfigParser"-        , "Stack.Options.Completion"-        , "Stack.Options.DockerParser"-        , "Stack.Options.DotParser"-        , "Stack.Options.ExecParser"-        , "Stack.Options.FreezeParser"-        , "Stack.Options.GhcBuildParser"-        , "Stack.Options.GhciParser"-        , "Stack.Options.GhcVariantParser"-        , "Stack.Options.GlobalParser"-        , "Stack.Options.HaddockParser"-        , "Stack.Options.HpcReportParser"-        , "Stack.Options.LogLevelParser"-        , "Stack.Options.NewParser"-        , "Stack.Options.NixParser"-        , "Stack.Options.PackageParser"-        , "Stack.Options.ResolverParser"-        , "Stack.Options.ScriptParser"-        , "Stack.Options.SDistParser"-        , "Stack.Options.SolverParser"-        , "Stack.Options.TestParser"-        , "Stack.Options.Utils"-        , "Stack.Package"-        , "Stack.PackageDump"-        , "Stack.Path"-        , "Stack.Prelude"-        , "Stack.PrettyPrint"-        , "Stack.Runners"-        , "Stack.Script"-        , "Stack.SDist"-        , "Stack.Setup"-        , "Stack.Setup.Installed"-        , "Stack.SetupCmd"-        , "Stack.Sig"-        , "Stack.Sig.GPG"-        , "Stack.Sig.Sign"-        , "Stack.Snapshot"-        , "Stack.Solver"-        , "Stack.StoreTH"-        , "Stack.Types.Build"-        , "Stack.Types.BuildPlan"-        , "Stack.Types.CompilerBuild"-        , "Stack.Types.Urls"-        , "Stack.Types.Compiler"-        , "Stack.Types.Config"-        , "Stack.Types.Config.Build"-        , "Stack.Types.Docker"-        , "Stack.Types.GhcPkgId"-        , "Stack.Types.Image"-        , "Stack.Types.NamedComponent"-        , "Stack.Types.Nix"-        , "Stack.Types.Package"-        , "Stack.Types.PackageDump"-        , "Stack.Types.PackageName"-        , "Stack.Types.PrettyPrint"-        , "Stack.Types.Resolver"-        , "Stack.Types.Runner"-        , "Stack.Types.Sig"-        , "Stack.Types.StylesUpdate"-        , "Stack.Types.TemplateName"-        , "Stack.Types.Version"-        , "Stack.Types.VersionIntervals"-        , "Stack.Unpack"-        , "Stack.Upgrade"-        , "Stack.Upload"-        , "Text.PrettyPrint.Leijen.Extended"-        , "System.Permissions"-        , "System.Process.PagerEditor"-        , "System.Terminal"-        ]-    , when =-        { condition =-            "os(windows)"-        , `then` =-            { source-dirs = [ "src/windows/" ] }-        , `else` =-            { source-dirs =-                [ "src/unix/" ]-            , c-sources =-                [ "src/unix/cbits/uname.c" ]-            }-        }-    }-, executables =-    { stack =-        { main =-            "Main.hs"-        , source-dirs =-            [ "src/main" ]-        , generated-other-modules =-            [ "Build_stack", "Paths_stack" ]-        , ghc-options =-            [ "-threaded", "-rtsopts" ]-        , dependencies =-            [ "stack" ]-        , when =-            [ { condition =-                  "flag(static)"-              , cpp-options =-                  [] : List Text-              , dependencies =-                  [] : List Text-              , ld-options =-                  [ "-static", "-pthread" ]-              }-            , { condition =-                  "!(flag(disable-git-info))"-              , cpp-options =-                  [ "-DUSE_GIT_INFO" ]-              , dependencies =-                  [ "githash", "optparse-simple" ]-              , ld-options =-                  [] : List Text-              }-            , { condition =-                  "flag(hide-dependency-versions)"-              , cpp-options =-                  [ "-DHIDE_DEP_VERSIONS" ]-              , dependencies =-                  [] : List Text-              , ld-options =-                  [] : List Text-              }-            , { condition =-                  "flag(supported-build)"-              , cpp-options =-                  [ "-DSUPPORTED_BUILD" ]-              , dependencies =-                  [] : List Text-              , ld-options =-                  [] : List Text-              }-            ]-        }-    }-, tests =-    { stack-test =-        { main =-            "Spec.hs"-        , source-dirs =-            [ "src/test" ]-        , ghc-options =-            [ "-threaded" ]-        , dependencies =-            [ "QuickCheck", "hspec", "stack", "smallcheck" ]-        }-    , stack-integration-test =-        { main =-            "IntegrationSpec.hs"-        , source-dirs =-            [ "test/integration", "test/integration/lib" ]-        , ghc-options =-            [ "-threaded", "-rtsopts", "-with-rtsopts=-N" ]-        , dependencies =-            [ "hspec" ]-        , when =-            { condition = "!flag(integration-tests)", buildable = False }-        }-    }-, flags =-    { static =-        { description =-            "Pass -static/-pthread to ghc when linking the stack binary."-        , manual =-            True-        , default =-            False-        }-    , disable-git-info =-        { description =-            "Disable compile-time inclusion of current git info in stack"-        , manual =-            True-        , default =-            False-        }-    , hide-dependency-versions =-        { description =-            "Hides dependency versions from \"stack --version\", used only by building with stack.yaml"-        , manual =-            True-        , default =-            False-        }-    , integration-tests =-        { description =-            "Run the integration test suite"-        , manual =-            True-        , default =-            False-        }-    , supported-build =-        { description =-            "If false, causes \"stack --version\" to issue a warning about the build being unsupported.  True only if building with stack.yaml"-        , manual =-            True-        , default =-            False-        }-    }-}
− test/golden/test-files/real-world/stack/stack.dhall.golden
@@ -1,401 +0,0 @@-{ name =-    "stack"-, version =-    "1.10.0"-, synopsis =-    "The Haskell Tool Stack"-, description =-    ''-    Please see the README.md for usage information, and-    the wiki on Github for more details.  Also, note that-    the API for the library is not currently stable, and may-    change significantly, even between minor releases. It is-    currently only intended for use by the executable.''-, category =-    "Development"-, author =-    "Commercial Haskell SIG"-, maintainer =-    "manny@fpcomplete.com"-, license =-    "BSD3"-, github =-    "commercialhaskell/stack"-, homepage =-    "http://haskellstack.org"-, custom-setup =-    { dependencies = [ "base >=4.10 && < 5", "Cabal >= 2.4", "filepath" ] }-, extra-source-files =-    [ "CONTRIBUTING.md"-    , "ChangeLog.md"-    , "README.md"-    , "doc/*.md"-    , "src/setup-shim/StackSetupShim.hs"-    , "stack.yaml"-    , "test/package-dump/ghc-7.10.txt"-    , "test/package-dump/ghc-7.8.4-osx.txt"-    , "test/package-dump/ghc-7.8.txt"-    ]-, ghc-options =-    [ "-Wall"-    , "-fwarn-tabs"-    , "-fwarn-incomplete-uni-patterns"-    , "-fwarn-incomplete-record-updates"-    , "-optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739)"-    ]-, dependencies =-    [ "Cabal >= 2.4"-    , "aeson"-    , "annotated-wl-pprint"-    , "ansi-terminal >= 0.8.1"-    , "array"-    , "async"-    , "attoparsec"-    , "base >=4.10 && < 5"-    , "base64-bytestring"-    , "bytestring"-    , "colour"-    , "conduit"-    , "conduit-extra"-    , "containers"-    , "cryptonite"-    , "cryptonite-conduit"-    , "deepseq"-    , "directory"-    , "echo"-    , "exceptions"-    , "extra"-    , "file-embed"-    , "filelock"-    , "filepath"-    , "fsnotify"-    , "generic-deriving"-    , "hackage-security"-    , "hashable"-    , "hpack"-    , "hpc"-    , "http-client"-    , "http-client-tls"-    , "http-conduit"-    , "http-types"-    , "memory"-    , "microlens"-    , "mintty"-    , "monad-logger"-    , "mono-traversable"-    , "mtl"-    , "mustache"-    , "neat-interpolation"-    , "network-uri"-    , "open-browser"-    , "optparse-applicative"-    , "pantry"-    , "path"-    , "path-io"-    , "persistent"-    , "persistent-sqlite"-    , "persistent-template"-    , "pretty"-    , "primitive"-    , "process"-    , "project-template"-    , "regex-applicative-text"-    , "resourcet"-    , "retry >= 0.7"-    , "rio"-    , "semigroups"-    , "split"-    , "stm"-    , "store-core"-    , "streaming-commons"-    , "tar"-    , "template-haskell"-    , "temporary"-    , "text"-    , "text-metrics"-    , "th-reify-many"-    , "time"-    , "tls"-    , "transformers"-    , "typed-process"-    , "unicode-transforms"-    , "unix-compat"-    , "unliftio >= 0.2.8.0"-    , "unordered-containers"-    , "vector"-    , "yaml"-    , "zip-archive"-    , "zlib"-    ]-, when =-    { condition =-        "os(windows)"-    , `then` =-        { cpp-options = [ "-DWINDOWS" ], dependencies = [ "Win32" ] }-    , `else` =-        { build-tools = [ "hsc2hs" ], dependencies = [ "unix" ] }-    }-, library =-    { source-dirs =-        "src/"-    , ghc-options =-        [ "-fwarn-identities" ]-    , generated-exposed-modules =-        [ "Paths_stack" ]-    , exposed-modules =-        [ "Control.Concurrent.Execute"-        , "Data.Attoparsec.Args"-        , "Data.Attoparsec.Combinators"-        , "Data.Attoparsec.Interpreter"-        , "Data.Monoid.Map"-        , "Network.HTTP.Download"-        , "Network.HTTP.Download.Verified"-        , "Network.HTTP.StackClient"-        , "Options.Applicative.Args"-        , "Options.Applicative.Builder.Extra"-        , "Options.Applicative.Complicated"-        , "Path.CheckInstall"-        , "Path.Extra"-        , "Path.Find"-        , "Stack.Build"-        , "Stack.Build.Cache"-        , "Stack.Build.ConstructPlan"-        , "Stack.Build.Execute"-        , "Stack.Build.Haddock"-        , "Stack.Build.Installed"-        , "Stack.Build.Source"-        , "Stack.Build.Target"-        , "Stack.BuildPlan"-        , "Stack.Clean"-        , "Stack.Config"-        , "Stack.Config.Build"-        , "Stack.Config.Urls"-        , "Stack.Config.Docker"-        , "Stack.Config.Nix"-        , "Stack.ConfigCmd"-        , "Stack.Constants"-        , "Stack.Constants.Config"-        , "Stack.Coverage"-        , "Stack.DefaultColorWhen"-        , "Stack.DefaultStyles"-        , "Stack.Docker"-        , "Stack.Docker.GlobalDB"-        , "Stack.Dot"-        , "Stack.FileWatch"-        , "Stack.Freeze"-        , "Stack.GhcPkg"-        , "Stack.Ghci"-        , "Stack.Ghci.Script"-        , "Stack.Hoogle"-        , "Stack.IDE"-        , "Stack.Image"-        , "Stack.Init"-        , "Stack.Ls"-        , "Stack.New"-        , "Stack.Nix"-        , "Stack.Options.BenchParser"-        , "Stack.Options.BuildMonoidParser"-        , "Stack.Options.BuildParser"-        , "Stack.Options.CleanParser"-        , "Stack.Options.ConfigParser"-        , "Stack.Options.Completion"-        , "Stack.Options.DockerParser"-        , "Stack.Options.DotParser"-        , "Stack.Options.ExecParser"-        , "Stack.Options.FreezeParser"-        , "Stack.Options.GhcBuildParser"-        , "Stack.Options.GhciParser"-        , "Stack.Options.GhcVariantParser"-        , "Stack.Options.GlobalParser"-        , "Stack.Options.HaddockParser"-        , "Stack.Options.HpcReportParser"-        , "Stack.Options.LogLevelParser"-        , "Stack.Options.NewParser"-        , "Stack.Options.NixParser"-        , "Stack.Options.PackageParser"-        , "Stack.Options.ResolverParser"-        , "Stack.Options.ScriptParser"-        , "Stack.Options.SDistParser"-        , "Stack.Options.SolverParser"-        , "Stack.Options.TestParser"-        , "Stack.Options.Utils"-        , "Stack.Package"-        , "Stack.PackageDump"-        , "Stack.Path"-        , "Stack.Prelude"-        , "Stack.PrettyPrint"-        , "Stack.Runners"-        , "Stack.Script"-        , "Stack.SDist"-        , "Stack.Setup"-        , "Stack.Setup.Installed"-        , "Stack.SetupCmd"-        , "Stack.Sig"-        , "Stack.Sig.GPG"-        , "Stack.Sig.Sign"-        , "Stack.Snapshot"-        , "Stack.Solver"-        , "Stack.StoreTH"-        , "Stack.Types.Build"-        , "Stack.Types.BuildPlan"-        , "Stack.Types.CompilerBuild"-        , "Stack.Types.Urls"-        , "Stack.Types.Compiler"-        , "Stack.Types.Config"-        , "Stack.Types.Config.Build"-        , "Stack.Types.Docker"-        , "Stack.Types.GhcPkgId"-        , "Stack.Types.Image"-        , "Stack.Types.NamedComponent"-        , "Stack.Types.Nix"-        , "Stack.Types.Package"-        , "Stack.Types.PackageDump"-        , "Stack.Types.PackageName"-        , "Stack.Types.PrettyPrint"-        , "Stack.Types.Resolver"-        , "Stack.Types.Runner"-        , "Stack.Types.Sig"-        , "Stack.Types.StylesUpdate"-        , "Stack.Types.TemplateName"-        , "Stack.Types.Version"-        , "Stack.Types.VersionIntervals"-        , "Stack.Unpack"-        , "Stack.Upgrade"-        , "Stack.Upload"-        , "Text.PrettyPrint.Leijen.Extended"-        , "System.Permissions"-        , "System.Process.PagerEditor"-        , "System.Terminal"-        ]-    , when =-        { condition =-            "os(windows)"-        , `then` =-            { source-dirs = [ "src/windows/" ] }-        , `else` =-            { source-dirs =-                [ "src/unix/" ]-            , c-sources =-                [ "src/unix/cbits/uname.c" ]-            }-        }-    }-, executables =-    { stack =-        { main =-            "Main.hs"-        , source-dirs =-            [ "src/main" ]-        , generated-other-modules =-            [ "Build_stack", "Paths_stack" ]-        , ghc-options =-            [ "-threaded", "-rtsopts" ]-        , dependencies =-            [ "stack" ]-        , when =-            [ { condition =-                  "flag(static)"-              , cpp-options =-                  [] : List Text-              , dependencies =-                  [] : List Text-              , ld-options =-                  [ "-static", "-pthread" ]-              }-            , { condition =-                  "!(flag(disable-git-info))"-              , cpp-options =-                  [ "-DUSE_GIT_INFO" ]-              , dependencies =-                  [ "githash", "optparse-simple" ]-              , ld-options =-                  [] : List Text-              }-            , { condition =-                  "flag(hide-dependency-versions)"-              , cpp-options =-                  [ "-DHIDE_DEP_VERSIONS" ]-              , dependencies =-                  [] : List Text-              , ld-options =-                  [] : List Text-              }-            , { condition =-                  "flag(supported-build)"-              , cpp-options =-                  [ "-DSUPPORTED_BUILD" ]-              , dependencies =-                  [] : List Text-              , ld-options =-                  [] : List Text-              }-            ]-        }-    }-, tests =-    { stack-test =-        { main =-            "Spec.hs"-        , source-dirs =-            [ "src/test" ]-        , ghc-options =-            [ "-threaded" ]-        , dependencies =-            [ "QuickCheck", "hspec", "stack", "smallcheck" ]-        }-    , stack-integration-test =-        { main =-            "IntegrationSpec.hs"-        , source-dirs =-            [ "test/integration", "test/integration/lib" ]-        , ghc-options =-            [ "-threaded", "-rtsopts", "-with-rtsopts=-N" ]-        , dependencies =-            [ "hspec" ]-        , when =-            { condition = "!flag(integration-tests)", buildable = False }-        }-    }-, flags =-    { static =-        { description =-            "Pass -static/-pthread to ghc when linking the stack binary."-        , manual =-            True-        , default =-            False-        }-    , disable-git-info =-        { description =-            "Disable compile-time inclusion of current git info in stack"-        , manual =-            True-        , default =-            False-        }-    , hide-dependency-versions =-        { description =-            "Hides dependency versions from \"stack --version\", used only by building with stack.yaml"-        , manual =-            True-        , default =-            False-        }-    , integration-tests =-        { description =-            "Run the integration test suite"-        , manual =-            True-        , default =-            False-        }-    , supported-build =-        { description =-            "If false, causes \"stack --version\" to issue a warning about the build being unsupported.  True only if building with stack.yaml"-        , manual =-            True-        , default =-            False-        }-    }-}
− test/golden/test-files/real-world/stack/stack.json
@@ -1,410 +0,0 @@-{-    "name": "stack",-    "version": "1.10.0",-    "synopsis": "The Haskell Tool Stack",-    "description": "Please see the README.md for usage information, and\nthe wiki on Github for more details.  Also, note that\nthe API for the library is not currently stable, and may\nchange significantly, even between minor releases. It is\ncurrently only intended for use by the executable.",-    "category": "Development",-    "homepage": "http://haskellstack.org",-    "author": "Commercial Haskell SIG",-    "maintainer": "manny@fpcomplete.com",-    "license": "BSD3",-    "github": "commercialhaskell/stack",-    "extra-source-files": [-        "CONTRIBUTING.md",-        "ChangeLog.md",-        "README.md",-        "doc/*.md",-        "src/setup-shim/StackSetupShim.hs",-        "stack.yaml",-        "test/package-dump/ghc-7.10.txt",-        "test/package-dump/ghc-7.8.4-osx.txt",-        "test/package-dump/ghc-7.8.txt"-    ],-    "ghc-options": [-        "-Wall",-        "-fwarn-tabs",-        "-fwarn-incomplete-uni-patterns",-        "-fwarn-incomplete-record-updates",-        "-optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739)"-    ],-    "dependencies": [-        "Cabal >= 2.4",-        "aeson",-        "annotated-wl-pprint",-        "ansi-terminal >= 0.8.1",-        "array",-        "async",-        "attoparsec",-        "base >=4.10 && < 5",-        "base64-bytestring",-        "bytestring",-        "colour",-        "conduit",-        "conduit-extra",-        "containers",-        "cryptonite",-        "cryptonite-conduit",-        "deepseq",-        "directory",-        "echo",-        "exceptions",-        "extra",-        "file-embed",-        "filelock",-        "filepath",-        "fsnotify",-        "generic-deriving",-        "hackage-security",-        "hashable",-        "hpack",-        "hpc",-        "http-client",-        "http-client-tls",-        "http-conduit",-        "http-types",-        "memory",-        "microlens",-        "mintty",-        "monad-logger",-        "mono-traversable",-        "mtl",-        "mustache",-        "neat-interpolation",-        "network-uri",-        "open-browser",-        "optparse-applicative",-        "pantry",-        "path",-        "path-io",-        "persistent",-        "persistent-sqlite",-        "persistent-template",-        "pretty",-        "primitive",-        "process",-        "project-template",-        "regex-applicative-text",-        "resourcet",-        "retry >= 0.7",-        "rio",-        "semigroups",-        "split",-        "stm",-        "store-core",-        "streaming-commons",-        "tar",-        "template-haskell",-        "temporary",-        "text",-        "text-metrics",-        "th-reify-many",-        "time",-        "tls",-        "transformers",-        "typed-process",-        "unicode-transforms",-        "unix-compat",-        "unliftio >= 0.2.8.0",-        "unordered-containers",-        "vector",-        "yaml",-        "zip-archive",-        "zlib"-    ],-    "when": {-        "condition": "os(windows)",-        "then": {-            "cpp-options": [-                "-DWINDOWS"-            ],-            "dependencies": [-                "Win32"-            ]-        },-        "else": {-            "dependencies": [-                "unix"-            ],-            "build-tools": [-                "hsc2hs"-            ]-        }-    },-    "custom-setup": {-        "dependencies": [-            "base >=4.10 && < 5",-            "Cabal >= 2.4",-            "filepath"-        ]-    },-    "flags": {-        "disable-git-info": {-            "description": "Disable compile-time inclusion of current git info in stack",-            "manual": true,-            "default": false-        },-        "hide-dependency-versions": {-            "description": "Hides dependency versions from \"stack --version\", used only by building with stack.yaml",-            "manual": true,-            "default": false-        },-        "integration-tests": {-            "description": "Run the integration test suite",-            "manual": true,-            "default": false-        },-        "static": {-            "description": "Pass -static/-pthread to ghc when linking the stack binary.",-            "manual": true,-            "default": false-        },-        "supported-build": {-            "description": "If false, causes \"stack --version\" to issue a warning about the build being unsupported.  True only if building with stack.yaml",-            "manual": true,-            "default": false-        }-    },-    "library": {-        "exposed-modules": [-            "Control.Concurrent.Execute",-            "Data.Attoparsec.Args",-            "Data.Attoparsec.Combinators",-            "Data.Attoparsec.Interpreter",-            "Data.Monoid.Map",-            "Network.HTTP.Download",-            "Network.HTTP.Download.Verified",-            "Network.HTTP.StackClient",-            "Options.Applicative.Args",-            "Options.Applicative.Builder.Extra",-            "Options.Applicative.Complicated",-            "Path.CheckInstall",-            "Path.Extra",-            "Path.Find",-            "Stack.Build",-            "Stack.Build.Cache",-            "Stack.Build.ConstructPlan",-            "Stack.Build.Execute",-            "Stack.Build.Haddock",-            "Stack.Build.Installed",-            "Stack.Build.Source",-            "Stack.Build.Target",-            "Stack.BuildPlan",-            "Stack.Clean",-            "Stack.Config",-            "Stack.Config.Build",-            "Stack.Config.Urls",-            "Stack.Config.Docker",-            "Stack.Config.Nix",-            "Stack.ConfigCmd",-            "Stack.Constants",-            "Stack.Constants.Config",-            "Stack.Coverage",-            "Stack.DefaultColorWhen",-            "Stack.DefaultStyles",-            "Stack.Docker",-            "Stack.Docker.GlobalDB",-            "Stack.Dot",-            "Stack.FileWatch",-            "Stack.Freeze",-            "Stack.GhcPkg",-            "Stack.Ghci",-            "Stack.Ghci.Script",-            "Stack.Hoogle",-            "Stack.IDE",-            "Stack.Image",-            "Stack.Init",-            "Stack.Ls",-            "Stack.New",-            "Stack.Nix",-            "Stack.Options.BenchParser",-            "Stack.Options.BuildMonoidParser",-            "Stack.Options.BuildParser",-            "Stack.Options.CleanParser",-            "Stack.Options.ConfigParser",-            "Stack.Options.Completion",-            "Stack.Options.DockerParser",-            "Stack.Options.DotParser",-            "Stack.Options.ExecParser",-            "Stack.Options.FreezeParser",-            "Stack.Options.GhcBuildParser",-            "Stack.Options.GhciParser",-            "Stack.Options.GhcVariantParser",-            "Stack.Options.GlobalParser",-            "Stack.Options.HaddockParser",-            "Stack.Options.HpcReportParser",-            "Stack.Options.LogLevelParser",-            "Stack.Options.NewParser",-            "Stack.Options.NixParser",-            "Stack.Options.PackageParser",-            "Stack.Options.ResolverParser",-            "Stack.Options.ScriptParser",-            "Stack.Options.SDistParser",-            "Stack.Options.SolverParser",-            "Stack.Options.TestParser",-            "Stack.Options.Utils",-            "Stack.Package",-            "Stack.PackageDump",-            "Stack.Path",-            "Stack.Prelude",-            "Stack.PrettyPrint",-            "Stack.Runners",-            "Stack.Script",-            "Stack.SDist",-            "Stack.Setup",-            "Stack.Setup.Installed",-            "Stack.SetupCmd",-            "Stack.Sig",-            "Stack.Sig.GPG",-            "Stack.Sig.Sign",-            "Stack.Snapshot",-            "Stack.Solver",-            "Stack.StoreTH",-            "Stack.Types.Build",-            "Stack.Types.BuildPlan",-            "Stack.Types.CompilerBuild",-            "Stack.Types.Urls",-            "Stack.Types.Compiler",-            "Stack.Types.Config",-            "Stack.Types.Config.Build",-            "Stack.Types.Docker",-            "Stack.Types.GhcPkgId",-            "Stack.Types.Image",-            "Stack.Types.NamedComponent",-            "Stack.Types.Nix",-            "Stack.Types.Package",-            "Stack.Types.PackageDump",-            "Stack.Types.PackageName",-            "Stack.Types.PrettyPrint",-            "Stack.Types.Resolver",-            "Stack.Types.Runner",-            "Stack.Types.Sig",-            "Stack.Types.StylesUpdate",-            "Stack.Types.TemplateName",-            "Stack.Types.Version",-            "Stack.Types.VersionIntervals",-            "Stack.Unpack",-            "Stack.Upgrade",-            "Stack.Upload",-            "Text.PrettyPrint.Leijen.Extended",-            "System.Permissions",-            "System.Process.PagerEditor",-            "System.Terminal"-        ],-        "generated-exposed-modules": [-            "Paths_stack"-        ],-        "source-dirs": "src/",-        "ghc-options": [-            "-fwarn-identities"-        ],-        "when": {-            "condition": "os(windows)",-            "then": {-                "source-dirs": [-                    "src/windows/"-                ]-            },-            "else": {-                "source-dirs": [-                    "src/unix/"-                ],-                "c-sources": [-                    "src/unix/cbits/uname.c"-                ]-            }-        }-    },-    "executables": {-        "stack": {-            "main": "Main.hs",-            "generated-other-modules": [-                "Build_stack",-                "Paths_stack"-            ],-            "source-dirs": [-                "src/main"-            ],-            "ghc-options": [-                "-threaded",-                "-rtsopts"-            ],-            "dependencies": [-                "stack"-            ],-            "when": [-                {-                    "condition": "flag(static)",-                    "cpp-options": [],-                    "ld-options": [-                        "-static",-                        "-pthread"-                    ],-                    "dependencies": []-                },-                {-                    "condition": "!(flag(disable-git-info))",-                    "cpp-options": [-                        "-DUSE_GIT_INFO"-                    ],-                    "ld-options": [],-                    "dependencies": [-                        "githash",-                        "optparse-simple"-                    ]-                },-                {-                    "condition": "flag(hide-dependency-versions)",-                    "cpp-options": [-                        "-DHIDE_DEP_VERSIONS"-                    ],-                    "ld-options": [],-                    "dependencies": []-                },-                {-                    "condition": "flag(supported-build)",-                    "cpp-options": [-                        "-DSUPPORTED_BUILD"-                    ],-                    "ld-options": [],-                    "dependencies": []-                }-            ]-        }-    },-    "tests": {-        "stack-integration-test": {-            "main": "IntegrationSpec.hs",-            "source-dirs": [-                "test/integration",-                "test/integration/lib"-            ],-            "ghc-options": [-                "-threaded",-                "-rtsopts",-                "-with-rtsopts=-N"-            ],-            "dependencies": [-                "hspec"-            ],-            "when": {-                "condition": "!flag(integration-tests)",-                "buildable": false-            }-        },-        "stack-test": {-            "main": "Spec.hs",-            "source-dirs": [-                "src/test"-            ],-            "ghc-options": [-                "-threaded"-            ],-            "dependencies": [-                "QuickCheck",-                "hspec",-                "stack",-                "smallcheck"-            ]-        }-    }-}
− test/golden/test-files/real-world/stack/stack.json.golden
@@ -1,410 +0,0 @@-{-    "name": "stack",-    "version": "1.10.0",-    "synopsis": "The Haskell Tool Stack",-    "description": "Please see the README.md for usage information, and\nthe wiki on Github for more details.  Also, note that\nthe API for the library is not currently stable, and may\nchange significantly, even between minor releases. It is\ncurrently only intended for use by the executable.",-    "category": "Development",-    "homepage": "http://haskellstack.org",-    "author": "Commercial Haskell SIG",-    "maintainer": "manny@fpcomplete.com",-    "license": "BSD3",-    "github": "commercialhaskell/stack",-    "extra-source-files": [-        "CONTRIBUTING.md",-        "ChangeLog.md",-        "README.md",-        "doc/*.md",-        "src/setup-shim/StackSetupShim.hs",-        "stack.yaml",-        "test/package-dump/ghc-7.10.txt",-        "test/package-dump/ghc-7.8.4-osx.txt",-        "test/package-dump/ghc-7.8.txt"-    ],-    "ghc-options": [-        "-Wall",-        "-fwarn-tabs",-        "-fwarn-incomplete-uni-patterns",-        "-fwarn-incomplete-record-updates",-        "-optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739)"-    ],-    "dependencies": [-        "Cabal >= 2.4",-        "aeson",-        "annotated-wl-pprint",-        "ansi-terminal >= 0.8.1",-        "array",-        "async",-        "attoparsec",-        "base >=4.10 && < 5",-        "base64-bytestring",-        "bytestring",-        "colour",-        "conduit",-        "conduit-extra",-        "containers",-        "cryptonite",-        "cryptonite-conduit",-        "deepseq",-        "directory",-        "echo",-        "exceptions",-        "extra",-        "file-embed",-        "filelock",-        "filepath",-        "fsnotify",-        "generic-deriving",-        "hackage-security",-        "hashable",-        "hpack",-        "hpc",-        "http-client",-        "http-client-tls",-        "http-conduit",-        "http-types",-        "memory",-        "microlens",-        "mintty",-        "monad-logger",-        "mono-traversable",-        "mtl",-        "mustache",-        "neat-interpolation",-        "network-uri",-        "open-browser",-        "optparse-applicative",-        "pantry",-        "path",-        "path-io",-        "persistent",-        "persistent-sqlite",-        "persistent-template",-        "pretty",-        "primitive",-        "process",-        "project-template",-        "regex-applicative-text",-        "resourcet",-        "retry >= 0.7",-        "rio",-        "semigroups",-        "split",-        "stm",-        "store-core",-        "streaming-commons",-        "tar",-        "template-haskell",-        "temporary",-        "text",-        "text-metrics",-        "th-reify-many",-        "time",-        "tls",-        "transformers",-        "typed-process",-        "unicode-transforms",-        "unix-compat",-        "unliftio >= 0.2.8.0",-        "unordered-containers",-        "vector",-        "yaml",-        "zip-archive",-        "zlib"-    ],-    "when": {-        "condition": "os(windows)",-        "then": {-            "cpp-options": [-                "-DWINDOWS"-            ],-            "dependencies": [-                "Win32"-            ]-        },-        "else": {-            "dependencies": [-                "unix"-            ],-            "build-tools": [-                "hsc2hs"-            ]-        }-    },-    "custom-setup": {-        "dependencies": [-            "base >=4.10 && < 5",-            "Cabal >= 2.4",-            "filepath"-        ]-    },-    "flags": {-        "disable-git-info": {-            "description": "Disable compile-time inclusion of current git info in stack",-            "manual": true,-            "default": false-        },-        "hide-dependency-versions": {-            "description": "Hides dependency versions from \"stack --version\", used only by building with stack.yaml",-            "manual": true,-            "default": false-        },-        "integration-tests": {-            "description": "Run the integration test suite",-            "manual": true,-            "default": false-        },-        "static": {-            "description": "Pass -static/-pthread to ghc when linking the stack binary.",-            "manual": true,-            "default": false-        },-        "supported-build": {-            "description": "If false, causes \"stack --version\" to issue a warning about the build being unsupported.  True only if building with stack.yaml",-            "manual": true,-            "default": false-        }-    },-    "library": {-        "exposed-modules": [-            "Control.Concurrent.Execute",-            "Data.Attoparsec.Args",-            "Data.Attoparsec.Combinators",-            "Data.Attoparsec.Interpreter",-            "Data.Monoid.Map",-            "Network.HTTP.Download",-            "Network.HTTP.Download.Verified",-            "Network.HTTP.StackClient",-            "Options.Applicative.Args",-            "Options.Applicative.Builder.Extra",-            "Options.Applicative.Complicated",-            "Path.CheckInstall",-            "Path.Extra",-            "Path.Find",-            "Stack.Build",-            "Stack.Build.Cache",-            "Stack.Build.ConstructPlan",-            "Stack.Build.Execute",-            "Stack.Build.Haddock",-            "Stack.Build.Installed",-            "Stack.Build.Source",-            "Stack.Build.Target",-            "Stack.BuildPlan",-            "Stack.Clean",-            "Stack.Config",-            "Stack.Config.Build",-            "Stack.Config.Urls",-            "Stack.Config.Docker",-            "Stack.Config.Nix",-            "Stack.ConfigCmd",-            "Stack.Constants",-            "Stack.Constants.Config",-            "Stack.Coverage",-            "Stack.DefaultColorWhen",-            "Stack.DefaultStyles",-            "Stack.Docker",-            "Stack.Docker.GlobalDB",-            "Stack.Dot",-            "Stack.FileWatch",-            "Stack.Freeze",-            "Stack.GhcPkg",-            "Stack.Ghci",-            "Stack.Ghci.Script",-            "Stack.Hoogle",-            "Stack.IDE",-            "Stack.Image",-            "Stack.Init",-            "Stack.Ls",-            "Stack.New",-            "Stack.Nix",-            "Stack.Options.BenchParser",-            "Stack.Options.BuildMonoidParser",-            "Stack.Options.BuildParser",-            "Stack.Options.CleanParser",-            "Stack.Options.ConfigParser",-            "Stack.Options.Completion",-            "Stack.Options.DockerParser",-            "Stack.Options.DotParser",-            "Stack.Options.ExecParser",-            "Stack.Options.FreezeParser",-            "Stack.Options.GhcBuildParser",-            "Stack.Options.GhciParser",-            "Stack.Options.GhcVariantParser",-            "Stack.Options.GlobalParser",-            "Stack.Options.HaddockParser",-            "Stack.Options.HpcReportParser",-            "Stack.Options.LogLevelParser",-            "Stack.Options.NewParser",-            "Stack.Options.NixParser",-            "Stack.Options.PackageParser",-            "Stack.Options.ResolverParser",-            "Stack.Options.ScriptParser",-            "Stack.Options.SDistParser",-            "Stack.Options.SolverParser",-            "Stack.Options.TestParser",-            "Stack.Options.Utils",-            "Stack.Package",-            "Stack.PackageDump",-            "Stack.Path",-            "Stack.Prelude",-            "Stack.PrettyPrint",-            "Stack.Runners",-            "Stack.Script",-            "Stack.SDist",-            "Stack.Setup",-            "Stack.Setup.Installed",-            "Stack.SetupCmd",-            "Stack.Sig",-            "Stack.Sig.GPG",-            "Stack.Sig.Sign",-            "Stack.Snapshot",-            "Stack.Solver",-            "Stack.StoreTH",-            "Stack.Types.Build",-            "Stack.Types.BuildPlan",-            "Stack.Types.CompilerBuild",-            "Stack.Types.Urls",-            "Stack.Types.Compiler",-            "Stack.Types.Config",-            "Stack.Types.Config.Build",-            "Stack.Types.Docker",-            "Stack.Types.GhcPkgId",-            "Stack.Types.Image",-            "Stack.Types.NamedComponent",-            "Stack.Types.Nix",-            "Stack.Types.Package",-            "Stack.Types.PackageDump",-            "Stack.Types.PackageName",-            "Stack.Types.PrettyPrint",-            "Stack.Types.Resolver",-            "Stack.Types.Runner",-            "Stack.Types.Sig",-            "Stack.Types.StylesUpdate",-            "Stack.Types.TemplateName",-            "Stack.Types.Version",-            "Stack.Types.VersionIntervals",-            "Stack.Unpack",-            "Stack.Upgrade",-            "Stack.Upload",-            "Text.PrettyPrint.Leijen.Extended",-            "System.Permissions",-            "System.Process.PagerEditor",-            "System.Terminal"-        ],-        "generated-exposed-modules": [-            "Paths_stack"-        ],-        "source-dirs": "src/",-        "ghc-options": [-            "-fwarn-identities"-        ],-        "when": {-            "condition": "os(windows)",-            "then": {-                "source-dirs": [-                    "src/windows/"-                ]-            },-            "else": {-                "source-dirs": [-                    "src/unix/"-                ],-                "c-sources": [-                    "src/unix/cbits/uname.c"-                ]-            }-        }-    },-    "executables": {-        "stack": {-            "main": "Main.hs",-            "generated-other-modules": [-                "Build_stack",-                "Paths_stack"-            ],-            "source-dirs": [-                "src/main"-            ],-            "ghc-options": [-                "-threaded",-                "-rtsopts"-            ],-            "dependencies": [-                "stack"-            ],-            "when": [-                {-                    "condition": "flag(static)",-                    "cpp-options": [],-                    "ld-options": [-                        "-static",-                        "-pthread"-                    ],-                    "dependencies": []-                },-                {-                    "condition": "!(flag(disable-git-info))",-                    "cpp-options": [-                        "-DUSE_GIT_INFO"-                    ],-                    "ld-options": [],-                    "dependencies": [-                        "githash",-                        "optparse-simple"-                    ]-                },-                {-                    "condition": "flag(hide-dependency-versions)",-                    "cpp-options": [-                        "-DHIDE_DEP_VERSIONS"-                    ],-                    "ld-options": [],-                    "dependencies": []-                },-                {-                    "condition": "flag(supported-build)",-                    "cpp-options": [-                        "-DSUPPORTED_BUILD"-                    ],-                    "ld-options": [],-                    "dependencies": []-                }-            ]-        }-    },-    "tests": {-        "stack-integration-test": {-            "main": "IntegrationSpec.hs",-            "source-dirs": [-                "test/integration",-                "test/integration/lib"-            ],-            "ghc-options": [-                "-threaded",-                "-rtsopts",-                "-with-rtsopts=-N"-            ],-            "dependencies": [-                "hspec"-            ],-            "when": {-                "condition": "!flag(integration-tests)",-                "buildable": false-            }-        },-        "stack-test": {-            "main": "Spec.hs",-            "source-dirs": [-                "src/test"-            ],-            "ghc-options": [-                "-threaded"-            ],-            "dependencies": [-                "QuickCheck",-                "hspec",-                "stack",-                "smallcheck"-            ]-        }-    }-}
− test/golden/test-files/real-world/stack/stack.yaml
@@ -1,361 +0,0 @@-name: stack-version: 1.10.0-synopsis: The Haskell Tool Stack-description: 'Please see the README.md for usage information, and--  the wiki on Github for more details.  Also, note that--  the API for the library is not currently stable, and may--  change significantly, even between minor releases. It is--  currently only intended for use by the executable.'-category: Development-homepage: http://haskellstack.org-author: Commercial Haskell SIG-maintainer: manny@fpcomplete.com-license: BSD3-github: commercialhaskell/stack-extra-source-files:-- CONTRIBUTING.md-- ChangeLog.md-- README.md-- doc/*.md-- src/setup-shim/StackSetupShim.hs-- stack.yaml-- test/package-dump/ghc-7.10.txt-- test/package-dump/ghc-7.8.4-osx.txt-- test/package-dump/ghc-7.8.txt-ghc-options:-- -Wall-- -fwarn-tabs-- -fwarn-incomplete-uni-patterns-- -fwarn-incomplete-record-updates-- '-optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue-  #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739)'-dependencies:-- Cabal >= 2.4-- aeson-- annotated-wl-pprint-- ansi-terminal >= 0.8.1-- array-- async-- attoparsec-- base >=4.10 && < 5-- base64-bytestring-- bytestring-- colour-- conduit-- conduit-extra-- containers-- cryptonite-- cryptonite-conduit-- deepseq-- directory-- echo-- exceptions-- extra-- file-embed-- filelock-- filepath-- fsnotify-- generic-deriving-- hackage-security-- hashable-- hpack-- hpc-- http-client-- http-client-tls-- http-conduit-- http-types-- memory-- microlens-- mintty-- monad-logger-- mono-traversable-- mtl-- mustache-- neat-interpolation-- network-uri-- open-browser-- optparse-applicative-- pantry-- path-- path-io-- persistent-- persistent-sqlite-- persistent-template-- pretty-- primitive-- process-- project-template-- regex-applicative-text-- resourcet-- retry >= 0.7-- rio-- semigroups-- split-- stm-- store-core-- streaming-commons-- tar-- template-haskell-- temporary-- text-- text-metrics-- th-reify-many-- time-- tls-- transformers-- typed-process-- unicode-transforms-- unix-compat-- unliftio >= 0.2.8.0-- unordered-containers-- vector-- yaml-- zip-archive-- zlib-when:-  condition: os(windows)-  then:-    cpp-options:-    - -DWINDOWS-    dependencies:-    - Win32-  else:-    dependencies:-    - unix-    build-tools:-    - hsc2hs-custom-setup:-  dependencies:-  - base >=4.10 && < 5-  - Cabal >= 2.4-  - filepath-flags:-  disable-git-info:-    description: Disable compile-time inclusion of current git info in stack-    manual: true-    default: false-  hide-dependency-versions:-    description: Hides dependency versions from "stack --version", used only by building-      with stack.yaml-    manual: true-    default: false-  integration-tests:-    description: Run the integration test suite-    manual: true-    default: false-  static:-    description: Pass -static/-pthread to ghc when linking the stack binary.-    manual: true-    default: false-  supported-build:-    description: If false, causes "stack --version" to issue a warning about the build-      being unsupported.  True only if building with stack.yaml-    manual: true-    default: false-library:-  exposed-modules:-  - Control.Concurrent.Execute-  - Data.Attoparsec.Args-  - Data.Attoparsec.Combinators-  - Data.Attoparsec.Interpreter-  - Data.Monoid.Map-  - Network.HTTP.Download-  - Network.HTTP.Download.Verified-  - Network.HTTP.StackClient-  - Options.Applicative.Args-  - Options.Applicative.Builder.Extra-  - Options.Applicative.Complicated-  - Path.CheckInstall-  - Path.Extra-  - Path.Find-  - Stack.Build-  - Stack.Build.Cache-  - Stack.Build.ConstructPlan-  - Stack.Build.Execute-  - Stack.Build.Haddock-  - Stack.Build.Installed-  - Stack.Build.Source-  - Stack.Build.Target-  - Stack.BuildPlan-  - Stack.Clean-  - Stack.Config-  - Stack.Config.Build-  - Stack.Config.Urls-  - Stack.Config.Docker-  - Stack.Config.Nix-  - Stack.ConfigCmd-  - Stack.Constants-  - Stack.Constants.Config-  - Stack.Coverage-  - Stack.DefaultColorWhen-  - Stack.DefaultStyles-  - Stack.Docker-  - Stack.Docker.GlobalDB-  - Stack.Dot-  - Stack.FileWatch-  - Stack.Freeze-  - Stack.GhcPkg-  - Stack.Ghci-  - Stack.Ghci.Script-  - Stack.Hoogle-  - Stack.IDE-  - Stack.Image-  - Stack.Init-  - Stack.Ls-  - Stack.New-  - Stack.Nix-  - Stack.Options.BenchParser-  - Stack.Options.BuildMonoidParser-  - Stack.Options.BuildParser-  - Stack.Options.CleanParser-  - Stack.Options.ConfigParser-  - Stack.Options.Completion-  - Stack.Options.DockerParser-  - Stack.Options.DotParser-  - Stack.Options.ExecParser-  - Stack.Options.FreezeParser-  - Stack.Options.GhcBuildParser-  - Stack.Options.GhciParser-  - Stack.Options.GhcVariantParser-  - Stack.Options.GlobalParser-  - Stack.Options.HaddockParser-  - Stack.Options.HpcReportParser-  - Stack.Options.LogLevelParser-  - Stack.Options.NewParser-  - Stack.Options.NixParser-  - Stack.Options.PackageParser-  - Stack.Options.ResolverParser-  - Stack.Options.ScriptParser-  - Stack.Options.SDistParser-  - Stack.Options.SolverParser-  - Stack.Options.TestParser-  - Stack.Options.Utils-  - Stack.Package-  - Stack.PackageDump-  - Stack.Path-  - Stack.Prelude-  - Stack.PrettyPrint-  - Stack.Runners-  - Stack.Script-  - Stack.SDist-  - Stack.Setup-  - Stack.Setup.Installed-  - Stack.SetupCmd-  - Stack.Sig-  - Stack.Sig.GPG-  - Stack.Sig.Sign-  - Stack.Snapshot-  - Stack.Solver-  - Stack.StoreTH-  - Stack.Types.Build-  - Stack.Types.BuildPlan-  - Stack.Types.CompilerBuild-  - Stack.Types.Urls-  - Stack.Types.Compiler-  - Stack.Types.Config-  - Stack.Types.Config.Build-  - Stack.Types.Docker-  - Stack.Types.GhcPkgId-  - Stack.Types.Image-  - Stack.Types.NamedComponent-  - Stack.Types.Nix-  - Stack.Types.Package-  - Stack.Types.PackageDump-  - Stack.Types.PackageName-  - Stack.Types.PrettyPrint-  - Stack.Types.Resolver-  - Stack.Types.Runner-  - Stack.Types.Sig-  - Stack.Types.StylesUpdate-  - Stack.Types.TemplateName-  - Stack.Types.Version-  - Stack.Types.VersionIntervals-  - Stack.Unpack-  - Stack.Upgrade-  - Stack.Upload-  - Text.PrettyPrint.Leijen.Extended-  - System.Permissions-  - System.Process.PagerEditor-  - System.Terminal-  generated-exposed-modules:-  - Paths_stack-  source-dirs: src/-  ghc-options:-  - -fwarn-identities-  when:-    condition: os(windows)-    then:-      source-dirs:-      - src/windows/-    else:-      source-dirs:-      - src/unix/-      c-sources:-      - src/unix/cbits/uname.c-executables:-  stack:-    main: Main.hs-    generated-other-modules:-    - Build_stack-    - Paths_stack-    source-dirs:-    - src/main-    ghc-options:-    - -threaded-    - -rtsopts-    dependencies:-    - stack-    when:-    - condition: flag(static)-      cpp-options: []-      ld-options:-      - -static-      - -pthread-      dependencies: []-    - condition: '!(flag(disable-git-info))'-      cpp-options:-      - -DUSE_GIT_INFO-      ld-options: []-      dependencies:-      - githash-      - optparse-simple-    - condition: flag(hide-dependency-versions)-      cpp-options:-      - -DHIDE_DEP_VERSIONS-      ld-options: []-      dependencies: []-    - condition: flag(supported-build)-      cpp-options:-      - -DSUPPORTED_BUILD-      ld-options: []-      dependencies: []-tests:-  stack-integration-test:-    main: IntegrationSpec.hs-    source-dirs:-    - test/integration-    - test/integration/lib-    ghc-options:-    - -threaded-    - -rtsopts-    - -with-rtsopts=-N-    dependencies:-    - hspec-    when:-      condition: '!flag(integration-tests)'-      buildable: false-  stack-test:-    main: Spec.hs-    source-dirs:-    - src/test-    ghc-options:-    - -threaded-    dependencies:-    - QuickCheck-    - hspec-    - stack-    - smallcheck
− test/golden/test-files/real-world/stack/stack.yaml.cabal
@@ -1,629 +0,0 @@-cabal-version: 2.0---- This file has been generated from stack.yaml by hpack version 0.31.2.------ see: https://github.com/sol/hpack------ hash: 33d90e3e81d97f3c404a9e20246cf4aa6942dc054db675cadd50b1edd68582ce--name:           stack-version:        1.10.0-synopsis:       The Haskell Tool Stack-description:    Please see the README.md for usage information, and-                the wiki on Github for more details.  Also, note that-                the API for the library is not currently stable, and may-                change significantly, even between minor releases. It is-                currently only intended for use by the executable.-category:       Development-homepage:       http://haskellstack.org-bug-reports:    https://github.com/commercialhaskell/stack/issues-author:         Commercial Haskell SIG-maintainer:     manny@fpcomplete.com-license:        BSD3-build-type:     Custom-extra-source-files:-    CONTRIBUTING.md-    ChangeLog.md-    README.md-    src/setup-shim/StackSetupShim.hs-    stack.yaml-    test/package-dump/ghc-7.10.txt-    test/package-dump/ghc-7.8.4-osx.txt-    test/package-dump/ghc-7.8.txt--source-repository head-  type: git-  location: https://github.com/commercialhaskell/stack--custom-setup-  setup-depends:-      Cabal >=2.4-    , base >=4.10 && <5-    , filepath--flag disable-git-info-  description: Disable compile-time inclusion of current git info in stack-  manual: True-  default: False--flag hide-dependency-versions-  description: Hides dependency versions from "stack --version", used only by building with stack.yaml-  manual: True-  default: False--flag integration-tests-  description: Run the integration test suite-  manual: True-  default: False--flag static-  description: Pass -static/-pthread to ghc when linking the stack binary.-  manual: True-  default: False--flag supported-build-  description: If false, causes "stack --version" to issue a warning about the build being unsupported.  True only if building with stack.yaml-  manual: True-  default: False--library-  exposed-modules:-      Control.Concurrent.Execute-      Data.Attoparsec.Args-      Data.Attoparsec.Combinators-      Data.Attoparsec.Interpreter-      Data.Monoid.Map-      Network.HTTP.Download-      Network.HTTP.Download.Verified-      Network.HTTP.StackClient-      Options.Applicative.Args-      Options.Applicative.Builder.Extra-      Options.Applicative.Complicated-      Path.CheckInstall-      Path.Extra-      Path.Find-      Stack.Build-      Stack.Build.Cache-      Stack.Build.ConstructPlan-      Stack.Build.Execute-      Stack.Build.Haddock-      Stack.Build.Installed-      Stack.Build.Source-      Stack.Build.Target-      Stack.BuildPlan-      Stack.Clean-      Stack.Config-      Stack.Config.Build-      Stack.Config.Urls-      Stack.Config.Docker-      Stack.Config.Nix-      Stack.ConfigCmd-      Stack.Constants-      Stack.Constants.Config-      Stack.Coverage-      Stack.DefaultColorWhen-      Stack.DefaultStyles-      Stack.Docker-      Stack.Docker.GlobalDB-      Stack.Dot-      Stack.FileWatch-      Stack.Freeze-      Stack.GhcPkg-      Stack.Ghci-      Stack.Ghci.Script-      Stack.Hoogle-      Stack.IDE-      Stack.Image-      Stack.Init-      Stack.Ls-      Stack.New-      Stack.Nix-      Stack.Options.BenchParser-      Stack.Options.BuildMonoidParser-      Stack.Options.BuildParser-      Stack.Options.CleanParser-      Stack.Options.ConfigParser-      Stack.Options.Completion-      Stack.Options.DockerParser-      Stack.Options.DotParser-      Stack.Options.ExecParser-      Stack.Options.FreezeParser-      Stack.Options.GhcBuildParser-      Stack.Options.GhciParser-      Stack.Options.GhcVariantParser-      Stack.Options.GlobalParser-      Stack.Options.HaddockParser-      Stack.Options.HpcReportParser-      Stack.Options.LogLevelParser-      Stack.Options.NewParser-      Stack.Options.NixParser-      Stack.Options.PackageParser-      Stack.Options.ResolverParser-      Stack.Options.ScriptParser-      Stack.Options.SDistParser-      Stack.Options.SolverParser-      Stack.Options.TestParser-      Stack.Options.Utils-      Stack.Package-      Stack.PackageDump-      Stack.Path-      Stack.Prelude-      Stack.PrettyPrint-      Stack.Runners-      Stack.Script-      Stack.SDist-      Stack.Setup-      Stack.Setup.Installed-      Stack.SetupCmd-      Stack.Sig-      Stack.Sig.GPG-      Stack.Sig.Sign-      Stack.Snapshot-      Stack.Solver-      Stack.StoreTH-      Stack.Types.Build-      Stack.Types.BuildPlan-      Stack.Types.CompilerBuild-      Stack.Types.Urls-      Stack.Types.Compiler-      Stack.Types.Config-      Stack.Types.Config.Build-      Stack.Types.Docker-      Stack.Types.GhcPkgId-      Stack.Types.Image-      Stack.Types.NamedComponent-      Stack.Types.Nix-      Stack.Types.Package-      Stack.Types.PackageDump-      Stack.Types.PackageName-      Stack.Types.PrettyPrint-      Stack.Types.Resolver-      Stack.Types.Runner-      Stack.Types.Sig-      Stack.Types.StylesUpdate-      Stack.Types.TemplateName-      Stack.Types.Version-      Stack.Types.VersionIntervals-      Stack.Unpack-      Stack.Upgrade-      Stack.Upload-      Text.PrettyPrint.Leijen.Extended-      System.Permissions-      System.Process.PagerEditor-      System.Terminal-      Paths_stack-  autogen-modules:-      Paths_stack-  hs-source-dirs:-      src/-  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -fwarn-identities-  build-depends:-      Cabal >=2.4-    , aeson-    , annotated-wl-pprint-    , ansi-terminal >=0.8.1-    , array-    , async-    , attoparsec-    , base >=4.10 && <5-    , base64-bytestring-    , bytestring-    , colour-    , conduit-    , conduit-extra-    , containers-    , cryptonite-    , cryptonite-conduit-    , deepseq-    , directory-    , echo-    , exceptions-    , extra-    , file-embed-    , filelock-    , filepath-    , fsnotify-    , generic-deriving-    , hackage-security-    , hashable-    , hpack-    , hpc-    , http-client-    , http-client-tls-    , http-conduit-    , http-types-    , memory-    , microlens-    , mintty-    , monad-logger-    , mono-traversable-    , mtl-    , mustache-    , neat-interpolation-    , network-uri-    , open-browser-    , optparse-applicative-    , pantry-    , path-    , path-io-    , persistent-    , persistent-sqlite-    , persistent-template-    , pretty-    , primitive-    , process-    , project-template-    , regex-applicative-text-    , resourcet-    , retry >=0.7-    , rio-    , semigroups-    , split-    , stm-    , store-core-    , streaming-commons-    , tar-    , template-haskell-    , temporary-    , text-    , text-metrics-    , th-reify-many-    , time-    , tls-    , transformers-    , typed-process-    , unicode-transforms-    , unix-compat-    , unliftio >=0.2.8.0-    , unordered-containers-    , vector-    , yaml-    , zip-archive-    , zlib-  if os(windows)-    cpp-options: -DWINDOWS-    build-depends:-        Win32-  else-    build-tools:-        hsc2hs-    build-depends:-        unix-  if os(windows)-    hs-source-dirs:-        src/windows/-  else-    hs-source-dirs:-        src/unix/-    c-sources:-        src/unix/cbits/uname.c-  default-language: Haskell2010--executable stack-  main-is: Main.hs-  other-modules:-      Build_stack-      Paths_stack-  autogen-modules:-      Build_stack-      Paths_stack-  hs-source-dirs:-      src/main-  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded -rtsopts-  build-depends:-      Cabal >=2.4-    , aeson-    , annotated-wl-pprint-    , ansi-terminal >=0.8.1-    , array-    , async-    , attoparsec-    , base >=4.10 && <5-    , base64-bytestring-    , bytestring-    , colour-    , conduit-    , conduit-extra-    , containers-    , cryptonite-    , cryptonite-conduit-    , deepseq-    , directory-    , echo-    , exceptions-    , extra-    , file-embed-    , filelock-    , filepath-    , fsnotify-    , generic-deriving-    , hackage-security-    , hashable-    , hpack-    , hpc-    , http-client-    , http-client-tls-    , http-conduit-    , http-types-    , memory-    , microlens-    , mintty-    , monad-logger-    , mono-traversable-    , mtl-    , mustache-    , neat-interpolation-    , network-uri-    , open-browser-    , optparse-applicative-    , pantry-    , path-    , path-io-    , persistent-    , persistent-sqlite-    , persistent-template-    , pretty-    , primitive-    , process-    , project-template-    , regex-applicative-text-    , resourcet-    , retry >=0.7-    , rio-    , semigroups-    , split-    , stack-    , stm-    , store-core-    , streaming-commons-    , tar-    , template-haskell-    , temporary-    , text-    , text-metrics-    , th-reify-many-    , time-    , tls-    , transformers-    , typed-process-    , unicode-transforms-    , unix-compat-    , unliftio >=0.2.8.0-    , unordered-containers-    , vector-    , yaml-    , zip-archive-    , zlib-  if os(windows)-    cpp-options: -DWINDOWS-    build-depends:-        Win32-  else-    build-tools:-        hsc2hs-    build-depends:-        unix-  if flag(static)-    ld-options: -static -pthread-  if !(flag(disable-git-info))-    cpp-options: -DUSE_GIT_INFO-    build-depends:-        githash-      , optparse-simple-  if flag(hide-dependency-versions)-    cpp-options: -DHIDE_DEP_VERSIONS-  if flag(supported-build)-    cpp-options: -DSUPPORTED_BUILD-  default-language: Haskell2010--test-suite stack-integration-test-  type: exitcode-stdio-1.0-  main-is: IntegrationSpec.hs-  other-modules:-      Paths_stack-  hs-source-dirs:-      test/integration-      test/integration/lib-  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded -rtsopts -with-rtsopts=-N-  build-depends:-      Cabal >=2.4-    , aeson-    , annotated-wl-pprint-    , ansi-terminal >=0.8.1-    , array-    , async-    , attoparsec-    , base >=4.10 && <5-    , base64-bytestring-    , bytestring-    , colour-    , conduit-    , conduit-extra-    , containers-    , cryptonite-    , cryptonite-conduit-    , deepseq-    , directory-    , echo-    , exceptions-    , extra-    , file-embed-    , filelock-    , filepath-    , fsnotify-    , generic-deriving-    , hackage-security-    , hashable-    , hpack-    , hpc-    , hspec-    , http-client-    , http-client-tls-    , http-conduit-    , http-types-    , memory-    , microlens-    , mintty-    , monad-logger-    , mono-traversable-    , mtl-    , mustache-    , neat-interpolation-    , network-uri-    , open-browser-    , optparse-applicative-    , pantry-    , path-    , path-io-    , persistent-    , persistent-sqlite-    , persistent-template-    , pretty-    , primitive-    , process-    , project-template-    , regex-applicative-text-    , resourcet-    , retry >=0.7-    , rio-    , semigroups-    , split-    , stm-    , store-core-    , streaming-commons-    , tar-    , template-haskell-    , temporary-    , text-    , text-metrics-    , th-reify-many-    , time-    , tls-    , transformers-    , typed-process-    , unicode-transforms-    , unix-compat-    , unliftio >=0.2.8.0-    , unordered-containers-    , vector-    , yaml-    , zip-archive-    , zlib-  if os(windows)-    cpp-options: -DWINDOWS-    build-depends:-        Win32-  else-    build-tools:-        hsc2hs-    build-depends:-        unix-  if !flag(integration-tests)-    buildable: False-  default-language: Haskell2010--test-suite stack-test-  type: exitcode-stdio-1.0-  main-is: Spec.hs-  other-modules:-      Paths_stack-  hs-source-dirs:-      src/test-  ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739) -threaded-  build-depends:-      Cabal >=2.4-    , QuickCheck-    , aeson-    , annotated-wl-pprint-    , ansi-terminal >=0.8.1-    , array-    , async-    , attoparsec-    , base >=4.10 && <5-    , base64-bytestring-    , bytestring-    , colour-    , conduit-    , conduit-extra-    , containers-    , cryptonite-    , cryptonite-conduit-    , deepseq-    , directory-    , echo-    , exceptions-    , extra-    , file-embed-    , filelock-    , filepath-    , fsnotify-    , generic-deriving-    , hackage-security-    , hashable-    , hpack-    , hpc-    , hspec-    , http-client-    , http-client-tls-    , http-conduit-    , http-types-    , memory-    , microlens-    , mintty-    , monad-logger-    , mono-traversable-    , mtl-    , mustache-    , neat-interpolation-    , network-uri-    , open-browser-    , optparse-applicative-    , pantry-    , path-    , path-io-    , persistent-    , persistent-sqlite-    , persistent-template-    , pretty-    , primitive-    , process-    , project-template-    , regex-applicative-text-    , resourcet-    , retry >=0.7-    , rio-    , semigroups-    , smallcheck-    , split-    , stack-    , stm-    , store-core-    , streaming-commons-    , tar-    , template-haskell-    , temporary-    , text-    , text-metrics-    , th-reify-many-    , time-    , tls-    , transformers-    , typed-process-    , unicode-transforms-    , unix-compat-    , unliftio >=0.2.8.0-    , unordered-containers-    , vector-    , yaml-    , zip-archive-    , zlib-  if os(windows)-    cpp-options: -DWINDOWS-    build-depends:-        Win32-  else-    build-tools:-        hsc2hs-    build-depends:-        unix-  default-language: Haskell2010
− test/golden/test-files/real-world/stack/stack.yaml.golden
@@ -1,361 +0,0 @@-name: stack-version: 1.10.0-synopsis: The Haskell Tool Stack-description: 'Please see the README.md for usage information, and--  the wiki on Github for more details.  Also, note that--  the API for the library is not currently stable, and may--  change significantly, even between minor releases. It is--  currently only intended for use by the executable.'-category: Development-homepage: http://haskellstack.org-author: Commercial Haskell SIG-maintainer: manny@fpcomplete.com-license: BSD3-github: commercialhaskell/stack-extra-source-files:-- CONTRIBUTING.md-- ChangeLog.md-- README.md-- doc/*.md-- src/setup-shim/StackSetupShim.hs-- stack.yaml-- test/package-dump/ghc-7.10.txt-- test/package-dump/ghc-7.8.4-osx.txt-- test/package-dump/ghc-7.8.txt-ghc-options:-- -Wall-- -fwarn-tabs-- -fwarn-incomplete-uni-patterns-- -fwarn-incomplete-record-updates-- '-optP-Wno-nonportable-include-path # workaround [Filename case on macOS · Issue-  #4739 · haskell/cabal](https://github.com/haskell/cabal/issues/4739)'-dependencies:-- Cabal >= 2.4-- aeson-- annotated-wl-pprint-- ansi-terminal >= 0.8.1-- array-- async-- attoparsec-- base >=4.10 && < 5-- base64-bytestring-- bytestring-- colour-- conduit-- conduit-extra-- containers-- cryptonite-- cryptonite-conduit-- deepseq-- directory-- echo-- exceptions-- extra-- file-embed-- filelock-- filepath-- fsnotify-- generic-deriving-- hackage-security-- hashable-- hpack-- hpc-- http-client-- http-client-tls-- http-conduit-- http-types-- memory-- microlens-- mintty-- monad-logger-- mono-traversable-- mtl-- mustache-- neat-interpolation-- network-uri-- open-browser-- optparse-applicative-- pantry-- path-- path-io-- persistent-- persistent-sqlite-- persistent-template-- pretty-- primitive-- process-- project-template-- regex-applicative-text-- resourcet-- retry >= 0.7-- rio-- semigroups-- split-- stm-- store-core-- streaming-commons-- tar-- template-haskell-- temporary-- text-- text-metrics-- th-reify-many-- time-- tls-- transformers-- typed-process-- unicode-transforms-- unix-compat-- unliftio >= 0.2.8.0-- unordered-containers-- vector-- yaml-- zip-archive-- zlib-when:-  condition: os(windows)-  then:-    cpp-options:-    - -DWINDOWS-    dependencies:-    - Win32-  else:-    dependencies:-    - unix-    build-tools:-    - hsc2hs-custom-setup:-  dependencies:-  - base >=4.10 && < 5-  - Cabal >= 2.4-  - filepath-flags:-  disable-git-info:-    description: Disable compile-time inclusion of current git info in stack-    manual: true-    default: false-  hide-dependency-versions:-    description: Hides dependency versions from "stack --version", used only by building-      with stack.yaml-    manual: true-    default: false-  integration-tests:-    description: Run the integration test suite-    manual: true-    default: false-  static:-    description: Pass -static/-pthread to ghc when linking the stack binary.-    manual: true-    default: false-  supported-build:-    description: If false, causes "stack --version" to issue a warning about the build-      being unsupported.  True only if building with stack.yaml-    manual: true-    default: false-library:-  exposed-modules:-  - Control.Concurrent.Execute-  - Data.Attoparsec.Args-  - Data.Attoparsec.Combinators-  - Data.Attoparsec.Interpreter-  - Data.Monoid.Map-  - Network.HTTP.Download-  - Network.HTTP.Download.Verified-  - Network.HTTP.StackClient-  - Options.Applicative.Args-  - Options.Applicative.Builder.Extra-  - Options.Applicative.Complicated-  - Path.CheckInstall-  - Path.Extra-  - Path.Find-  - Stack.Build-  - Stack.Build.Cache-  - Stack.Build.ConstructPlan-  - Stack.Build.Execute-  - Stack.Build.Haddock-  - Stack.Build.Installed-  - Stack.Build.Source-  - Stack.Build.Target-  - Stack.BuildPlan-  - Stack.Clean-  - Stack.Config-  - Stack.Config.Build-  - Stack.Config.Urls-  - Stack.Config.Docker-  - Stack.Config.Nix-  - Stack.ConfigCmd-  - Stack.Constants-  - Stack.Constants.Config-  - Stack.Coverage-  - Stack.DefaultColorWhen-  - Stack.DefaultStyles-  - Stack.Docker-  - Stack.Docker.GlobalDB-  - Stack.Dot-  - Stack.FileWatch-  - Stack.Freeze-  - Stack.GhcPkg-  - Stack.Ghci-  - Stack.Ghci.Script-  - Stack.Hoogle-  - Stack.IDE-  - Stack.Image-  - Stack.Init-  - Stack.Ls-  - Stack.New-  - Stack.Nix-  - Stack.Options.BenchParser-  - Stack.Options.BuildMonoidParser-  - Stack.Options.BuildParser-  - Stack.Options.CleanParser-  - Stack.Options.ConfigParser-  - Stack.Options.Completion-  - Stack.Options.DockerParser-  - Stack.Options.DotParser-  - Stack.Options.ExecParser-  - Stack.Options.FreezeParser-  - Stack.Options.GhcBuildParser-  - Stack.Options.GhciParser-  - Stack.Options.GhcVariantParser-  - Stack.Options.GlobalParser-  - Stack.Options.HaddockParser-  - Stack.Options.HpcReportParser-  - Stack.Options.LogLevelParser-  - Stack.Options.NewParser-  - Stack.Options.NixParser-  - Stack.Options.PackageParser-  - Stack.Options.ResolverParser-  - Stack.Options.ScriptParser-  - Stack.Options.SDistParser-  - Stack.Options.SolverParser-  - Stack.Options.TestParser-  - Stack.Options.Utils-  - Stack.Package-  - Stack.PackageDump-  - Stack.Path-  - Stack.Prelude-  - Stack.PrettyPrint-  - Stack.Runners-  - Stack.Script-  - Stack.SDist-  - Stack.Setup-  - Stack.Setup.Installed-  - Stack.SetupCmd-  - Stack.Sig-  - Stack.Sig.GPG-  - Stack.Sig.Sign-  - Stack.Snapshot-  - Stack.Solver-  - Stack.StoreTH-  - Stack.Types.Build-  - Stack.Types.BuildPlan-  - Stack.Types.CompilerBuild-  - Stack.Types.Urls-  - Stack.Types.Compiler-  - Stack.Types.Config-  - Stack.Types.Config.Build-  - Stack.Types.Docker-  - Stack.Types.GhcPkgId-  - Stack.Types.Image-  - Stack.Types.NamedComponent-  - Stack.Types.Nix-  - Stack.Types.Package-  - Stack.Types.PackageDump-  - Stack.Types.PackageName-  - Stack.Types.PrettyPrint-  - Stack.Types.Resolver-  - Stack.Types.Runner-  - Stack.Types.Sig-  - Stack.Types.StylesUpdate-  - Stack.Types.TemplateName-  - Stack.Types.Version-  - Stack.Types.VersionIntervals-  - Stack.Unpack-  - Stack.Upgrade-  - Stack.Upload-  - Text.PrettyPrint.Leijen.Extended-  - System.Permissions-  - System.Process.PagerEditor-  - System.Terminal-  generated-exposed-modules:-  - Paths_stack-  source-dirs: src/-  ghc-options:-  - -fwarn-identities-  when:-    condition: os(windows)-    then:-      source-dirs:-      - src/windows/-    else:-      source-dirs:-      - src/unix/-      c-sources:-      - src/unix/cbits/uname.c-executables:-  stack:-    main: Main.hs-    generated-other-modules:-    - Build_stack-    - Paths_stack-    source-dirs:-    - src/main-    ghc-options:-    - -threaded-    - -rtsopts-    dependencies:-    - stack-    when:-    - condition: flag(static)-      cpp-options: []-      ld-options:-      - -static-      - -pthread-      dependencies: []-    - condition: '!(flag(disable-git-info))'-      cpp-options:-      - -DUSE_GIT_INFO-      ld-options: []-      dependencies:-      - githash-      - optparse-simple-    - condition: flag(hide-dependency-versions)-      cpp-options:-      - -DHIDE_DEP_VERSIONS-      ld-options: []-      dependencies: []-    - condition: flag(supported-build)-      cpp-options:-      - -DSUPPORTED_BUILD-      ld-options: []-      dependencies: []-tests:-  stack-integration-test:-    main: IntegrationSpec.hs-    source-dirs:-    - test/integration-    - test/integration/lib-    ghc-options:-    - -threaded-    - -rtsopts-    - -with-rtsopts=-N-    dependencies:-    - hspec-    when:-      condition: '!flag(integration-tests)'-      buildable: false-  stack-test:-    main: Spec.hs-    source-dirs:-    - src/test-    ghc-options:-    - -threaded-    dependencies:-    - QuickCheck-    - hspec-    - stack-    - smallcheck