5

プロジェクトがビルドされているscalaバージョンに応じて、クロスビルド時に完全に異なるライブラリバージョンを使用するようにSBTを構成することは可能ですか?

例えば:

  • 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"
4

1 に答える 1

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"
}

私はあなたが実際にライブラリのバージョンが逆であるべきだということを意味していると思いましたか?:-)

このテーマのバリエーションは、ScalaMock2ビルドで確認できます。

于 2012-12-21T01:38:28.967 に答える