- Notifications
You must be signed in to change notification settings - Fork3.1k
-Yrelease supplements-release, allows access to additional JVM packages#10543
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
ccfc0dc to57391b0CompareSethTisue commentedSep 19, 2023 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@som-snytt it seems likely we'll merge this. but by merge time we'll need a public-facing PR description explaining what this does and when it's needed. but I think it would actually be helpful if you provided that now, to help reviewers? |
SethTisue commentedSep 19, 2023
Another thought: do you intend to port this to Scala 3? We're always a bit reluctant to add things to Scala 2 unless the path to supporting them in 3 as well is clear. That's partly because the 3 folks aren't happy if they feel we are putting pressure on them to support things they don't want to support, and also partly because users can be annoyed or disappointed if the two versions seem gratuitously misaligned to them. Do we know if the workaround suggested on the scala/bug ticket also works in Scala 3? Because if it does, that would ease the 2 vs 3 tension here a bit, since 3 users wouldn't be blocked. |
som-snytt commentedSep 19, 2023
A project that is cross-built probably has the machinery to build against the jar of its choice, if |
SethTisue commentedSep 19, 2023 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Nice description — thank you. Let's ponder the naming, prior to merge. |
lrytz left a comment
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 LGTM, it's a very nice idea!
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
57391b0 toa37a063CompareUh oh!
There was an error while loading.Please reload this page.
a37a063 tobee5534CompareUh oh!
There was an error while loading.Please reload this page.
som-snytt commentedDec 6, 2023
Instead of I assUME that |
6ea44b7 to47e1f65Compare
lrytz left a comment
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.@SethTisue wdyt about the flag name-Yopen-packages?
som-snytt commentedDec 7, 2023 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Maybe it should be |
-Yopen-packages, for opening JVM-internal packages under--releaseSethTisue commentedJan 18, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
I'm almost ready to hit "approve" here, only remaining concerns are naming and doc
@som-snytt what is the relationship between this new flag and P.S. needs rebase! |
som-snytt commentedJan 18, 2024
Apparently, An interesting post-mortem would be rates of change to modules (classes and packages), as a measure of what was so complicated. |
He-Pin commentedJan 22, 2024
Thank you for this. |
som-snytt commentedJan 22, 2024
This is just for considering packages on the real class path during compilation. Clearly it needs a better name
oh just |
47e1f65 to8f55db5Comparesom-snytt commentedJan 23, 2024
Instead, we get a companion option |
-Yopen-packages, for opening JVM-internal packages under--release-Yrelease opens JVM packages hidden by--releaseHe-Pin commentedJan 23, 2024
@mdedetrich ping, pekko/akka can make use of it in future |
mdedetrich commentedJan 23, 2024
Yup, it has to be released in Scala 2.12/2.13/3.3.x for us to use it though |
som-snytt commentedJan 23, 2024
That could happen! I might need a reminder... |
mdedetrich commentedJan 23, 2024
Ive been told I'm good at that, to the detriment of societies sanity |
SethTisue commentedJan 24, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@som-snytt what is the relationship between this new flag and What does the current workaround look like? Could someone point me to the relevant section of the Akka build or the Pekko build? I think |
som-snytt commentedJan 24, 2024
@SethTisue this hasn't to do with modules, but with the Practically, it's to support access to Note to self: does |
-Yrelease opens JVM packages hidden by--release-Yrelease allows access to JVM packages hidden by--release-Yrelease allows access to JVM packages hidden by--release-Yrelease supplements--release, allowing access to additional JVM packages
SethTisue left a comment
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.
to@lrytz for final review/merge
SethTisue commentedJan 24, 2024
Still curious about this, if@mdedetrich or@He-Pin or somebody could answer. |
-Yrelease supplements--release, allowing access to additional JVM packages-Yrelease supplements--release, allows access to additional JVM packagesHe-Pin commentedJan 24, 2024
@SethTisue This code origin from Akka too, some kind of this. |
SethTisue commentedJan 24, 2024
Thanks@He-Pin — though I see now we already had this same exchange over atscala/bug#12643 😆 |
lrytz left a comment
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.
Thank you! This is a nice improvement.
-Yrelease supplements--release, allows access to additional JVM packages-Yrelease supplements-release, allows access to additional JVM packages
Uh oh!
There was an error while loading.Please reload this page.
Legacy usage of
sun.misc.Unsafemakes it difficult to leverage-releasein a build, since the internal class is not available as API. To enable this common use case,-Yreleaseis introduced to allow access to specified platform packages.For example,
-release:8 -Yrelease:sun.misc.This "private" option is a convenience intended to support a project while migrating away from using
Unsafe.Fixesscala/bug#12643