如何在sbt中只交叉编译1个子项目?

时间:2016-11-21 20:52:33

标签: scala sbt

我使用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

0 个答案:

没有答案