SBT如何抽象掉配置?

时间:2014-12-04 05:53:54

标签: scala 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是什么?

1 个答案:

答案 0 :(得分:3)

从未范围的设置(您的猜测)开始,然后通过inConfigCompile发送一次,为Test发送一次。

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

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