packages feed

shake-dhall 0.1.0.0 → 0.1.1.0

raw patch · 3 files changed

+29/−6 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Development.Shake.Dhall: dhallDeps :: FilePath -> Action [FilePath]
+ Development.Shake.Dhall: needDhallCli :: [FilePath] -> Action ()

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # shake-dhall +## 0.1.1.0++  * Add functions `dhallDeps` and `needDhallCli` in `Development.Shake.Dhall`+ ## 0.1.0.0  Initial release
shake-dhall.cabal view
@@ -1,6 +1,6 @@ cabal-version:   1.18 name:            shake-dhall-version:         0.1.0.0+version:         0.1.1.0 license:         BSD3 license-file:    LICENSE copyright:       Copyright: (c) 2020 Vanessa McHale
src/Development/Shake/Dhall.hs view
@@ -1,13 +1,32 @@ module Development.Shake.Dhall ( needDhall+                               , needDhallCli+                               , dhallDeps                                ) where +import           Control.Monad             (filterM, (<=<)) import           Control.Monad.IO.Class    (liftIO) import           Data.Containers.ListUtils (nubOrd)-import           Development.Shake         (Action, need)+import           Development.Shake         (Action, Stdout (Stdout), command,+                                            doesFileExist, need) import           Dhall.Dep --- | Need some @.dhall@ files and imported dependencies+-- | 'need' some @.dhall@ files and imported dependencies needDhall :: [FilePath] -> Action ()-needDhall fps = do-    transDeps <- liftIO (concat <$> traverse getAllFileDeps fps)-    need (fps ++ nubOrd transDeps)+needDhall fps =+    need =<< liftIO (nubOrd . concat . (fps:) <$> traverse getAllFileDeps fps)++-- | Same as 'needDhallCli' but shells out to the command-linen executable+--+-- @since 0.1.1.0+needDhallCli :: [FilePath] -> Action ()+needDhallCli =+    need . concat <=< traverse dhallDeps++-- | Uses @dhall resolve --transitive-dependencies@ to work; command-line tool+-- must be installed.+--+-- @since 0.1.1.0+dhallDeps :: FilePath -> Action [FilePath]+dhallDeps inp = do+    (Stdout out) <- command [] "dhall" ["resolve", "--transitive-dependencies", "--file", inp]+    (inp:) <$> filterM doesFileExist (lines out)