nemesis: a rake like task management tool

[ bsd3, library, tools ] [ Propose Tags ]

a rake like task management tool


[Skip to Readme]
Versions 2009.6.12, 2009.6.13, 2009.6.13.1, 2009.6.13.2, 2009.6.14, 2009.6.14.1, 2009.6.14.2, 2009.6.14.3, 2009.6.24, 2009.6.25, 2009.8.4, 2009.8.16, 2009.8.17, 2009.8.18, 2009.10.7, 2010.10.4, 2010.10.4.1.1, 2011.6.12, 2011.6.19, 2011.10.12, 2012.5.24, 2012.5.24.1, 2012.12.18, 2013.6.13, 2013.6.16, 2013.6.22, 2013.7.27, 2014.5.19, 2015.5.4, 2016.3.19, 2018.1.27
Change log changelog.md
Dependencies base (==4.*), containers, data-default, haskell98, mps (>=2009.5.13), mtl, process [details]
License BSD-3-Clause
Author Wang, Jinjing
Maintainer Wang, Jinjing <nfjinjing@gmail.com>
Category Web
Home page http://github.com/nfjinjing/nemesis
Uploaded by JinjingWang at Fri Jun 12 05:43:45 UTC 2009
Distributions NixOS:2018.1.27
Executables nemesis
Downloads 10011 total (87 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for nemesis-2009.6.12

[back to package description]

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