packages feed

language-dockerfile 0.3.4.0 → 0.3.5.0

raw patch · 4 files changed

+22/−9 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Language.Dockerfile: add :: forall m_aAmy. MonadFree EInstruction m_aAmy => Source -> Destination -> m_aAmy ()
+ Language.Dockerfile: add :: forall m_asPi. MonadFree EInstruction m_asPi => Source -> Destination -> m_asPi ()
- Language.Dockerfile: arg :: forall m_aAnd. MonadFree EInstruction m_aAnd => String -> m_aAnd ()
+ Language.Dockerfile: arg :: forall m_asPX. MonadFree EInstruction m_asPX => String -> m_asPX ()
- Language.Dockerfile: cmdArgs :: forall m_aAmS. MonadFree EInstruction m_aAmS => Arguments -> m_aAmS ()
+ Language.Dockerfile: cmdArgs :: forall m_asPC. MonadFree EInstruction m_asPC => Arguments -> m_asPC ()
- Language.Dockerfile: comment :: forall m_aAng. MonadFree EInstruction m_aAng => String -> m_aAng ()
+ Language.Dockerfile: comment :: forall m_asQ0. MonadFree EInstruction m_asQ0 => String -> m_asQ0 ()
- Language.Dockerfile: copy :: forall m_aAmL. MonadFree EInstruction m_aAmL => Source -> Destination -> m_aAmL ()
+ Language.Dockerfile: copy :: forall m_asPv. MonadFree EInstruction m_asPv => Source -> Destination -> m_asPv ()
- Language.Dockerfile: embed :: forall m_aAnm. MonadFree EInstruction m_aAnm => [InstructionPos] -> m_aAnm ()
+ Language.Dockerfile: embed :: forall m_asQ6. MonadFree EInstruction m_asQ6 => [InstructionPos] -> m_asQ6 ()
- Language.Dockerfile: entrypointArgs :: forall m_aAn4. MonadFree EInstruction m_aAn4 => Arguments -> m_aAn4 ()
+ Language.Dockerfile: entrypointArgs :: forall m_asPO. MonadFree EInstruction m_asPO => Arguments -> m_asPO ()
- Language.Dockerfile: env :: forall m_aAna. MonadFree EInstruction m_aAna => Pairs -> m_aAna ()
+ Language.Dockerfile: env :: forall m_asPU. MonadFree EInstruction m_asPU => Pairs -> m_asPU ()
- Language.Dockerfile: expose :: forall m_aAmY. MonadFree EInstruction m_aAmY => Ports -> m_aAmY ()
+ Language.Dockerfile: expose :: forall m_asPI. MonadFree EInstruction m_asPI => Ports -> m_asPI ()
- Language.Dockerfile: from :: forall m_aAlR. MonadFree EInstruction m_aAlR => EBaseImage -> m_aAlR ()
+ Language.Dockerfile: from :: forall m_asOB. MonadFree EInstruction m_asOB => EBaseImage -> m_asOB ()
- Language.Dockerfile: label :: forall m_aAmF. MonadFree EInstruction m_aAmF => Pairs -> m_aAmF ()
+ Language.Dockerfile: label :: forall m_asPp. MonadFree EInstruction m_asPp => Pairs -> m_asPp ()
- Language.Dockerfile: maintainer :: forall m_aAn7. MonadFree EInstruction m_aAn7 => String -> m_aAn7 ()
+ Language.Dockerfile: maintainer :: forall m_asPR. MonadFree EInstruction m_asPR => String -> m_asPR ()
- Language.Dockerfile: onBuildRaw :: forall m_aAnj. MonadFree EInstruction m_aAnj => Instruction -> m_aAnj ()
+ Language.Dockerfile: onBuildRaw :: forall m_asQ3. MonadFree EInstruction m_asQ3 => Instruction -> m_asQ3 ()
- Language.Dockerfile: runArgs :: forall m_aAmP. MonadFree EInstruction m_aAmP => Arguments -> m_aAmP ()
+ Language.Dockerfile: runArgs :: forall m_asPz. MonadFree EInstruction m_asPz => Arguments -> m_asPz ()
- Language.Dockerfile: stopSignal :: forall m_aAmI. MonadFree EInstruction m_aAmI => String -> m_aAmI ()
+ Language.Dockerfile: stopSignal :: forall m_asPs. MonadFree EInstruction m_asPs => String -> m_asPs ()
- Language.Dockerfile: user :: forall m_aAmC. MonadFree EInstruction m_aAmC => String -> m_aAmC ()
+ Language.Dockerfile: user :: forall m_asPm. MonadFree EInstruction m_asPm => String -> m_asPm ()
- Language.Dockerfile: volume :: forall m_aAn1. MonadFree EInstruction m_aAn1 => String -> m_aAn1 ()
+ Language.Dockerfile: volume :: forall m_asPL. MonadFree EInstruction m_asPL => String -> m_asPL ()
- Language.Dockerfile: workdir :: forall m_aAmV. MonadFree EInstruction m_aAmV => Directory -> m_aAmV ()
+ Language.Dockerfile: workdir :: forall m_asPF. MonadFree EInstruction m_asPF => Directory -> m_asPF ()
- Language.Dockerfile.EDSL: add :: forall m_aAmy. MonadFree EInstruction m_aAmy => Source -> Destination -> m_aAmy ()
+ Language.Dockerfile.EDSL: add :: forall m_asPi. MonadFree EInstruction m_asPi => Source -> Destination -> m_asPi ()
- Language.Dockerfile.EDSL: arg :: forall m_aAnd. MonadFree EInstruction m_aAnd => String -> m_aAnd ()
+ Language.Dockerfile.EDSL: arg :: forall m_asPX. MonadFree EInstruction m_asPX => String -> m_asPX ()
- Language.Dockerfile.EDSL: cmdArgs :: forall m_aAmS. MonadFree EInstruction m_aAmS => Arguments -> m_aAmS ()
+ Language.Dockerfile.EDSL: cmdArgs :: forall m_asPC. MonadFree EInstruction m_asPC => Arguments -> m_asPC ()
- Language.Dockerfile.EDSL: comment :: forall m_aAng. MonadFree EInstruction m_aAng => String -> m_aAng ()
+ Language.Dockerfile.EDSL: comment :: forall m_asQ0. MonadFree EInstruction m_asQ0 => String -> m_asQ0 ()
- Language.Dockerfile.EDSL: copy :: forall m_aAmL. MonadFree EInstruction m_aAmL => Source -> Destination -> m_aAmL ()
+ Language.Dockerfile.EDSL: copy :: forall m_asPv. MonadFree EInstruction m_asPv => Source -> Destination -> m_asPv ()
- Language.Dockerfile.EDSL: embed :: forall m_aAnm. MonadFree EInstruction m_aAnm => [InstructionPos] -> m_aAnm ()
+ Language.Dockerfile.EDSL: embed :: forall m_asQ6. MonadFree EInstruction m_asQ6 => [InstructionPos] -> m_asQ6 ()
- Language.Dockerfile.EDSL: entrypointArgs :: forall m_aAn4. MonadFree EInstruction m_aAn4 => Arguments -> m_aAn4 ()
+ Language.Dockerfile.EDSL: entrypointArgs :: forall m_asPO. MonadFree EInstruction m_asPO => Arguments -> m_asPO ()
- Language.Dockerfile.EDSL: env :: forall m_aAna. MonadFree EInstruction m_aAna => Pairs -> m_aAna ()
+ Language.Dockerfile.EDSL: env :: forall m_asPU. MonadFree EInstruction m_asPU => Pairs -> m_asPU ()
- Language.Dockerfile.EDSL: expose :: forall m_aAmY. MonadFree EInstruction m_aAmY => Ports -> m_aAmY ()
+ Language.Dockerfile.EDSL: expose :: forall m_asPI. MonadFree EInstruction m_asPI => Ports -> m_asPI ()
- Language.Dockerfile.EDSL: from :: forall m_aAlR. MonadFree EInstruction m_aAlR => EBaseImage -> m_aAlR ()
+ Language.Dockerfile.EDSL: from :: forall m_asOB. MonadFree EInstruction m_asOB => EBaseImage -> m_asOB ()
- Language.Dockerfile.EDSL: label :: forall m_aAmF. MonadFree EInstruction m_aAmF => Pairs -> m_aAmF ()
+ Language.Dockerfile.EDSL: label :: forall m_asPp. MonadFree EInstruction m_asPp => Pairs -> m_asPp ()
- Language.Dockerfile.EDSL: maintainer :: forall m_aAn7. MonadFree EInstruction m_aAn7 => String -> m_aAn7 ()
+ Language.Dockerfile.EDSL: maintainer :: forall m_asPR. MonadFree EInstruction m_asPR => String -> m_asPR ()
- Language.Dockerfile.EDSL: onBuildRaw :: forall m_aAnj. MonadFree EInstruction m_aAnj => Instruction -> m_aAnj ()
+ Language.Dockerfile.EDSL: onBuildRaw :: forall m_asQ3. MonadFree EInstruction m_asQ3 => Instruction -> m_asQ3 ()
- Language.Dockerfile.EDSL: runArgs :: forall m_aAmP. MonadFree EInstruction m_aAmP => Arguments -> m_aAmP ()
+ Language.Dockerfile.EDSL: runArgs :: forall m_asPz. MonadFree EInstruction m_asPz => Arguments -> m_asPz ()
- Language.Dockerfile.EDSL: stopSignal :: forall m_aAmI. MonadFree EInstruction m_aAmI => String -> m_aAmI ()
+ Language.Dockerfile.EDSL: stopSignal :: forall m_asPs. MonadFree EInstruction m_asPs => String -> m_asPs ()
- Language.Dockerfile.EDSL: user :: forall m_aAmC. MonadFree EInstruction m_aAmC => String -> m_aAmC ()
+ Language.Dockerfile.EDSL: user :: forall m_asPm. MonadFree EInstruction m_asPm => String -> m_asPm ()
- Language.Dockerfile.EDSL: volume :: forall m_aAn1. MonadFree EInstruction m_aAn1 => String -> m_aAn1 ()
+ Language.Dockerfile.EDSL: volume :: forall m_asPL. MonadFree EInstruction m_asPL => String -> m_asPL ()
- Language.Dockerfile.EDSL: workdir :: forall m_aAmV. MonadFree EInstruction m_aAmV => Directory -> m_aAmV ()
+ Language.Dockerfile.EDSL: workdir :: forall m_asPF. MonadFree EInstruction m_asPF => Directory -> m_asPF ()

Files

README.md view
@@ -5,6 +5,8 @@ [Hackage](https://hackage.haskell.org/package/language-dockerfile/)  [GH Pages Haddock](http://beijaflor-io.github.io/haskell-language-dockerfile/)++[Blog Post in Portuguese](http://blog.haskellbr.com/2016/08/18/escrevendo-dockerfiles-em-haskell.html) - - - Dockerfile linter, parser, pretty-printer and embedded DSL, forked from [hadolint](https://github.com/lukasmartinelli/hadolint).@@ -46,7 +48,7 @@     putStr (prettyPrint d) ``` -## Writting Dockerfiles in Haskell+## Writing Dockerfiles in Haskell ```haskell {-# LANGUAGE OverloadedStrings #-} import Language.Dockerfile
language-dockerfile.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack  name:           language-dockerfile-version:        0.3.4.0+version:        0.3.5.0 synopsis:       Dockerfile linter, parser, pretty-printer and embedded DSL description:     Forked from @hadolint@.                 .
src/Language/Dockerfile/Bash.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} module Language.Dockerfile.Bash where  import           Data.Functor.Identity (runIdentity)@@ -6,9 +7,19 @@  shellcheck :: String -> [Comment] shellcheck bashScript = map comment $ crComments $ runIdentity $ checkScript si spec-    where comment (PositionedComment _ c) = c-          si = mockedSystemInterface [("","")]-          spec = CheckSpec filename script exclusions (Just Bash)-          script = "#!/bin/bash\n" ++ bashScript-          filename = "" -- filename can be ommited because we only want the parse results back-          exclusions = []+  where+    si = mockedSystemInterface [("","")]+    spec = CheckSpec filename script exclusions (Just Bash)+    script = "#!/bin/bash\n" ++ bashScript+    filename = "" -- filename can be ommited because we only want the parse results back+    exclusions = []+#ifdef MIN_VERSION_ShellCheck+#  if MIN_VERSION_ShellCheck(0,4,5)+    comment (PositionedComment _ _ c) = c+#  else+    comment (PositionedComment _ c) = c+#  endif+#else+    comment (PositionedComment _ _ c) = c+{-# WARNING shellcheck "Cabal macro to detect ShellCheck - version not defined, assuming ShellCheck>0.4.5" #-}+#endif
test/Language/Dockerfile/ExamplesSpec.hs view
@@ -8,7 +8,7 @@ import           System.Process import           Test.Hspec -stackRunGhc e = callProcess "stack" ["runghc", e]+stackRunGhc e = callProcess "stack" ["runghc", "--package", "language-dockerfile", e]  spec :: Spec spec = do