-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Runner scripts -usebootcp and require javaBootClassPath #10350
Conversation
Would it be practical to add test coverage? |
Script testing was added on dotty. Compare https://github.com/scala/scala/tree/2.13.x/test/script-tests readme. |
Okay.. I guess we just need to be extra careful about testing this stuff manually, and summarizing what we did on the PR in question. Merging this since Lukas also already noticed the breakage over on #10336. |
By the time we release 2.13.11, it will have been six months since 2.13.10, with a considerable amount of change having landed. It won't be the end of the world if we end up having to do a 2.13.12 with a few adjustments. |
Thanks, I'm getting tired of |
Do you (@SethTisue or @som-snytt) understand why quick/bin broke with #10336 and how this PR fixes it? How confident are we about not introducing a regression? What does the overall change fix? |
I plan to study that more in the few weeks we still have, but not this week. You're of course free, encouraged even :-), to study it as well. Reverting the whole business until after 2.13.11 remains a possibility. I merged this PR because I didn't want to leave 2.13.x in a worst-of-both-worlds state in the meantime. |
|
Before I forget again, My glib fix was that the classpath components are mutually exclusive: you specify either Overall change is not to use Future change, if worth the trouble, is to clean up (remove) |
I think the PR description (on this PR) elucidates that sufficiently. As for the likelihood of regressions here involving the runner scripts... well, it's just plain hard to be sure. The good news is that the runner scripts aren't the main way that people consume Scala. We do have some backup in the form of scala-dist-smoketest (https://github.com/scala/scala-dist-smoketest). If we end up needing to correct some regression, that would be a logical place for a regression test. |
Follow-up to #10336 which too eagerly ignores
javaBootClassPath
, which is where the scala scripts put the library (via-Dscala.boot.class.path
). That means the script needs-nobootcp
.It's only necessary to turn off
jrt
when user has set the-javabootclasspath
explicitly.The comment in
PathResolver
:Probably
-bootclasspath
was intended for "Scala platform" but is possibly generally ignored by clients? Scala 3 has the same compiler options (except-nobootcp
) but I haven't looked at how they are used.The other factor is
-Dscala.usejavacp
. All of these mechanisms were tagged for removal a decade ago, but it's never the right time, although springtime calls for spring cleaning.