packages feed

language-docker 3.0.1 → 4.0.0

raw patch · 4 files changed

+3/−141 lines, 4 filesdep −aesondep −transformersdep −unordered-containers

Dependencies removed: aeson, transformers, unordered-containers, yaml

Files

language-docker.cabal view
@@ -2,10 +2,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 07ef36c63d55fe09579fa173145f7258f240ae908b7e7bdeb96f4b088c21b709+-- hash: 70e47067ca87323030f8daa6fd4e2848e695e6068ef611c71c89d5bd5694da25  name:           language-docker-version:        3.0.1+version:        4.0.0 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.@@ -36,7 +36,6 @@   exposed-modules:       Language.Docker       Language.Docker.Parser-      Language.Docker.Predef       Language.Docker.PrettyPrint       Language.Docker.Normalize       Language.Docker.Syntax@@ -46,17 +45,13 @@       Language.Docker.EDSL.Quasi       Language.Docker.EDSL.Types   other-modules:-      Language.Docker.EDSL.Plugins       Paths_language_docker   hs-source-dirs:       src   ghc-options: -Wall -fno-warn-unused-do-bind -fno-warn-orphans   build-depends:-      Glob-    , aeson-    , base >=4.8 && <5+      base >=4.8 && <5     , bytestring >=0.10-    , directory     , filepath     , free     , mtl@@ -69,16 +64,12 @@     , th-lift     , th-lift-instances     , time-    , transformers-    , unordered-containers-    , yaml   default-language: Haskell2010  test-suite hspec   type: exitcode-stdio-1.0   main-is: Spec.hs   other-modules:-      Language.Docker.EDSL.PluginsSpec       Language.Docker.EDSL.QuasiSpec       Language.Docker.EDSLSpec       Language.Docker.ExamplesSpec@@ -90,7 +81,6 @@       Glob     , HUnit >=1.2     , QuickCheck-    , aeson     , base >=4.8 && <5     , bytestring >=0.10     , directory@@ -109,7 +99,4 @@     , th-lift     , th-lift-instances     , time-    , transformers-    , unordered-containers-    , yaml   default-language: Haskell2010
− src/Language/Docker/EDSL/Plugins.hs
@@ -1,2 +0,0 @@-module Language.Docker.EDSL.Plugins where-
− src/Language/Docker/Predef.hs
@@ -1,104 +0,0 @@-{-# LANGUAGE FlexibleContexts #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE OverloadedLists #-}--module Language.Docker.Predef where--import Control.Monad-import Control.Monad.Free.Class-import Control.Monad.IO.Class-import Data.Aeson (Value(..))-import qualified Data.HashMap.Strict as HashMap-import Data.List.NonEmpty (fromList)-import Data.Maybe-import Data.Monoid-import Data.Text (Text)-import qualified Data.Text as Text-import qualified Data.Text.IO as Text-import qualified Data.Yaml as Yaml-import System.Directory-import System.FilePath-import qualified System.FilePath.Glob as Glob--import Language.Docker-import Language.Docker.EDSL.Types--appendLnIfMissing :: FilePath -> Text -> IO ()-appendLnIfMissing fp cts = do-    e <- doesFileExist fp-    unless e (Text.writeFile fp "")-    txt <- Text.lines <$> Text.readFile fp-    unless (cts `elem` txt) $ Text.writeFile fp (Text.unlines (txt <> [cts]))--dockerIgnore :: Text -> IO ()-dockerIgnore = appendLnIfMissing ".dockerignore"--addGlob :: (MonadIO m, MonadFree EInstruction m) => String -> TargetPath -> m ()-addGlob pattern dest = do-    fs <--        liftIO $ do-            fs <- Glob.glob pattern-            cwd <- getCurrentDirectory-            let fs' = map (makeRelative cwd . normalise) fs-            forM fs' $ \f -> do-                isdir <- doesDirectoryExist f-                return $-                    if isdir-                        then (SourcePath $ f <> "/")-                        else (SourcePath f)-    case fs of-      [] -> return ()-      _ -> add (fromList fs) dest--copyGlob :: (MonadIO m, MonadFree EInstruction m) => String -> TargetPath -> m ()-copyGlob = addGlob--stackBuild :: (Monad m, MonadIO m, MonadFree EInstruction m) => m ()-stackBuild = do-    sts <- liftIO getStackYamlResolver-    stackBuild' sts (return ())-  where-    getStackYamlResolver = do-        mhm <- Yaml.decodeFile "./stack.yaml" :: IO (Maybe Value)-        return $-            fromMaybe "latest" $ do-                hm <- mhm-                o <--                    case hm of-                        Object o -> return o-                        _ -> Nothing-                rs <- HashMap.lookup "resolver" o-                toString rs-      where-        toString (String m) = Just (Text.unpack m)-        toString _ = Nothing--stackBuild' :: (Monad m, MonadIO m, MonadFree EInstruction m) => String -> m () -> m ()-stackBuild' tag extra = do-    liftIO $ dockerIgnore ".stack-work"-    liftIO $ dockerIgnore ".cabal-sandbox"-    from ("fpco" `tagged` tag)-    extra-    add ["./package.yaml"] "/app/package.yaml"-    addGlob "./*.cabal" "/app/"-    add ["./stack.yaml"] "/app/stack.yaml"-    workdir "/app/"-    run "stack build --only-dependencies"-    add ["."] "/app/stack.yaml"-    run "stack build"--nodejs :: (Monad m, MonadIO m, MonadFree EInstruction m) => m ()-nodejs = nodejs' "6" (return ())--nodejs' :: (Monad m, MonadIO m, MonadFree EInstruction m) => String -> m () -> m ()-nodejs' tag extra = do-    liftIO $ dockerIgnore "node_modules"-    liftIO $ dockerIgnore "bower_components"-    from ("node" `tagged` tag)-    extra-    add ["./package.json"] "/app/package.json"-    workdir "/app/"-    run "npm install"-    add ["."] "/app/"-    cmd "npm start"
− test/Language/Docker/EDSL/PluginsSpec.hs
@@ -1,19 +0,0 @@-module Language.Docker.EDSL.PluginsSpec-  where---- import           Language.Docker.EDSL--- import           Language.Docker.EDSL.Plugins-import           Test.Hspec--spec =-    describe "listPlugins" $-        it "lists docker images matching language-docker-*" pending-            -- str <- toDockerFileStrIO $ do-            --     ds <- liftIO (glob "./test/*.hs")-            --     from "ubuntu"-            --     mapM_ add ds-            -- str `shouldBe` unlines [ "FROM ubuntu"-            --                        , "ADD Spec.hs"-            --                        , "ADD SanitySpec.hs"-            --                        , "ADD Test.hs"-            --                        ]