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
Update Scala versions #258
Conversation
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.
lgtm
0d5dddf
to
d3ed65f
Compare
d3ed65f
to
732c4bf
Compare
So one thing to note on this PR is that the workaround with using
works for both Scala 2.12 and Scala 2.13. Aside from that the newer versions of Scala 2.12 and Scala 2.13 have improved/added/updated various warnings which explains the the various changes to |
732c4bf
to
ef06849
Compare
@raboof @He-Pin @jrudolph Since you are more familiar with the internals do you want to have a look if there is anything out of place on this PR? #258 (comment) is of importance. Also https://discord.com/channels/632150470000902164/632150470000902166/1087731784990605402 is relevant here. |
ef06849
to
8417adb
Compare
I was submitted a pr in akka/akka for this and for compiling scala with 3.2 & 3.1 akka/akka#31578 @mdedetrich Would you like to check if there is something missing? |
@He-Pin I checked the relevant PR's and it doesn't appear that I have missed anything (the Scala 3.2 one I ignored because thats a separate concern). There can be further simplification but would make sense to do this in context of Scala 3. |
8417adb
to
e245b00
Compare
@@ -164,7 +164,7 @@ object PekkoDisciplinePlugin extends AutoPlugin { | |||
"-Ywarn-numeric-widen", | |||
"-Yno-adapted-args", | |||
"-deprecation", | |||
"-Xlint", | |||
"-Xlint:-infer-any", |
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.
This enables no lints. -Xlint -Xlint:-infer-any
or -Xlint:-infer-any,_
with underscore to mean all. (Not sure if that was intended here.)
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, fixing now
// EnvelopeBuffer.class with 'javap -c': it should refer to | ||
// ""java/nio/ByteBuffer.clear:()Ljava/nio/Buffer" and not | ||
// "java/nio/ByteBuffer.clear:()Ljava/nio/ByteBuffer". Issue #27079 | ||
(java8home: File) => Seq("-release", "8", "-javabootclasspath", java8home + "/jre/lib/rt.jar")) |
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 removal of -javabootclasspath
breaks building with JDK 11 for me, also reproducible in Docker containers. I know I investigated before, if it could be removed and I ran into issues before.
I wonder how it works on Github CI and other machines.
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.
interesting, seems to work on my machine - what does it break on for you?
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.
@jrudolph we have a release candidate (1.0.1-RC1) at https://repository.apache.org/content/groups/staging/org/apache/pekko/
Would you be able to see if there is anything missing in the jars?
The RCs have been built on my Mac. I use sdkman to manage my JDK installs.
The CI builds all seem fine.
I have no objection to putting back the javabootclasspath
if it makes the build work for you. In the short term, I would be worried that there is something up with RC and the 1.0.0 release.
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.
I haven't looked at this conversation, but FYI there was a bug fix to prefer javabootclasspath, someone needed to compile against a specific version of rt.jar. This PR scala/scala#10336
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 RC1 pekko-remote jar: I ran the javap -c
on the EnvelopeBuffer class and got
9: invokevirtual #121 // Method java/nio/ByteBuffer.clear:()Ljava/nio/Buffer;
Which I think means that the RC1 jar is not affected by Issue #27079
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.
I haven't looked at this conversation, but FYI there was a bug fix to prefer javabootclasspath, someone needed to compile against a specific version of rt.jar. This PR scala/scala#10336
Thanks @som-snytt - the Pekko build uses Scala 2.13.11 so we might be benefitting from the scala/scala#10336 change.
This PR updates the Scala versions of Akka.
References: #6