我习惯于在Setup.hs
中管理我的安装后设置。优点很明显:它在haskell中编码,并且可以访问应用程序数据目录,二进制文件将安装在该目录中。
我现在正在使用它,将haskell QML应用程序所需的QML数据文件和图标复制到安装文件夹。
这一直都很好,直到最近,但现在stack
开始优化构建,如果它检测到没有更改haskell文件,它将不会重新触发Setup.hs
。这对我来说显然不起作用,因为我希望每次在开发过程中stack install
都能复制我的QML文件和图标。
我无法找到stack
的标记,只会触发Setup.hs
而不会触发任何其他内容(或其他内容 - 当然clean
和--reconfigure
重建太多东西)。人们是怎么做到的?我应该写一个shell脚本吗?但是它很难找到安装的目标目录,而且我的Setup.hs中的haskell不太便携?
我觉得堆栈在他们的推理中可能是正确的,如果我目前的方式非常正确,他们现在就会启用这个场景。所以,要么是我没有看到的堆栈标志,要么我认为我做错了。
注意:stack
非常聪明,即使touch Setup.hs
或其他.hs文件也无法重新触发其执行。我必须在物理上改变一个文件的内容。
NOTE2 :啊,我重新发现了stack path
以找出目标路径信息。我可以使用shell脚本来安装文件。当我有哈克尔时,仍然觉得在shell中写这个是一种耻辱...
NOTE3 :现在发布问题on the stack mailing list ...
NOTE4 :实际上是opened a stack bug now