我使用Build.scala进行多项目sbt构建。
我想针对Scala 2.12和2.11交叉编译一个子项目,但是其他子项目的依赖项还不支持2.12,所以我只想要2.11。
我怎样才能在sbt中执行此操作?
我试过这个:
val scalaVer = "2.11.8"
val scalaVer12 = "2.12.0"
lazy val basicSettings = Seq(
scalaVersion := scalaVer
)
lazy val root = (project in file("."))
.settings(basicSettings: _*)
.aggregate(scalajack, scalajack_dynamodb, scalajack_mongo)
lazy val scalajack = project.in(file("core"))
.settings(basicSettings: _*)
.settings(Seq(crossScalaVersions := Seq(scalaVer, scalaVer12)))
lazy val scalajack_dynamodb = project.in(file("dynamodb"))
.settings(basicSettings: _*)
.dependsOn( scalajack )
lazy val scalajack_mongo = project.in(file("mongo"))
.settings(basicSettings: _*)
.dependsOn( scalajack )
这将正确构建所有内容,但忽略了我希望拥有2.12版本的“核心”子项目。
我用:
构建包sbt> + package