Implement Scala 2.13-3.0 sandwich#5767
Conversation
|
Looks like compiler bridge is being compiled twice? |
Fixes sbt#5369 Ref https://contributors.scala-lang.org/t/roadmap-for-the-tasty-reader-for-scala-2/4231 This implements support for inter-project dependencies between Scala 2.13 and Dotty, and vice versa. Scala 2.13 depending on Dotty would require 2.13.4 and above.
854b5a7 to
f8139da
Compare
| .withConfigurations(dep.configuration) | ||
| .withExplicitArtifacts(Vector.empty) | ||
| ) | ||
| else sys.error(s"scalaBinaryVersion mismatch: expected $sbv but found ${depSBV}") |
There was a problem hiding this comment.
Maybe the error could mention the names of the mismatched projects?
There was a problem hiding this comment.
The project name should show up as projectDependencies task failure, I think.
|
|
||
| lazy val fooCore = (project in file("foo-core")) | ||
| .settings( | ||
| scalaVersion := scala213 |
There was a problem hiding this comment.
For completeness sake, I think it'd be nice to have one or more tests involving crossScalaVersion and running ++compile, e.g. what happens if I have a scala 3 app that depends on a lib that cross-compiles between 2 and 3, and vice-versa.
There was a problem hiding this comment.
That's probably not gonna work.
There was a problem hiding this comment.
Am I misreading previous @smarter comments? A 2.13.4+ (not released yet) should be able to depend on a dotty library, so why wouldn't this visa-versa test work?
There was a problem hiding this comment.
+ command is ignorant about the sandwich, so if there is a list of scalaVersions it wouldn't know how to align them. I'd much rather handle that scenario using sbt-projectmatrix - sbt/sbt-projectmatrix#28
There was a problem hiding this comment.
thanks for explaining! that makes sense!
Fixes #5369
Ref https://contributors.scala-lang.org/t/roadmap-for-the-tasty-reader-for-scala-2/4231
This implements support for inter-project dependencies between Scala 2.13 and Dotty, and vice versa. Scala 2.13 depending on Dotty would require 2.13.4 and above.