nemesis = do clean [ "**/*.hi" , "**/*.o" , "manifest" , "main" , "nemesis-tmp.*" ] desc "prepare cabal dist" task "dist" $ do sh "cabal clean" sh "cabal configure" sh "cabal sdist" desc "put all .hs files in manifest" task "manifest" $ do sh "find . | grep 'hs$' > manifest" desc "start console" task "i" (sh "ghci -isrc src/System/Nemesis/DSL.hs") task "runner" (sh "ghci -isrc src/System/Nemesis/Runner.hs") desc "show sloc" task "stat" $ do sh "cloc -match-f=hs$ --quiet ." -- test for readme -- desc is optional, it gives some description to the following task desc "Hunter attack macro" -- syntax: task "keyword: dependencies" io-action task "attack: pet-attack auto-attack" (putStrLn "attack macro done!") desc "Pet attack" task "pet-attack: mark" $ do sh "echo 'pet attack'" desc "Hunter's mark" task "mark" $ do sh "echo \"casting hunter's mark\"" desc "Auto attack" task "auto-attack" $ do sh "echo 'auto shoot'" namespace "eat" $ do task "bread: salad" $ putStrLn "eating bread" task "salad: /drink/coke" $ putStrLn "nice salad" namespace "drink" $ do task "coke" $ putStrLn "drinking coke"