您好我想知道使用SBT是否可以针对某些类使用不同的源来针对不同的Scala版本进行交叉编译。基本上保持兼容性,但也利用新的语言功能。感谢。
答案 0 :(得分:6)
您可以添加到unmanagedSourceDirectories setting.
,根据scala版本添加其他源目录这样的事情:
unmanagedSourceDirectories in Compile <+= (scalaVersion, sourceDirectory in Compile) {
case (v, dir) if v startsWith "2.9" => dir / "scala_2.9"
case (v, dir) if v startsWith "2.10" => dir / "scala_2.10"
}
应该允许你有三个目录:
src/main/scala # both 2.9 and 2.10
src/main/scala_2.9 # source only for 2.9
src/main/scala_2.10 # source only for 2.10