packages feed

bamboo-2009.8.16: Nemesis

-- template nemesis file

import System.Process

nemesis = do
  
  clean
    [ "**/*.hi"
    , "**/*.o"
    , "manifest"
    , "**/*.pid"
    , "**/*.sock"
    , "**/*.fcgi"
    , "db/public/*.fcgi"
    , "**/cache"
    , "main"
    , "src/Runner/main"
    ]
  
  desc "prepare cabal dist"
  task "dist" $ do
    sh "cabal clean"
    sh "cabal configure"
    sh "cabal sdist"

  desc "start console"
  task "i" (sh "ghci -isrc src/Main.hs")

  desc "put all .hs files in manifest"
  task "manifest" $ sh "find . | grep 'hs$' > manifest"
    
  desc "kibro refresh"
  task "r" $ sh "kibro refresh"

  desc "kibro restart"
  task "rs" $ sh "kibro stop; kibro start"

  desc "kibro start"
  task "s" $ sh "kibro start"

  desc "kibro stop"
  task "st" $ sh "kibro stop"
  
  desc "kill"
  task "kill" $ do
    kill "fcgi"
    kill "lighttpd"
    return ()
  
  desc "run"
  bin "run" "Main"

  desc "deploy"
  task "deploy" $ sh "scp -C .bin/run easymic.com:~/link/bamboo/.bin"
  
  task "go" $ sh ".bin/run"
  
  desc "show sloc"
  task "stat" $ sh "cloc -match-f=hs$ --quiet ."
  
  where
    ghci n x = task n $ sh $ "ghci -isrc src/" ++ x ++ ".hs"
    bin n x = task n $ do
      sh $ "ghc --make -Wall -O1 -threaded -isrc src/" ++ x ++ ".hs -o .bin/" ++ n
      sh $ "echo done.."
      sh $ ".bin/" ++ n
    
kill x = 
  system $ "ps -A | grep " ++ x ++ " | awk '{print $1}' | xargs kill -9"