SBT跨建筑 - 为不同的scala版本选择不同的库版本

时间:2012-12-21 00:55:47

标签: scala sbt

在交叉构建时是否可以将SBT配置为使用完全不同的库版本,具体取决于正在构建项目的scala版本?

例如:

  • 使用Scala构建时2.9.2我想使用"org.scalatest" % "scalatest_2.9.2" % "2.0.M5" % "test"
  • 使用scala 2.10.0进行构建时,我想使用"org.scalatest" % "scalatest_2.10.0-RC5" % "2.0.M5-B1" % "test"

1 个答案:

答案 0 :(得分:8)

这样的事情应该有效:

libraryDependencies <+= scalaVersion(scalatestDependency(_))

def scalatestDependency(scalaVersion: String) = scalaVersion match {
  case "2.9.2" => "org.scalatest" % "scalatest_2.9.2" % "2.0.M5" % "test"
  case "2.10.0" => "org.scalatest" % "scalatest_2.10.0-RC5" % "2.0.M5-B1" % "test"
}

我认为你实际上意味着库版本应该是另一种方式? : - )

您可以在ScalaMock 2 build中看到此主题的变体。