我有一个包,其中大多数.hs
文件是由Haskell处理器(存储在子目录中)从某些规范文件生成的。
目前,此预处理器是手动运行的,因此对版本控制或作为较大堆栈的一部分使用时效果不佳。
我希望Cabal运行此处理器,例如从Setup.hs运行,以便可以使用cabal build
或stack
构建程序包,作为较大项目的一部分,而无需单独的手动步骤
输入文件不是1-1,输出.hs
文件:相反,读入一堆.csv
个文件,然后排列不同的.hs
个文件堆输出。我认为这意味着我无法使用cabal的预处理器支持。
对于我目前的开发目的,我在Setup.hs的开头给了stack build && stack exec gen-exe
一个电话。这有时会运行太多次(例如它在构建结束时在register
上运行;有时不够(例如,如果其中一个输入.csv
文件发生更改,则不会运行,因此需要手动清洁。)
这是否可以在cabal中实现,如果是这样,我需要在经常运行构建命令的地方放置什么而不是太频繁?
(这是一个继承的包裹......请不要怪我)