2017-06-24 18 views
1

以下のユースケースがあります。 scala 2.10と2.12で同じScalaプロジェクトを構築したいと思います。そうする際には2.10バージョンの依存関係をいくつか指定したいと思いますが、2.12用にコンパイルしたものを用意したいと思います。SBT:異なる依存関係を持つ2つのScalaバージョンのクロスビルドプロジェクト

私はSBTのドキュメントを見て、build.sbtを別々の宣言に分割する方法を見つけましたが、それらは常にサブモジュールと記載されています。私の場合は、アプリ全体をクロスビルドしたいと思っています。

ヒントやリソースはありがとうございます。

答えて

2

Scalaのバージョンに応じてlibraryDependenciesをアセンブルできます。簡単な例..ビルドできない可能性があります、フルたとえば

libraryDependencies := { 
    CrossVersion.partialVersion(scalaVersion.value) match { 
    case Some((2, scalaMajor)) if scalaMajor == 12 => 
     libraryDependencies.value ++ Seq(
     "your.org" %% "your-lib" % "1.0") 
    case Some((2, scalaMajor)) if scalaMajor == 10 => 
     libraryDependencies.value ++ Seq(
     "your.org" %% "your-lib" % "1.0" % provided) 
    case _ => Seq() 
    } 
} 

参照http://github.com/scala/scala-module-dependency-sample

関連する問題