Skip to content

sbt-dotty: Rework classpath and ScalaInstance handling, fix minimum sbt version check, release 0.3.0 #5835

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 8 commits into from
Feb 13, 2019

Conversation

smarter
Copy link
Member

@smarter smarter commented Feb 2, 2019

No description provided.

@smarter
Copy link
Member Author

smarter commented Feb 8, 2019

Rebased. Ping for review (we're doing a Dotty release next week so this is getting more pressing).

@smarter smarter force-pushed the sbt-dotty-0.3.0 branch 4 times, most recently from a320771 to 34f843c Compare February 11, 2019 14:35
@smarter
Copy link
Member Author

smarter commented Feb 12, 2019

Ping for second round of review.

I don't think anyone uses it, and it won't be needed anymore once we
use dotty as our stage0 compiler, so removing in the name of simplicity.
In particular, stop relying on zinc handling of the ScalaTool
configuration (by setting managedScalaInstance to false) and instead
fetch artifacts ourselves. Also document clearly what should end up on
which classpath.
Now that we add dotty-library to libraryDependencies, we need to be
more careful to make this work:

  libraryDependencies ~= (_.map(_.withDottyCompat(scalaVersion.value)))

This is needed to keep the community-build working.
This fixes scala#5671. Also bump the minimum version to 1.2.7 due to
scalaCompilerBridgeBinaryJar usage, etc.
smarter added a commit to smarter/sbt that referenced this pull request Feb 12, 2019
sbt-dotty 0.3.0 (scala/scala3#5835) sets
`managedScalaInstance := false` and does everything by itself, so this
isn't needed anymore.
smarter added a commit to smarter/sbt that referenced this pull request Feb 12, 2019
sbt-dotty 0.3.0 (scala/scala3#5835) sets
`managedScalaInstance := false` and does everything by itself, so this
isn't needed anymore.
smarter added a commit to smarter/zinc that referenced this pull request Feb 12, 2019
This was always a hack and isn't needed as of sbt-dotty 0.3.0
(scala/scala3#5835).
@smarter smarter merged commit d7090ab into scala:master Feb 13, 2019
smarter added a commit to dotty-staging/dotty that referenced this pull request Feb 14, 2019
In scala#5835 I changed the scalaInstance used for bootstrapped projects to
use class directories instead of jars for the local dependencies, but
this breaks the cache invalidation mechanism used by sbt to decide whether
to keep using the same compiler instance or not, in particular this
means that running:

> dotty-library-bootstrapped/compile

Then if we edit code in the compiler, we expect the next call to
`dotty-library-bootstrapped/compile` to use the new compiler, but it
kept using the original one since the cache wasn't invalidated.
smarter added a commit to dotty-staging/dotty that referenced this pull request Feb 14, 2019
In scala#5835 I changed the scalaInstance used for bootstrapped projects to
use class directories instead of jars for the local dependencies, but
this breaks the cache invalidation mechanism used by sbt to decide whether
to keep using the same compiler instance or not, in particular this
means that running:

> dotty-library-bootstrapped/compile

Then if we edit code in the compiler, we expect the next call to
`dotty-library-bootstrapped/compile` to use the new compiler, but it
kept using the original one since the cache wasn't invalidated.
@liufengyun liufengyun deleted the sbt-dotty-0.3.0 branch February 14, 2019 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants