b9 0.5.35 → 0.5.41
raw patch · 23 files changed
+134/−137 lines, 23 filesdep ~ConfigFiledep ~semigroupsPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: ConfigFile, semigroups
API changes (from Hackage documentation)
+ B9.ArtifactGenerator: instance Data.Semigroup.Semigroup B9.ArtifactGenerator.ArtifactGenerator
+ B9.B9Config: instance Data.Semigroup.Semigroup B9.B9Config.B9Config
+ B9.ExecEnv: instance Data.Semigroup.Semigroup B9.ExecEnv.CPUArch
+ B9.ExecEnv: instance Data.Semigroup.Semigroup B9.ExecEnv.RamSize
+ B9.ExecEnv: instance Data.Semigroup.Semigroup B9.ExecEnv.Resources
+ B9.ShellScript: instance Data.Semigroup.Semigroup B9.ShellScript.Script
- B9.Content.AST: fromAST :: (ASTish a, CanRender c) => AST c a -> ReaderT Environment B9 a
+ B9.Content.AST: fromAST :: (ASTish a, (CanRender c)) => AST c a -> ReaderT Environment B9 a
- B9.DSL: createImage :: String -> FileSystem -> ImageType -> ImageSize -> B9DSL (Imported VmImage)
+ B9.DSL: createImage :: String -> FileSystem -> ImageType -> ImageSize -> B9DSL (Imported 'VmImage)
- B9.DSL: exportImage :: Imported VmImage -> FilePath -> ImageType -> FileSystem -> ImageResize -> B9DSL ()
+ B9.DSL: exportImage :: Imported 'VmImage -> FilePath -> ImageType -> FileSystem -> ImageResize -> B9DSL ()
- B9.DSL: exportLiveInstallerImage :: Imported VmImage -> String -> FilePath -> ImageResize -> B9DSL ()
+ B9.DSL: exportLiveInstallerImage :: Imported 'VmImage -> String -> FilePath -> ImageResize -> B9DSL ()
- B9.DSL: from :: String -> B9DSL (Imported VmImage)
+ B9.DSL: from :: String -> B9DSL (Imported 'VmImage)
- B9.DSL: fromResized :: ImageResize -> String -> B9DSL (Imported VmImage)
+ B9.DSL: fromResized :: ImageResize -> String -> B9DSL (Imported 'VmImage)
- B9.DSL: imageDestination :: Imported VmImage -> ImageDestination -> B9DSL ()
+ B9.DSL: imageDestination :: Imported 'VmImage -> ImageDestination -> B9DSL ()
- B9.DSL: imageSource :: ImageSource -> B9DSL (Imported VmImage)
+ B9.DSL: imageSource :: ImageSource -> B9DSL (Imported 'VmImage)
- B9.DSL: importImage :: FilePath -> ImageType -> FileSystem -> Partition -> ImageResize -> B9DSL (Imported VmImage)
+ B9.DSL: importImage :: FilePath -> ImageType -> FileSystem -> Partition -> ImageResize -> B9DSL (Imported 'VmImage)
- B9.DSL: mountAndShareNewImage :: String -> Int -> String -> FilePath -> ExecEnv -> B9DSL (Imported VmImage)
+ B9.DSL: mountAndShareNewImage :: String -> Int -> String -> FilePath -> ExecEnv -> B9DSL (Imported 'VmImage)
- B9.DSL: mountAndShareSharedImage :: String -> String -> String -> ExecEnv -> B9DSL (Imported VmImage)
+ B9.DSL: mountAndShareSharedImage :: String -> String -> String -> ExecEnv -> B9DSL (Imported 'VmImage)
- B9.DSL: share :: Imported VmImage -> String -> B9DSL ()
+ B9.DSL: share :: Imported 'VmImage -> String -> B9DSL ()
Files
- .travis.yml +22/−14
- README.md +11/−14
- b9.cabal +14/−16
- build_and_test.sh +0/−11
- build_haddock.sh +0/−7
- src/cli/Main.hs +0/−4
- src/lib/B9/ArtifactGenerator.hs +7/−7
- src/lib/B9/B9Config.hs +16/−16
- src/lib/B9/Builder.hs +2/−2
- src/lib/B9/Content/AST.hs +2/−8
- src/lib/B9/Content/ErlangPropList.hs +2/−4
- src/lib/B9/Content/YamlObject.hs +1/−0
- src/lib/B9/DiskImages.hs +2/−5
- src/lib/B9/ExecEnv.hs +16/−9
- src/lib/B9/ShellScript.hs +10/−10
- src/tests/B9/Content/ErlTermsSpec.hs +0/−1
- src/tests/B9/Content/ErlangPropListSpec.hs +2/−3
- src/tests/B9/Content/YamlObjectSpec.hs +2/−0
- stack-lts-11.0.yaml +7/−0
- stack-lts-5.14.yaml +0/−5
- stack-lts-9.4.yaml +6/−0
- stack-nightly-2018-03-16.yaml +10/−0
- stack.yaml +2/−1
.travis.yml view
@@ -1,24 +1,32 @@ language: c sudo: false-cache:- directories:- - $HOME/.stack/ -matrix:- include:- - env: CABALVER=1.22 GHCVER=7.10.3- addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.3],sources: [hvr-ghc]}}+addons:+ apt:+ sources:+ - hvr-ghc+ packages:+ - ghc-8.2.2+ - genisoimage before_install:- - mkdir -p ~/.local/bin- - export PATH=~/.local/bin:$PATH- - travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar -xzO --wildcards '*/stack' > ~/.local/bin/stack- - chmod a+x ~/.local/bin/stack+ - mkdir -p ~/.local/bin+ - travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'+ - export PATH=~/.local/bin:/opt/ghc/$GHCVER/bin:$PATH+ - chmod a+x ~/.local/bin/stack install:- - stack -j 2 setup --no-terminal- - stack -j 2 build --only-snapshot --no-terminal+ - stack --no-terminal --skip-ghc-check setup script:- - stack -j 2 build --no-terminal+ - stack --no-terminal --skip-ghc-check build+ - stack --no-terminal --skip-ghc-check test+ - stack --no-terminal --skip-ghc-check haddock++cache:+ directories:+ - ~/.stack+ - ~/.local+ - ~/.stack-work-cache+ apt: true
README.md view
@@ -1,6 +1,6 @@ # B9 - A Benign VM-Build Tool -[](https://travis-ci.org/sheyll/b9-vm-image-builder) [](http://hackage.haskell.org/package/b9) [](http://stackage.org/lts/package/b9) [](http://stackage.org/lts-6/package/b9) [](http://stackage.org/lts-5/package/b9)+[](https://travis-ci.org/sheyll/b9-vm-image-builder) [](http://hackage.haskell.org/package/b9) [](http://stackage.org/lts/package/b9) Use B9 to compile your software into a deployable set of Linux-VM- or configuration images, from a set of scripts and input files and templates@@ -39,7 +39,7 @@ B9 creates bootable virtual machine images, without necessarily using virtualization itself. -In essence B9 is a tool for *creation*, *configuration* and *sharing* of VM images and+In essence B9 is a tool for _creation_, _configuration_ and _sharing_ of VM images and all peripheral artifacts, it creates: * VMDK/QCOW2/Raw VM images@@ -91,8 +91,8 @@ To build B9 first install: -* `ghc` version 7.6 or higher-* `cabal-install` version 1.16 or higher+* `ghc` version 7.6 or higher+* `cabal-install` version 1.16 or higher B9 uses stackage and cabal sandboxes. The build result can be found in `.cabal-sandbox/bin/`. To run a complete fresh build, execute:@@ -112,7 +112,6 @@ ./build_and_test.sh - ## Installation To be able to use B9 install@@ -165,7 +164,6 @@ b9c <global-options> <command> <command-options> -- <build-script-extra-args> - To enable B9 to work correctly on your machine edit the config file and make necessary adaptions. @@ -221,21 +219,20 @@ ## Creating artifacts To get any _real_ artifact out of an artifact generator use the `Artifact`-constructor. It takes *2* parameters an arbitrary id and a describtion of what+constructor. It takes _2_ parameters an arbitrary id and a describtion of what the artifact consists of: Artifact (IID "some_instance_id") (VmImages ... | CloudInit ...) An artifact can either be a (set of) VM-disk-image(s) likely in combination-with some shell script to install software, etc *or* a static collection of+with some shell script to install software, etc _or_ a static collection of files put on a cloud-init image(VFAT or ISO or directory). ### Defining artifact generators that produce vm image files To produce vm image files, e.g. with some software installed use the `VmImages`-artifact generator. It has only *2* parameters:-+artifact generator. It has only _2_ parameters: VmImages [ ... disk image targets ... ]@@ -265,6 +262,7 @@ B9 supports `$varnam` variable interpolation in all strings anywhere in an `ArtifactGenerator`:+ * All filenames and paths * All id strings and names * Template files included via e.g. `Template`@@ -280,7 +278,7 @@ b9c -v build -f file1.b9 .. -- arg_1 arg_2 ... The parameters are bound to `${arg_1}`, `${arg_2}`, that is variables indicating-the corresponding *position* on the command line.+the corresponding _position_ on the command line. To define variables using `Let`, write: @@ -294,9 +292,9 @@ on parens seperated by a `,` (comma). The left string is the key, and the right string is the value. -This `("webserver", "www.${domainname}")` is an example to show that the *value*+This `("webserver", "www.${domainname}")` is an example to show that the _value_ may also contain a variable reference. (Of course, only to variabled defined-*before*)+_before_) ## Anger-Management @@ -325,7 +323,6 @@ B9 code loaded and try to paste the contents of the config file to see if ghci accepts it. Use the ghci macros `:{` and `:}` to begin and end a multi-line input and paste the raw contents of the config file in question in between.- $ cabal install $ cabal repl
b9.cabal view
@@ -1,5 +1,5 @@ name: b9-version: 0.5.35+version: 0.5.41 synopsis: A tool and library for building virtual machine images. @@ -45,12 +45,10 @@ maintainer: svh@posteo.de homepage: https://github.com/sheyll/b9-vm-image-builder bug-reports: https://github.com/sheyll/b9-vm-image-builder/issues-copyright: 2015, 2016, 2017 Sven Heyll <svh@posteo.de>+copyright: 2015, 2016, 2017, 2018 Sven Heyll <svh@posteo.de> category: Development build-type: Simple extra-source-files: README.md- , build_and_test.sh- , build_haddock.sh , LICENSE , TODO.org , Setup.hs@@ -58,7 +56,9 @@ , .gitignore , prepare_release.sh , stack.yaml- , stack-lts-5.14.yaml+ , stack-lts-9.4.yaml+ , stack-lts-11.0.yaml+ , stack-nightly-2018-03-16.yaml , .travis.yml , CONTRIBUTORS cabal-version: >=1.22@@ -96,7 +96,7 @@ , B9.DSL other-modules: Paths_b9 -- other-extensions:- build-depends: ConfigFile >= 1.1+ build-depends: ConfigFile >= 1.1.4 , QuickCheck >= 2.5 , aeson >= 1.0 , async >= 2.1@@ -116,7 +116,6 @@ , pretty >= 1.1 , process >= 1.4 , random >= 1.1- , semigroups >= 0.18 , syb >= 0.6 , template >= 0.2 , text >= 1.2@@ -127,6 +126,9 @@ , bifunctors >= 5.4 , free >= 4.12 , boxes >= 0.1.4+ if !impl(ghc >= 8.0)+ build-depends: semigroups >= 0.18+ default-extensions: TupleSections , GeneralizedNewtypeDeriving , DeriveDataTypeable@@ -145,12 +147,10 @@ default-language: Haskell2010 ghc-options: -Wall -fwarn-unused-binds -fno-warn-unused-do-bind- if impl(ghc >= 7.8.2) && impl(ghc <= 7.10)- ghc-options: -fno-warn-amp executable b9c main-is: Main.hs- -- other-modules:+ other-modules: Paths_b9 -- other-extensions: build-depends: b9 , base >= 4.8 && < 5@@ -173,8 +173,6 @@ , CPP ghc-options: -threaded -with-rtsopts=-N -Wall -fwarn-unused-binds -fno-warn-unused-do-bind- if impl(ghc >= 7.8.2) && impl(ghc <= 7.10)- ghc-options: -fno-warn-amp test-suite spec type: exitcode-stdio-1.0@@ -187,9 +185,10 @@ , B9.Content.YamlObjectSpec , B9.ArtifactGeneratorImplSpec , B9.DiskImagesSpec+ , Paths_b9 build-depends: base >= 4.8 && < 5 , b9- , hspec + , hspec , hspec-expectations , QuickCheck >= 2.5 , aeson >= 1.0@@ -198,7 +197,8 @@ , unordered-containers >= 0.2 , bytestring >= 0.10 , text >= 1.2- , semigroups+ if !impl(ghc >= 8.0)+ build-depends: semigroups >= 0.18 default-extensions: TupleSections , GeneralizedNewtypeDeriving , DeriveDataTypeable@@ -211,5 +211,3 @@ , DeriveFunctor , TemplateHaskell , CPP- if impl(ghc >= 7.8.2) && impl(ghc <= 7.10)- ghc-options: -fno-warn-amp -fno-warn-unused-do-bind
− build_and_test.sh
@@ -1,11 +0,0 @@-#!/bin/bash-#-# Install dependencies and enable test compilation, then rebuild the sources and-# run all tests.-#-set -exu--cabal install -j --enable-tests --dependencies-only-cabal configure --enable-tests --disable-optimization-cabal build-./dist/build/spec/spec
− build_haddock.sh
@@ -1,7 +0,0 @@-#!/bin/bash-#-# Create a HTML version of B9 code documentation using haddock.-#-set -xeu--cabal haddock
src/cli/Main.hs view
@@ -10,10 +10,6 @@ import Paths_b9 import System.Directory import System.IO.Error hiding (isDoesNotExistErrorType)-#if !MIN_VERSION_base(4,8,0)-import System.IO.Error hiding (catch)-import Prelude hiding (catch)-#endif import B9 main :: IO ()
src/lib/B9/ArtifactGenerator.hs view
@@ -15,10 +15,7 @@ import Data.Data import Data.Hashable import GHC.Generics (Generic)-#if !MIN_VERSION_base(4,8,0)-import Data.Monoid-import Control.Applicative-#endif+import Data.Semigroup as Sem import System.FilePath ((<.>), (</>)) import B9.DiskImages@@ -126,11 +123,14 @@ instance Binary ArtifactGenerator instance NFData ArtifactGenerator +instance Sem.Semigroup ArtifactGenerator where+ (Let [] []) <> x = x+ x <> (Let [] []) = x+ x <> y = Let [] [x, y]+ instance Monoid ArtifactGenerator where mempty = Let [] []- (Let [] []) `mappend` x = x- x `mappend` (Let [] []) = x- x `mappend` y = Let [] [x, y]+ mappend = (Sem.<>) -- | Describe how input files for artifacts to build are obtained. The general -- structure of each constructor is __FromXXX__ /destination/ /source/
src/lib/B9/B9Config.hs view
@@ -23,9 +23,7 @@ import Control.Monad.IO.Class import System.Directory import Text.Printf-#if !MIN_VERSION_base(4,8,0)-import Control.Applicative-#endif+import qualified Data.Semigroup as Sem import Data.Monoid import B9.ConfigUtils@@ -50,23 +48,25 @@ , interactive :: Bool } deriving (Show) +instance Sem.Semigroup B9Config where+ c <> c' =+ B9Config { verbosity = getLast $ on mappend (Last . verbosity) c c'+ , logFile = getLast $ on mappend (Last . logFile) c c'+ , buildDirRoot = getLast $ on mappend (Last . buildDirRoot) c c'+ , keepTempDirs = getAny $ on mappend (Any . keepTempDirs) c c'+ , execEnvType = LibVirtLXC+ , profileFile = getLast $ on mappend (Last . profileFile) c c'+ , envVars = on mappend envVars c c'+ , uniqueBuildDirs = getAll ((mappend `on` (All . uniqueBuildDirs)) c c')+ , repositoryCache = getLast $ on mappend (Last . repositoryCache) c c'+ , repository = getLast ((mappend `on` (Last . repository)) c c')+ , interactive = getAny ((mappend `on` (Any . interactive)) c c')+ } instance Monoid B9Config where+ mappend = (Sem.<>) mempty = B9Config Nothing Nothing Nothing False LibVirtLXC Nothing [] True Nothing Nothing False- mappend c c' =- B9Config { verbosity = getLast $ on mappend (Last . verbosity) c c'- , logFile = getLast $ on mappend (Last . logFile) c c'- , buildDirRoot = getLast $ on mappend (Last . buildDirRoot) c c'- , keepTempDirs = getAny $ on mappend (Any . keepTempDirs) c c'- , execEnvType = LibVirtLXC- , profileFile = getLast $ on mappend (Last . profileFile) c c'- , envVars = on mappend envVars c c'- , uniqueBuildDirs = getAll ((mappend `on` (All . uniqueBuildDirs)) c c')- , repositoryCache = getLast $ on mappend (Last . repositoryCache) c c'- , repository = getLast ((mappend `on` (Last . repository)) c c')- , interactive = getAny ((mappend `on` (Any . interactive)) c c')- } defaultB9Config :: B9Config defaultB9Config = B9Config { verbosity = Just LogInfo
src/lib/B9/Builder.hs view
@@ -24,7 +24,7 @@ import B9.Content.YamlObject as X import B9.Content.Generator as X -import Data.Monoid+import Data.Semigroup as Sem import Text.Printf ( printf ) import Text.Show.Pretty (ppShow) import Control.Monad.IO.Class@@ -51,5 +51,5 @@ putStrLn (printf "B9 Failed to start: %s" e) return False Right parsedCfg ->- let cfg = defaultB9Config <> parsedCfg <> cliCfg+ let cfg = defaultB9Config Sem.<> parsedCfg Sem.<> cliCfg in f cfg
src/lib/B9/Content/AST.hs view
@@ -27,23 +27,17 @@ import qualified Data.ByteString as B import Data.Data import Data.Hashable-import Data.Semigroup+import Data.Semigroup as Sem import GHC.Generics (Generic)-#if !MIN_VERSION_base(4,8,0)-import Control.Applicative-#endif- import Control.Monad.Reader- import B9.Content.StringTemplate import B9.B9Monad(B9)- import Test.QuickCheck import B9.QCUtil -- | Types of values that can be parsed/rendered from/to 'ByteString's. This -- class is used as basis for the 'ASTish' class.-class (Semigroup a) => ConcatableSyntax a where+class (Sem.Semigroup a) => ConcatableSyntax a where -- Parse a bytestring into an 'a', and return @Left errorMessage@ or @Right a@ decodeSyntax :: FilePath -- ^ An arbitrary string for error messages that
src/lib/B9/Content/ErlangPropList.hs view
@@ -9,13 +9,12 @@ import Data.Function import Data.Hashable import Data.List (partition,sortBy)+#if !MIN_VERSION_base(4,11,0) import Data.Semigroup+#endif import qualified Data.Text as T import qualified Data.Text.Encoding as E import GHC.Generics (Generic)-#if !MIN_VERSION_base(4,8,0)-import Control.Applicative-#endif import Text.Printf import B9.Content.ErlTerms@@ -39,7 +38,6 @@ arbitrary = ErlangPropList <$> arbitrary instance Semigroup ErlangPropList where- (ErlangPropList v1) <> (ErlangPropList v2) = ErlangPropList (combine v1 v2) where combine (ErlList l1) (ErlList l2) =
src/lib/B9/Content/YamlObject.hs view
@@ -129,3 +129,4 @@ instance Arbitrary YamlObject where+ arbitrary = pure (YamlObject Null)
src/lib/B9/DiskImages.hs view
@@ -4,15 +4,12 @@ import B9.QCUtil import GHC.Generics (Generic)-#if !MIN_VERSION_base(4,8,0)-import Control.Applicative-#endif import Control.Parallel.Strategies import Data.Binary import Data.Data import Data.Hashable import Data.Maybe-import Data.Semigroup+import Data.Semigroup as Sem import System.FilePath import Test.QuickCheck import qualified Text.PrettyPrint.Boxes as Boxes@@ -200,7 +197,7 @@ -- | Shared images are orderd by name, build date and build id instance Ord SharedImage where compare (SharedImage n d b _ _) (SharedImage n' d' b' _ _) =- compare n n' <> compare d d' <> compare b b'+ compare n n' Sem.<> compare d d' Sem.<> compare b b' -- * Constroctor and accessors for 'Image' 'ImageTarget' 'ImageSource' -- 'ImageDestination' and 'SharedImage'
src/lib/B9/ExecEnv.hs view
@@ -18,8 +18,7 @@ import Data.Binary import Data.Data import Data.Hashable-import Data.Monoid-+import Data.Semigroup as Sem import B9.DiskImages import GHC.Generics (Generic) @@ -57,10 +56,12 @@ instance Binary Resources instance NFData Resources +instance Sem.Semigroup Resources where+ (<>) (Resources m c a) (Resources m' c' a') = Resources (m <> m') (max c c') (a <> a')+ instance Monoid Resources where mempty = Resources mempty 1 mempty- mappend (Resources m c a) (Resources m' c' a') =- Resources (m <> m') (max c c') (a <> a')+ mappend = (Sem.<>) noResources :: Resources noResources = mempty@@ -74,10 +75,13 @@ instance Binary CPUArch instance NFData CPUArch +instance Sem.Semigroup CPUArch where+ I386 <> x = x+ X86_64 <> _ = X86_64+ instance Monoid CPUArch where mempty = I386- I386 `mappend` x = x- X86_64 `mappend` _ = X86_64+ mappend = (Sem.<>) data RamSize = RamSize Int@@ -89,8 +93,11 @@ instance Binary RamSize instance NFData RamSize +instance Sem.Semigroup RamSize where+ AutomaticRamSize <> x = x+ x <> AutomaticRamSize = x+ r <> r' = max r r'+ instance Monoid RamSize where mempty = AutomaticRamSize- AutomaticRamSize `mappend` x = x- x `mappend` AutomaticRamSize = x- r `mappend` r' = max r r'+ mappend = (Sem.<>)
src/lib/B9/ShellScript.hs view
@@ -11,10 +11,7 @@ ) where import Data.Data-#if !MIN_VERSION_base(4,8,0)-import Control.Applicative-import Data.Monoid-#endif+import Data.Semigroup as Sem import Control.Parallel.Strategies import Data.Binary import Data.Hashable@@ -44,14 +41,17 @@ instance Binary Script instance NFData Script +instance Sem.Semigroup Script where+ NoOP <> s = s+ s <> NoOP = s+ (Begin ss) <> (Begin ss') = Begin (ss ++ ss')+ (Begin ss) <> s' = Begin (ss ++ [s'])+ s <> (Begin ss') = Begin (s : ss')+ s <> s' = Begin [s, s']+ instance Monoid Script where mempty = NoOP- NoOP `mappend` s = s- s `mappend` NoOP = s- (Begin ss) `mappend` (Begin ss') = Begin (ss ++ ss')- (Begin ss) `mappend` s' = Begin (ss ++ [s'])- s `mappend` (Begin ss') = Begin (s : ss')- s `mappend` s' = Begin [s, s']+ mappend = (Sem.<>) data Cmd = Cmd String
src/tests/B9/Content/ErlTermsSpec.hs view
@@ -1,7 +1,6 @@ {-# LANGUAGE OverloadedStrings #-} module B9.Content.ErlTermsSpec (spec) where -import Control.Applicative import Data.List import Test.Hspec import Test.QuickCheck
src/tests/B9/Content/ErlangPropListSpec.hs view
@@ -1,13 +1,12 @@ {-# LANGUAGE OverloadedStrings #-} module B9.Content.ErlangPropListSpec (spec) where -#if !MIN_VERSION_base(4,8,0)-import Control.Applicative-#endif import Data.List import Test.Hspec import Test.QuickCheck+#if !MIN_VERSION_base(4,11,0) import Data.Semigroup+#endif import Data.Text () import B9.Content.ErlTerms
src/tests/B9/Content/YamlObjectSpec.hs view
@@ -2,7 +2,9 @@ module B9.Content.YamlObjectSpec (spec) where import Test.Hspec+#if !MIN_VERSION_base(4,11,0) import Data.Semigroup+#endif import Data.Text () import Data.Yaml
+ stack-lts-11.0.yaml view
@@ -0,0 +1,7 @@+flags: {}+packages:+- '.'+extra-deps: []+resolver: lts-11.0+allow-newer: true+# pvp-bounds: lower
− stack-lts-5.14.yaml
@@ -1,5 +0,0 @@-flags: {}-packages:-- '.'-extra-deps: []-resolver: lts-5.14
+ stack-lts-9.4.yaml view
@@ -0,0 +1,6 @@+flags: {}+packages:+- '.'+extra-deps: []+resolver: lts-9.4+# pvp-bounds: lower
+ stack-nightly-2018-03-16.yaml view
@@ -0,0 +1,10 @@+flags: {}+packages:+- '.'+extra-deps:+- ConfigFile-1.1.4+- template-0.2.0.10++resolver: nightly-2018-03-16+allow-newer: true+# pvp-bounds: lower
stack.yaml view
@@ -2,5 +2,6 @@ packages: - '.' extra-deps: []-resolver: lts-9.4+resolver: lts-11.0+allow-newer: true # pvp-bounds: lower