我通过usingConfigFile
为每个项目维护小配置文件。我希望能够在命令行上覆盖任何这些设置。似乎使用shakeArgsWith
(而不是shakeArgs
)是第一步,但我没有看到明显的方法将其连接到getConfig
生成的值。这样做有标准方法吗?
答案 0 :(得分:2)
没有标准方法,但我知道有几个较大的构建系统发明了一些东西。 shakeArgsWith
,readConfigFile
和usingConfig
的组合应该这样做。像(未经测试)的东西:
main = shakeArgsWith shakeOptions [] $ \_ args -> return $ Just $ do
file <- readConfigFile "myfile.cfg"
usingConfig $ Map.union (argsToSettings args) file
myNormalRules
其中argsToSettings
是一个解析你的参数并将它们变成设置的函数 - 例如打破第一个=
符号或类似符号。