Как вернуть Scala версию для зависимостей SBT?
У меня есть зависимости в моем build.sbt
, которые не имеют конкретных построений для Scala 2.9.0-1
, которые я использую, вместо этого я должен использовать сборку для 2.9.0
. Как настроить сборку так, чтобы она определяла, что без указания точной версии для каждой зависимости? Например subcut не имеет сборки для 2.9.0-1
.
Некоторые строки с моего build.sbt
:
...
scalaVersion := "2.9.0-1"
libraryDependencies ++= Seq(
"org.scala-tools" %% "subcut" % "0.8"
)
...
Я бы предпочел избежать этого:
"org.scala-tools" % "subcut_2.9.0" % "0.8"
Что-то вроде строк, указывающих несколько версий, которые он попытается выполнить в указанном порядке.
Ответы
Ответ 1
Вот что я сделал:
libraryDependencies <++= (scalaVersion) { (v) =>
val scalaVersionString = v match {
case "2.9.0-1" => "2.9.0"
case _ => v
}
Seq(
"org.scala-tools.testing" % ("scalacheck_" + scalaVersionString) % "1.8" % "test" withSources,
"org.specs2" %% "specs2" % "1.3" % "test" withSources,
"com.github.dmlap" %% "sizeof" % "0.1" % "test" from "http://cloud.github.com/downloads/dmlap/jvm-sizeof/jvm-sizeof-0.1.jar"
)
}