在开发或测试项目时,我通常需要运行一些重复的辅助任务。例如:下载一些数据、建立数据库、清理日志等等。在Ruby中,这些数据由rake处理,而其他语言更喜欢make或其他一些东西(任务有时依赖于其他任务,因此我们偶尔需要一个任务来执行它所依赖的子任务)。
那么,在Haskell项目中有什么传统的方法来组织这些任务吗?
我假设可以使用cabal,但并不是所有的辅助任务都是关于运行Haskell代码的:有时只是执行rm -r logs/*.log或用wget或curl下载一些数据。让阴谋集团的test目标依赖于从Haskell代码运行shell脚本/命令的其他阴谋目标有意义吗?(如果有可能在阴谋集团中有独立的目标呢?)
或者,我可以使用make,但是“一般的操纵者”(例如“外部”项目贡献者)会发现这种直觉吗?我相信人们会首先尝试cabal test,然后才会发现它需要首先为测试设置数据库,然后运行整个链的其他任务。首先,人们会注意到一个Makefile吗?
在Haskell项目中,我找不到处理这些辅助任务的方法。
发布于 2014-11-27 11:16:16
据我所知,在Haskell项目中没有事实上的标准工具。
但最近我听说了摇动,一个用Haskell编写的一元构建系统。
https://stackoverflow.com/questions/27168859
复制相似问题