packages feed

bamboo-2010.2.25: 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 -Wall -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 "upload"
  task "upload" - sh "scp -C .bin/run easymic.com:~/link/bamboo/.bin/run-deploy"

  desc "deploy"
  task "deploy" - sh "mv .bin/run-deploy .bin/run"
  
  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 -threaded -O1 -hide-package monads-fd -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"