packages feed

language-docker 8.0.1 → 8.0.2

raw patch · 3 files changed

+8/−4 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Language.Docker: arg :: forall m_aQ3l. MonadFree EInstruction m_aQ3l => Text -> Maybe Text -> m_aQ3l ()
+ Language.Docker: arg :: forall m_aQ3V. MonadFree EInstruction m_aQ3V => Text -> Maybe Text -> m_aQ3V ()
- Language.Docker: cmdArgs :: forall m_aQ2X. MonadFree EInstruction m_aQ2X => Arguments Text -> m_aQ2X ()
+ Language.Docker: cmdArgs :: forall m_aQ3x. MonadFree EInstruction m_aQ3x => Arguments Text -> m_aQ3x ()
- Language.Docker: comment :: forall m_aQ3p. MonadFree EInstruction m_aQ3p => Text -> m_aQ3p ()
+ Language.Docker: comment :: forall m_aQ3Z. MonadFree EInstruction m_aQ3Z => Text -> m_aQ3Z ()
- Language.Docker: embed :: forall m_aQ3y. MonadFree EInstruction m_aQ3y => [InstructionPos Text] -> m_aQ3y ()
+ Language.Docker: embed :: forall m_aQ48. MonadFree EInstruction m_aQ48 => [InstructionPos Text] -> m_aQ48 ()
- Language.Docker: entrypointArgs :: forall m_aQ3c. MonadFree EInstruction m_aQ3c => Arguments Text -> m_aQ3c ()
+ Language.Docker: entrypointArgs :: forall m_aQ3M. MonadFree EInstruction m_aQ3M => Arguments Text -> m_aQ3M ()
- Language.Docker: env :: forall m_aQ3i. MonadFree EInstruction m_aQ3i => Pairs -> m_aQ3i ()
+ Language.Docker: env :: forall m_aQ3S. MonadFree EInstruction m_aQ3S => Pairs -> m_aQ3S ()
- Language.Docker: expose :: forall m_aQ36. MonadFree EInstruction m_aQ36 => Ports -> m_aQ36 ()
+ Language.Docker: expose :: forall m_aQ3G. MonadFree EInstruction m_aQ3G => Ports -> m_aQ3G ()
- Language.Docker: from :: forall m_aQ1V. MonadFree EInstruction m_aQ1V => EBaseImage -> m_aQ1V ()
+ Language.Docker: from :: forall m_aQ2v. MonadFree EInstruction m_aQ2v => EBaseImage -> m_aQ2v ()
- Language.Docker: healthcheck :: forall m_aQ3s. MonadFree EInstruction m_aQ3s => Check Text -> m_aQ3s ()
+ Language.Docker: healthcheck :: forall m_aQ42. MonadFree EInstruction m_aQ42 => Check Text -> m_aQ42 ()
- Language.Docker: label :: forall m_aQ2I. MonadFree EInstruction m_aQ2I => Pairs -> m_aQ2I ()
+ Language.Docker: label :: forall m_aQ3i. MonadFree EInstruction m_aQ3i => Pairs -> m_aQ3i ()
- Language.Docker: maintainer :: forall m_aQ3f. MonadFree EInstruction m_aQ3f => Text -> m_aQ3f ()
+ Language.Docker: maintainer :: forall m_aQ3P. MonadFree EInstruction m_aQ3P => Text -> m_aQ3P ()
- Language.Docker: onBuildRaw :: forall m_aQ3v. MonadFree EInstruction m_aQ3v => Instruction Text -> m_aQ3v ()
+ Language.Docker: onBuildRaw :: forall m_aQ45. MonadFree EInstruction m_aQ45 => Instruction Text -> m_aQ45 ()
- Language.Docker: runArgs :: forall m_aQ2U. MonadFree EInstruction m_aQ2U => Arguments Text -> m_aQ2U ()
+ Language.Docker: runArgs :: forall m_aQ3u. MonadFree EInstruction m_aQ3u => Arguments Text -> m_aQ3u ()
- Language.Docker: stopSignal :: forall m_aQ2L. MonadFree EInstruction m_aQ2L => Text -> m_aQ2L ()
+ Language.Docker: stopSignal :: forall m_aQ3l. MonadFree EInstruction m_aQ3l => Text -> m_aQ3l ()
- Language.Docker: user :: forall m_aQ2F. MonadFree EInstruction m_aQ2F => Text -> m_aQ2F ()
+ Language.Docker: user :: forall m_aQ3f. MonadFree EInstruction m_aQ3f => Text -> m_aQ3f ()
- Language.Docker: volume :: forall m_aQ39. MonadFree EInstruction m_aQ39 => Text -> m_aQ39 ()
+ Language.Docker: volume :: forall m_aQ3J. MonadFree EInstruction m_aQ3J => Text -> m_aQ3J ()
- Language.Docker: workdir :: forall m_aQ33. MonadFree EInstruction m_aQ33 => Directory -> m_aQ33 ()
+ Language.Docker: workdir :: forall m_aQ3D. MonadFree EInstruction m_aQ3D => Directory -> m_aQ3D ()
- Language.Docker.EDSL: addArgs :: forall m_aQ2A. MonadFree EInstruction m_aQ2A => NonEmpty SourcePath -> TargetPath -> Chown -> m_aQ2A ()
+ Language.Docker.EDSL: addArgs :: forall m_aQ3a. MonadFree EInstruction m_aQ3a => NonEmpty SourcePath -> TargetPath -> Chown -> m_aQ3a ()
- Language.Docker.EDSL: arg :: forall m_aQ3l. MonadFree EInstruction m_aQ3l => Text -> Maybe Text -> m_aQ3l ()
+ Language.Docker.EDSL: arg :: forall m_aQ3V. MonadFree EInstruction m_aQ3V => Text -> Maybe Text -> m_aQ3V ()
- Language.Docker.EDSL: cmdArgs :: forall m_aQ2X. MonadFree EInstruction m_aQ2X => Arguments Text -> m_aQ2X ()
+ Language.Docker.EDSL: cmdArgs :: forall m_aQ3x. MonadFree EInstruction m_aQ3x => Arguments Text -> m_aQ3x ()
- Language.Docker.EDSL: comment :: forall m_aQ3p. MonadFree EInstruction m_aQ3p => Text -> m_aQ3p ()
+ Language.Docker.EDSL: comment :: forall m_aQ3Z. MonadFree EInstruction m_aQ3Z => Text -> m_aQ3Z ()
- Language.Docker.EDSL: copyArgs :: forall m_aQ2O. MonadFree EInstruction m_aQ2O => NonEmpty SourcePath -> TargetPath -> Chown -> CopySource -> m_aQ2O ()
+ Language.Docker.EDSL: copyArgs :: forall m_aQ3o. MonadFree EInstruction m_aQ3o => NonEmpty SourcePath -> TargetPath -> Chown -> CopySource -> m_aQ3o ()
- Language.Docker.EDSL: embed :: forall m_aQ3y. MonadFree EInstruction m_aQ3y => [InstructionPos Text] -> m_aQ3y ()
+ Language.Docker.EDSL: embed :: forall m_aQ48. MonadFree EInstruction m_aQ48 => [InstructionPos Text] -> m_aQ48 ()
- Language.Docker.EDSL: entrypointArgs :: forall m_aQ3c. MonadFree EInstruction m_aQ3c => Arguments Text -> m_aQ3c ()
+ Language.Docker.EDSL: entrypointArgs :: forall m_aQ3M. MonadFree EInstruction m_aQ3M => Arguments Text -> m_aQ3M ()
- Language.Docker.EDSL: env :: forall m_aQ3i. MonadFree EInstruction m_aQ3i => Pairs -> m_aQ3i ()
+ Language.Docker.EDSL: env :: forall m_aQ3S. MonadFree EInstruction m_aQ3S => Pairs -> m_aQ3S ()
- Language.Docker.EDSL: expose :: forall m_aQ36. MonadFree EInstruction m_aQ36 => Ports -> m_aQ36 ()
+ Language.Docker.EDSL: expose :: forall m_aQ3G. MonadFree EInstruction m_aQ3G => Ports -> m_aQ3G ()
- Language.Docker.EDSL: from :: forall m_aQ1V. MonadFree EInstruction m_aQ1V => EBaseImage -> m_aQ1V ()
+ Language.Docker.EDSL: from :: forall m_aQ2v. MonadFree EInstruction m_aQ2v => EBaseImage -> m_aQ2v ()
- Language.Docker.EDSL: healthcheck :: forall m_aQ3s. MonadFree EInstruction m_aQ3s => Check Text -> m_aQ3s ()
+ Language.Docker.EDSL: healthcheck :: forall m_aQ42. MonadFree EInstruction m_aQ42 => Check Text -> m_aQ42 ()
- Language.Docker.EDSL: label :: forall m_aQ2I. MonadFree EInstruction m_aQ2I => Pairs -> m_aQ2I ()
+ Language.Docker.EDSL: label :: forall m_aQ3i. MonadFree EInstruction m_aQ3i => Pairs -> m_aQ3i ()
- Language.Docker.EDSL: maintainer :: forall m_aQ3f. MonadFree EInstruction m_aQ3f => Text -> m_aQ3f ()
+ Language.Docker.EDSL: maintainer :: forall m_aQ3P. MonadFree EInstruction m_aQ3P => Text -> m_aQ3P ()
- Language.Docker.EDSL: onBuildRaw :: forall m_aQ3v. MonadFree EInstruction m_aQ3v => Instruction Text -> m_aQ3v ()
+ Language.Docker.EDSL: onBuildRaw :: forall m_aQ45. MonadFree EInstruction m_aQ45 => Instruction Text -> m_aQ45 ()
- Language.Docker.EDSL: runArgs :: forall m_aQ2U. MonadFree EInstruction m_aQ2U => Arguments Text -> m_aQ2U ()
+ Language.Docker.EDSL: runArgs :: forall m_aQ3u. MonadFree EInstruction m_aQ3u => Arguments Text -> m_aQ3u ()
- Language.Docker.EDSL: shell :: forall m_aQ30. MonadFree EInstruction m_aQ30 => Arguments Text -> m_aQ30 ()
+ Language.Docker.EDSL: shell :: forall m_aQ3A. MonadFree EInstruction m_aQ3A => Arguments Text -> m_aQ3A ()
- Language.Docker.EDSL: stopSignal :: forall m_aQ2L. MonadFree EInstruction m_aQ2L => Text -> m_aQ2L ()
+ Language.Docker.EDSL: stopSignal :: forall m_aQ3l. MonadFree EInstruction m_aQ3l => Text -> m_aQ3l ()
- Language.Docker.EDSL: user :: forall m_aQ2F. MonadFree EInstruction m_aQ2F => Text -> m_aQ2F ()
+ Language.Docker.EDSL: user :: forall m_aQ3f. MonadFree EInstruction m_aQ3f => Text -> m_aQ3f ()
- Language.Docker.EDSL: volume :: forall m_aQ39. MonadFree EInstruction m_aQ39 => Text -> m_aQ39 ()
+ Language.Docker.EDSL: volume :: forall m_aQ3J. MonadFree EInstruction m_aQ3J => Text -> m_aQ3J ()
- Language.Docker.EDSL: workdir :: forall m_aQ33. MonadFree EInstruction m_aQ33 => Directory -> m_aQ33 ()
+ Language.Docker.EDSL: workdir :: forall m_aQ3D. MonadFree EInstruction m_aQ3D => Directory -> m_aQ3D ()

Files

language-docker.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 7a74d5326d2b97c11b2c1f412955004e681971bb5aa82c37173e2399c124c1bf+-- hash: 4a0b653e5eb7e9efd296b2fbdca98b752a29af409fc0aad1b279ce43de280160  name:           language-docker-version:        8.0.1+version:        8.0.2 synopsis:       Dockerfile parser, pretty-printer and embedded DSL description:    All functions for parsing, printing and writting Dockerfiles are exported through @Language.Docker@. For more fine-grained operations look for specific modules that implement a certain functionality.                 See the <https://github.com/hadolint/language-docker GitHub project> for the source-code and examples.
src/Language/Docker/Parser.hs view
@@ -83,7 +83,7 @@ natural = L.decimal <?> "positive number"  commaSep :: Parser a -> Parser [a]-commaSep p = sepBy p (symbol ",")+commaSep p = sepBy (p <* spaces) (symbol ",")  stringLiteral :: Parser Text stringLiteral = do
test/Language/Docker/ParserSpec.hs view
@@ -178,11 +178,15 @@          describe "parse CMD" $ do             it "one line cmd" $ assertAst "CMD true" [Cmd "true"]+             it "cmd over several lines" $                 assertAst "CMD true \\\n && true" [Cmd "true  && true"]+             it "quoted command params" $ assertAst "CMD [\"echo\",  \"1\"]" [Cmd ["echo", "1"]] -        describe "parse SHELL" $ do+            it "Parses commas correctly" $ assertAst "CMD [ \"echo\" ,\"-e\" , \"1\"]" [Cmd ["echo", "-e", "1"]]++        describe "parse SHELL" $             it "quoted shell params" $                 assertAst "SHELL [\"/bin/bash\",  \"-c\"]" [Shell ["/bin/bash", "-c"]]