module Development.Shake.Dhall ( needDhall ) where import Control.Monad.IO.Class (liftIO) import Data.Containers.ListUtils (nubOrd) import Development.Shake (Action, need) import Dhall.Dep -- | Need some @.dhall@ files and imported dependencies needDhall :: [FilePath] -> Action () needDhall fps = do transDeps <- liftIO (concat <$> traverse getAllFileDeps fps) need (fps ++ nubOrd transDeps)