-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Upgrade to sbt 1.3.6, release sbt-dotty 0.4.0 #7953
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0c03eb0
to
8f5f4d3
Compare
8f5f4d3
to
388f889
Compare
@smarter |
smarter
commented
Jan 10, 2020
Hello! The classpath discovery fix needs to also go in dotty.tools.dotc.consumetasty.ConsumeTasty. The original code is the same there as in QuoteDriver. |
604c9ce
to
1cc2379
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
1cc2379
to
caf498d
Compare
nicolasstucki
suggested changes
Jan 16, 2020
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.
Otherwise LGTM
Merged
This corresponds to scala/scala#8525.
For the same reason that it was removed from sbt: sbt/sbt@ffa69ea
dotty-library-bootstrappedJS scalacOptions handling was broken, I fixed it by upgrading the reference compiler to simplify the handling of -Yerased-terms, but I also removed all scalajs projects from IDE startup as explained in the comment.
tasty-core is a dotty project, so when bootstrapping it needs to be recompiled and cannot be reused as is, the test did not fail so far since we didn't break anything, but it could be made to break by bumping the tasty version in TastyFormat. Also use change the names of the output directories of lib, dotty1 and dotty2 to match the group name.
Switching to sbt 1.3 allows us to pass both the scala-library and dotty-library jars as standard library jars to `ScalaInstance` whereas before we could only pass one of them which could have weird consequences.
This fixes the sbt-dotty/quoted-example-project scripted test after the previous commit. Getting a classpath from a classloader is impossible in general, so we really shouldn't be relying on it, but I fixed the thing we currently use to at least work with sbt >= 1.3, sbt now uses multiple layers of classloaders so we have to recurse on the parent of the classloader to find all the URLs. I also made it more correct by not appending System.getProperty("java.class.path") to the classpath, this is incorrect in general and can lead to classpath pollution (e.g., when launched from sbt where java.class.path will contain the jars used by sbt itself, which might include a different version of scala-library than the one we use).
The tests ensure that we've fixed scala#7897. Co-Authored-By: Guillaume Martres <[email protected]>
- Move build-no-fork.sbt in a subdirectory, otherwise it would be loaded by sbt. - Call reload after changing build.sbt, otherwise nothing would actually change. - Remove build.properties, no longer needed since we now use sbt 1.3.6 by default.
This was broken after I stopped appending `System.getProperty("java.class.path")` to the constructed classpath. Fixed with a hack, but this is still better than looking at java.class.path.
caf498d
to
6333954
Compare
nicolasstucki
approved these changes
Jan 16, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.