Cross-Compiling von Aggregatprojekten mit verschiedenen crossScalaVersions für Teilprojekte, ects

Wir haben ein Projekt mit mehreren Unterprojekten, die sowohl unter Scala 2.10 als auch unter 2.11 kompiliert werden können, ein Unterprojekt, das nur unter 2.10 kompiliert wird (eigentlich Scala-Virtualized 2.10.2) und ein Unterprojekt, das nur unter 2.11 kompiliert wird. Gibt es eine einfache Möglichkeit, ein Gesamtprojekt zu erstellen, das alle möglichen Teilprojekte für 2.10 und 2.11 zusammenfasst? Oder alternativ unterschiedliche Standardprojekte für 2.10 und 2.11?

Im Speziellen,hier ist die aktuelle Build.scala. Wenn ich @ hinzufülmsBackend zuroot, Ich bekomm

> show scalaVersion
[info] common/*:scalaVersion
[info]  2.10.4
[info] lms-backend/*:scalaVersion
[info]  2.10.2
[info] meta/*:scalaVersion
[info]  2.10.4
[info] community-edition/*:scalaVersion
[info]  2.10.4
[info] core/*:scalaVersion
[info]  2.10.4
[info] scalan/*:scalaVersion
[info]  2.10.4
> show crossScalaVersions
[info] common/*:crossScalaVersions
[info]  List(2.10.4, 2.11.5)
[info] lms-backend/*:crossScalaVersions
[info]  List(2.10.2)
[info] meta/*:crossScalaVersions
[info]  List(2.10.4, 2.11.5)
[info] community-edition/*:crossScalaVersions
[info]  List(2.10.4, 2.11.5)
[info] core/*:crossScalaVersions
[info]  List(2.10.4, 2.11.5)
[info] scalan/*:crossScalaVersions
[info]  List(2.10.4, 2.11.5)

SBT kann @ ausführupdate, compile usw. gut für dieses Gesamtprojekt. Sobald ich es jedoch mit einem Cross-Building-Verfahren versuche, geht es schief:

> +update
[info] Setting version to 2.10.4
[info] Reapplying settings...
[info] Set current project to scalan (in build file:/home/aromanov/IdeaProjects/scalan-lite/)
...
[info] Updating {file:/home/aromanov/IdeaProjects/scalan-lite/}lms-backend...
[info] Resolving org.scala-lang.virtualized#scala-library;2.10.4 ...
[warn]  module not found: org.scala-lang.virtualized#scala-library;2.10.4
...
[info] Resolving org.scala-lang.virtualized#scala-compiler;2.10.4 ...
[warn]  module not found: org.scala-lang.virtualized#scala-compiler;2.10.4
...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.scala-lang.virtualized#scala-library;2.10.4: not found
[warn]  :: org.scala-lang.virtualized#scala-compiler;2.10.4: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn] 
[warn]  Note: Unresolved dependencies path:
[warn]      org.scala-lang.virtualized:scala-library:2.10.4 ((sbt.Classpaths) Defaults.scala#L1169)
[warn]        +- com.huawei.scalan:lms-backend_2.10:0.2.6-SNAPSHOT
[warn]      org.scala-lang.virtualized:scala-compiler:2.10.4
[warn]        +- com.huawei.scalan:lms-backend_2.10:0.2.6-SNAPSHOT
[trace] Stack trace suppressed: run last lms-backend/*:update for the full output.
[error] (lms-backend/*:update) sbt.ResolveException: unresolved dependency: org.scala-lang.virtualized#scala-library;2.10.4: not found
[error] unresolved dependency: org.scala-lang.virtualized#scala-compiler;2.10.4: not found
[error] Total time: 2 s, completed Jan 28, 2015 1:33:49 PM

show scalaVersion zeigt jetzt2.10.4 für alle Teilprojekte. Gibt es eine Möglichkeit, @ einzubeziehelms-backend im Gesamtprojekt und trotzdem dieses Problem vermeiden?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage