-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
release for scala 2.13.0-M5? #25105
Comments
👍 - still blocked on https://github.com/scala/scala-java8-compat (scala/scala-java8-compat#97, scala/scala-java8-compat#110) |
|
ssl-config has a 2.13.0-M4 release http://central.maven.org/maven2/com/typesafe/ssl-config-core_2.13.0-M4/0.2.4/. |
@raboof Is there anyone on the Akka team working on this? If not, I would like to do it. It would be a good occasion to battle test https://github.com/scala/scala-collection-compat and it's migration rules. |
|
@MasseGuillaume as @xuwei-k linked we've started exploring a bit, but your help would be greatly appreciated! |
checking in, anything we should be discussing here...? |
I'll check out status and report back |
Okey so the PRs above are in progress and we need to continue the work here. |
@ktoso I'm currently working on this. Not as fast as I could since we use this to validate our scala/scala-collection-compat project and increase the quality of our automatic migration rules. This is what I got out of this so far:
The only manual par remaining would be:
You can track my progress here: https://github.com/MasseGuillaume/akka/commits/2.13.0-M4 Unless you are blocked by this, I would say leave me at least 2 weeks, then I would definitively need your help for PR review, making unit tests pass. |
I'm curious how close Guillaume's efforts got to something releasable. does the Akka team expect to be able to publish for M5 fairly soon after all your dependencies publish...? |
Btw, I suggest https://github.com/SethTisue/akka/tree/community-build-2.13 as the branch to integrate. |
we can do another push next week |
https://github.com/scala/scala-collection-compat have released a migration tool based on scalafix. This might be helpful. I tried it with the Slick codebase and it seems to do a pretty good job (but there is a reasonable amount of extra work needed after the run). |
Yes, we are using this as well - but thanks for the pointer. It is indeed incredibly helpful, but as you mention there is still quite some extra work to be done, especially since we want to maintain binary incompatibility, and in some cases the migration tool will violate that. |
@raboof I suspect that it won't be possible to be binary compatible and that you will need to do the changes on an akka 2.6 code line. |
@pjfanning that would be quite disappointing. Can you give an example of a construct that you suspect cannot be handled in a binary compatible way? |
dozens of libraries have now published for M4 and/or M5 and I don't think any have yet needed to break bincompat to do it. perhaps there are counterexamples, but it isn't the norm. Akka is big and could well be an exception, but it's worth being optimistic about. I wonder if MiMa still passes on 2.11.x/2.12.x when @MasseGuillaume's patches are applied. |
(I plan to look into this more later this week, and indeed am so far optimistic, though it'll be some work to get it to 100%) |
https://github.com/slick/slick/pull/1966/files - this is an example from applying the migration to Slick code base. Note that |
thanks for the list. the libraries I've seen pull this off have used workarounds rather than make the changes you list. these workarounds typically involve using small amounts of Scala-version-specific source code. |
@pjfanning since I'm not sure Adding the dependency on scala-collection-compat should not be a problem (as soon as the time is right to start promising binary compatibility for that library itself, of course) |
you might consider avoiding it if possible, though, since as we all know, mo dependencies mo problems, especially downstream. most library maintainers so far are choosing not to use it. (though again, Akka is the largest and complex migration that has been attempted yet, different considerations may apply.) |
@SethTisue that's interesting - I would love to avoid it but got the impression that a big reason for the library to exist in the first place would be to allow cross-building code that uses |
Could it make sense for Akka to copy only parts from the compat library somewhere into our codebase (if it's mostly about avoiding dependencies)? |
for at least some particular libraries it really hasn't been that bad, see e.g. @ashawley's:
this is an example of what I said above about "small amounts of Scala-version-specific source code"
perhaps, yes. copy and paste can be better if the code involved isn't too long or involved. |
should this be closed as per https://contributors.scala-lang.org/t/2-13-0-m5-release-train/2125/39 ? |
I think while:
maybe we should, calling this "effectively done" and create follow-up tickets for the follow-up work, that interest parties can subscribe to if interested. For instance, I'd be interested in tracking when 2.13 support is entirely merged into the master build/CI and by default a part of Akka releases, rather than in opt-in/"someone do it" state. |
https://www.scala-lang.org/download/2.13.0-M4.html - has been released
Relates to #24507
Depends on
scalatest/scalatest#1367: 3.0.6-SNAP1 should workThe text was updated successfully, but these errors were encountered: