nemesis-2009.6.12: readme.md
Nemesis: a rake like task management tool for haskell
=====================================================
Tutorial
--------
### DSL
in `nem.hs`
nemesis = do
task "clean: hello-world" (print "cleaning")
task "hello-world: ls" $ do
sh "echo HELLO"
task "ls" $ do
sh "ls"
run `nemesis`
It will generate a bin `nem` inside your current folder.
### Run
run `./nem`
clean: hello-world ls
hello-world: ls
ls:
run `./nem ls`
Advance usage
-------------
### Use LANGUAGEW
Use a separator below language extensions, e.g.
{-# LANGUAGE QuasiQuotes #-}
-- Nem
nemesis = 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
sh "find . | grep 'hs$' > manifest"
currently the separator `-- Nem` is hard coded
### Build it yourself
Example:
module Main where
import System.Nemesis
nemesis = do
task "i" (sh "ghci -isrc src/System/Nemesis.hs")
main = nemesis