Readme for nemesis-2009.6.12

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