shake-ext 0.2.0.2 → 0.2.0.3
raw patch · 4 files changed
+20/−6 lines, 4 files
Files
- shake-ext.cabal +1/−1
- src/Development/Shake/ATS.hs +12/−2
- src/Development/Shake/FileDetect.hs +6/−2
- src/Development/Shake/Linters.hs +1/−1
shake-ext.cabal view
@@ -1,5 +1,5 @@ name: shake-ext-version: 0.2.0.2+version: 0.2.0.3 synopsis: Helper functions for linting with shake description: This package provides several linters out of the box, as well as functionality for building ATS source files with [shake](http://shakebuild.com/). homepage: https://hub.darcs.net/vmchale/shake-ext
src/Development/Shake/ATS.hs view
@@ -3,18 +3,26 @@ module Development.Shake.ATS ( cgen , cgenPretty , cleanATS+ , patsHome ) where import Control.Monad (filterM) import Data.Either (fromRight)+import Data.Maybe (fromMaybe) import Development.Shake import Development.Shake.FilePath import Language.ATS import System.Exit (ExitCode (ExitSuccess)) +patsHome :: Action String+patsHome = fromMaybe "/usr/local/lib/ats2-postiats-0.3.8" <$> mh+ where mh = fmap (++ "/.atspkg/compiler/") <$> getEnv "HOME"++-- TODO install the whole compiler? atsCommand :: CmdResult r => String -> String -> Action r-atsCommand sourceFile out = command atsArgs "patsopt" ["--output", out, "-dd", sourceFile, "-cc"]- where atsArgs = [EchoStderr False, AddEnv "PATSHOME" "/usr/local/lib/ats2-postiats-0.3.8"]+atsCommand sourceFile out = do+ let atsArgs = [EchoStderr False, AddEnv "PATSHOME" "/usr/local/lib/ats2-postiats-0.3.8"]+ command atsArgs "patsopt" ["--output", out, "-dd", sourceFile, "-cc"] cleanATS :: Rules () cleanATS =@@ -45,6 +53,8 @@ let ats = fromRight mempty . parseATS . lexATS $ contents deps <- filterM doesFileExist $ getDependencies ats need deps+ {- forM_ deps $ \dep -> -}+ {- copyFile dep (patsHome ++ "/" ++ -} -- | This uses @pats-filter@ to prettify the errors. cgenPretty :: Rules ()
src/Development/Shake/FileDetect.hs view
@@ -7,10 +7,11 @@ , getHs , getHappy , getAlex+ , getShell ) where -import Data.Semigroup ((<>))-import Development.Shake+import Data.Semigroup ((<>))+import Development.Shake getYml :: Action [FilePath] getYml = getAll ["yaml", "yml", "yamllint"]@@ -26,6 +27,9 @@ getAlex :: Action [FilePath] getAlex = getAll ["x"]++getShell :: Action [FilePath]+getShell = getDirectoryFiles "" ["//*.sh"] get :: String -> Action [FilePath] get = getAll . pure
src/Development/Shake/Linters.hs view
@@ -8,7 +8,7 @@ , module Development.Shake.FileDetect ) where -import Development.Shake+import Development.Shake import Development.Shake.FileDetect checkFiles :: String -> [FilePath] -> Action ()