2014-12-04 83 views
0

我的設置看起來像這樣SBT如何抽象配置?

(scalatexSource in Compile) := (sourceDirectory in Compile).value/"scalatex", 
(scalatexSource in Test) := (sourceDirectory in Test).value/"scalatex", 

我還以爲我可以,因爲這一次,它聲明:

scalatexSource := sourceDirectory.value/"scalatex", 

有它適用於所有情況。但是,它每次都默認爲src/的根,而不是我所期望的src/main/src/test/

如何刪除重複並確保設置匹配,而不管in是什麼?

回答

3

從無標度設置(您的猜測)開始,然後通過inConfig發送一次CompileTest一次。

val configSettings = Seq(
    scalatexSource := sourceDirectory.value/"scalatex" 
) 

inConfig(Compile)(configSettings) ++ 
inConfig(Test)(configSettings)