-
-
Notifications
You must be signed in to change notification settings - Fork 646
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
scala: support multiple scala versions #14425
Conversation
[ci skip-rust] [ci skip-build-wheels]
[ci skip-rust] [ci skip-build-wheels]
[ci skip-rust] [ci skip-build-wheels]
[ci skip-rust] [ci skip-build-wheels]
Still working on a test but this approach is ready for review at least. I have a separate change in the works to automatically add scala-libary requirements to a resolve when the resolve is being generated. |
[ci skip-rust] [ci skip-build-wheels]
Added test. |
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!
[ci skip-rust] [ci skip-build-wheels]
[ci skip-rust] [ci skip-build-wheels]
[ci skip-rust] [ci skip-build-wheels]
@stuhood: any comments on the updated help text wording? |
Going to land; will make any wording comments in a follow-on. |
No, it looked good to me! |
Implement support for multiple Scala versions in the same repository. Each resolve will be assigned a single Scala version.
Scala requires that all Scala-compiled jars on a classpath (i.e, a resolve) be "compatible" with one another (regardless of whether they are third-party jars or jars compiled from first-party sources). For Scala 2.x versions, for example, "compatibility" means that all Scala-compiled jars were compiled with the same minor version of Scala (i.e., 2.12). We can maintain this "Scala compatibility" property for a resolve by assigning the resolve a single Scala version which ensures that there is single Scala version that all of the third-party jars must be compatible with and that all first-party sources are compiled with.
Introduce the
--scala-version-for-resolve
option to implement the mapping from resolve to Scala version. The--scala-version
option is deprecated and will be used as a fallback if the Scala version for a particular resolve is not set in--scala-version-for-resolve
.Closes #13994.