Подтвердить что ты не робот

Как вернуть 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"

Что-то вроде строк, указывающих несколько версий, которые он попытается выполнить в указанном порядке.

4b9b3361

Ответ 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"
  )
}