nemesis 2009.8.4 → 2009.8.16
raw patch · 7 files changed
+50/−42 lines, 7 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- Nemesis +14/−11
- changelog.md +7/−0
- nemesis.cabal +3/−5
- readme.md +10/−10
- src/System/Nemesis.hs +3/−3
- src/System/Nemesis/DSL.hs +5/−5
- src/System/Nemesis/Runner.hs +8/−8
Nemesis view
@@ -1,3 +1,6 @@+import MPS ((-))+import Prelude hiding ((-))+ nemesis = do clean@@ -10,14 +13,14 @@ desc "prepare cabal dist"- task "dist" $ do+ task "dist" - do sh "cabal clean" sh "cabal configure" sh "cabal sdist" desc "put all .hs files in manifest"- task "manifest" $ do+ task "manifest" - do sh "find . | grep 'hs$' > manifest" @@ -28,7 +31,7 @@ task "runner" (sh "ghci -isrc src/System/Nemesis/Runner.hs") desc "show sloc"- task "stat" $ do+ task "stat" - do sh "cloc -match-f=hs$ --quiet ." -- test for readme@@ -40,25 +43,25 @@ task "attack: pet-attack auto-attack" (putStrLn "attack macro done!") desc "Pet attack"- task "pet-attack: mark" $ do+ task "pet-attack: mark" - do sh "echo 'pet attack'" desc "Hunter's mark"- task "mark" $ do+ task "mark" - do sh "echo \"casting hunter's mark\"" desc "Auto attack"- task "auto-attack" $ do+ task "auto-attack" - do sh "echo 'auto shoot'" - namespace "eat" $ do+ namespace "eat" - do - task "bread: salad" $ putStrLn "eating bread"- task "salad: /drink/coke" $ putStrLn "nice salad"+ task "bread: salad" - putStrLn "eating bread"+ task "salad: /drink/coke" - putStrLn "nice salad" - namespace "drink" $ do+ namespace "drink" - do - task "coke" $ putStrLn "drinking coke"+ task "coke" - putStrLn "drinking coke"
changelog.md view
@@ -1,3 +1,10 @@+2009.8.16+---------++### Feature++* no $ noise+ 2009.8.4 --------
nemesis.cabal view
@@ -1,10 +1,8 @@ Name: nemesis-Version: 2009.8.4+Version: 2009.8.16 Build-type: Simple-Synopsis: a rake like task management tool-Description:- - a rake like task management tool+Synopsis: a Rake like task management tool+Description: smart per project code snippets License: BSD3 License-file: LICENSE
readme.md view
@@ -12,14 +12,14 @@ , "manifest" ] - task "dist" $ do+ task "dist" - do sh "cabal clean" sh "cabal configure" sh "cabal sdist" task "i" (sh "ghci -isrc src/System/Nemesis.hs") - task "manifest" $ do+ task "manifest" - do sh "find . | grep 'hs$' > manifest" Tutorial@@ -42,15 +42,15 @@ task "attack: pet-attack auto-attack" (putStrLn "attack macro done!") desc "Pet attack"- task "pet-attack: mark" $ do+ task "pet-attack: mark" - do sh "echo 'pet attack'" desc "Hunter's mark"- task "mark" $ do+ task "mark" - do sh "echo \"casting hunter's mark\"" desc "Auto attack"- task "auto-attack" $ do+ task "auto-attack" - do sh "echo 'auto shoot'" ### Run@@ -76,15 +76,15 @@ nemesis = do - namespace "eat" $ do+ namespace "eat" - do - task "bread: salad" $ putStrLn "eating bread"- task "salad: /drink/coke" $ putStrLn "nice salad"+ task "bread: salad" - putStrLn "eating bread"+ task "salad: /drink/coke" - putStrLn "nice salad" - namespace "drink" $ do+ namespace "drink" - do - task "coke" $ putStrLn "drinking coke"+ task "coke" - putStrLn "drinking coke" then
src/System/Nemesis.hs view
@@ -6,7 +6,7 @@ import Data.Default import Data.List (sort) import Data.Map (Map, insert, empty, lookup, elems)-import Prelude hiding ((.), (>), (^), lookup)+import Prelude hiding ((.), (>), (^), lookup, (-)) import System import System.Nemesis.Util @@ -94,11 +94,11 @@ Nothing -> bye Just x -> revenge x where- bye = error $ s ++ " does not exist!"+ bye = error - s ++ " does not exist!" revenge :: Task -> IO () revenge t = t.deps.mapM_ run' >> revenge_and_say where revenge_and_say = do- -- putStrLn $ "running: " ++ t.name+ -- putStrLn - "running: " ++ t.name t.action
src/System/Nemesis/DSL.hs view
@@ -5,7 +5,7 @@ import Control.Monad.State hiding (State, join) import Data.Default import Data.List (nub, sort)-import Prelude hiding ((.), (>), (^), lookup)+import Prelude hiding ((.), (>), (^), (-), lookup) import System import System.Directory import System.FilePath.Glob@@ -53,17 +53,17 @@ status <- system s case status of ExitSuccess -> return ()- ExitFailure code -> error $ s ++ " failed with status code: " ++ show code+ ExitFailure code -> error - s ++ " failed with status code: " ++ show code clean :: [String] -> Unit clean xs = do desc "Remove any temporary products."- task "clean" $ do+ task "clean" - do paths <- globDir (xs.map compile) "." ^ fst ^ join' ^ nub ^ sort ^ reverse mapM_ rm_any paths where rm_any s = do file_exist <- doesFileExist s- when file_exist $ rm s+ when file_exist - rm s dir_exist <- doesDirectoryExist s- when dir_exist $ rm_rf s+ when dir_exist - rm_rf s
src/System/Nemesis/Runner.hs view
@@ -1,7 +1,7 @@ import Control.Monad hiding (join) import Data.List (find) import Data.Time.Clock.POSIX-import Prelude hiding ((.), (>), (^))+import Prelude hiding ((.), (>), (^), (-)) import System import System.Cmd import System.Directory@@ -23,7 +23,7 @@ when recompile compile args <- getArgs- system $ "./.nemesis " ++ args.join " "+ system - "./.nemesis " ++ args.join " " return () where@@ -35,7 +35,7 @@ else do bin_stamp <- bin.file_mtime src_stamp <- get_src_name >>= file_mtime- return $ bin_stamp < src_stamp+ return - bin_stamp < src_stamp file_mtime path = getModificationTime path ^ seconds ^ posixSecondsToUTCTime@@ -45,7 +45,7 @@ get_src_name :: IO String get_src_name = do dir <- ls "."- return $ dir.filter (belongs_to possible_source) .get_name+ return - dir.filter (belongs_to possible_source) .get_name where possible_source = ["Nemesis", "nemesis", "Nemesis.hs", "nemesis.hs"] get_name [] = error "Nemesis does not exist!"@@ -65,14 +65,14 @@ if ((patch_end ++ patch_start).null && src_name.ends_with ".hs") then do- sh $ "ghc --make -O1 " ++ src_name ++ " -o " ++ bin+ sh - "ghc --make -O1 " ++ src_name ++ " -o " ++ bin rm src_o rm src_hi else do if t.null- then output_tmp $ patch_start ++ h ++ patch_end- else output_tmp $ h ++ patch_start ++ "\n" ++ t ++ patch_end- sh $ "ghc --make -O1 " ++ tmp_name ++ " -o " ++ bin+ then output_tmp - patch_start ++ h ++ patch_end+ else output_tmp - h ++ patch_start ++ "\n" ++ t ++ patch_end+ sh - "ghc --make -O1 " ++ tmp_name ++ " -o " ++ bin rm tmp_name rm tmp_o rm tmp_hi