2016-07-30 57 views
2

我通過usingConfigFile爲每個項目維護小配置文件。我希望能夠覆蓋命令行上的任何設置。它似乎使用shakeArgsWith(而不是shakeArgs)是第一步,但我沒有看到一個明顯的方式來連接到getConfig產生的值。有沒有一個標準的方法來做到這一點?如何覆蓋命令行上的Shake配置

回答

2

沒有一個標準的方法,但我知道幾個更大的構建系統已經發明瞭一些東西。 shakeArgsWith,readConfigFileusingConfig的組合應該這樣做。喜歡的東西(未經測試):

main = shakeArgsWith shakeOptions [] $ \_ args -> return $ Just $ do 
    file <- readConfigFile "myfile.cfg" 
    usingConfig $ Map.union (argsToSettings args) file 
    myNormalRules 

哪裏argsToSettings一些,它分析你的論點,並把它們轉化成設置的功能 - 例如,突破第一個=符號或類似的。