如何通过堆栈获得多种构建风格?

How to have multiple build flavors with stack?

在开发时,我想用 -O0 构建所有内容以节省时间。

但是在 CI 系统上构建相同的包时,我想使用 -O

我看到的一个选择是让两个不同的 stack.yaml 文件在 ghc-options 上有所不同,但是我必须在两个地方对 stack.yaml 进行所有更改。

stack --ghc-options=-O0 设置别名不起作用,因为我希望 -O0 仅应用于本地包,而不是快照,并且无法在命令行中指定,据我所知。

有没有更好的选择?

实际上,stack build --ghc-options=-O0 只会将 -O0 应用到本地包,而不是快照包。欲了解更多信息,请参阅:

https://github.com/commercialhaskell/stack/blob/master/GUIDE.md#ghc-options