packages feed

nemesis-2011.6.19: Nemesis

import System.Nemesis.Env
import Air.Env ((-))
import Prelude hiding ((-))

main = run nemesis

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"
    
  
  desc "test"
  task "test" - do
    sh "runghc test/N1.hs"