-
Notifications
You must be signed in to change notification settings - Fork 950
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe the error could mention the names of the mismatched projects?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's probably not gonna work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.