为Haskell项目安排辅助任务

时间:2014-11-27 10:53:09

标签: haskell

在开发或测试项目时,我通常需要运行一些重复的辅助任务。例如:下载一些数据,设置数据库,清理日志等。在Ruby版本中,它们由rake处理,而其他语言则更喜欢make或其他语言(任务偶尔依赖于其他任务) ,所以我们偶尔可能需要一个任务来执行它所依赖的子任务。

那么,是否有一些传统的方法在Haskell项目中组织这些任务?

我认为可以使用cabal,但并非所有这些辅助任务都是关于运行Haskell代码的:有时它只是执行rm -r logs/*.log或使用{{下载一些数据'的情况。 1}}或wget。让cabal的curl目标取决于其他的cabal目标是否有意义,那些,从Haskell代码运行shell脚本/命令? (如果可能在cabal中有依赖目标?)

或者,我可以使用test,但是“平均哈斯克勒”(例如“外部”项目撰稿人)会发现这种直观吗?我相信在发现它需要首先为测试设置数据库然后运行一系列其他任务之前,首先会尝试make。首先会注意到cabal test吗?

我在Haskell项目中找不到任何处理这些辅助任务的方法。

1 个答案:

答案 0 :(得分:2)

只要我知道,Haskell项目中没有事实上的标准工具。

但最近我听到Shake,一个用Haskell编写的monadic构建系统。