Skip to content
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

Fix transitive invalidation looping (reverts cleanup) #921

Closed
wants to merge 5 commits into from

Conversation

eed3si9n
Copy link
Member

@eed3si9n eed3si9n commented Sep 14, 2020

Fixes #911

This is a rework of #916, reverting #898, on top of #920.

In #898, transitive invalidation was refactored incorrectly to have the same dependsOnClass function value. This restores that.

before

sbt:sbtRoot> compile
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] compiling 6 Scala sources and 1 Java source to /private/tmp/sbt/zinc-lm-integration/target/scala-2.12/classes ...
[info] compiling 1 Scala source to /private/tmp/sbt/run/target/scala-2.12/classes ...
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] compiling 1 Scala source to /private/tmp/sbt/testing/target/scala-2.12/classes ...
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] compiling 5 Scala sources to /private/tmp/sbt/main-command/target/scala-2.12/classes ...
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] compiling 5 Scala sources to /private/tmp/sbt/main-actions/target/scala-2.12/classes ...
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] compiling 1 Scala source to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] compiling 9 Scala sources to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] compiling 3 Scala sources to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[info] compiling 11 Scala sources to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[info] compiling 3 Scala sources to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[info] compiling 11 Scala sources to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[info] compiling 3 Scala sources to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[info] compiling 11 Scala sources to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[info] compiling 3 Scala sources to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[info] compiling 11 Scala sources to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[info] compiling 3 Scala sources to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[info] compiling 11 Scala sources to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[info] compiling 3 Scala sources to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[info] compiling 11 Scala sources to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...

after

sbt:sbtRoot> compile
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] compiling 6 Scala sources and 1 Java source to /private/tmp/sbt/zinc-lm-integration/target/scala-2.12/classes ...
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] compiling 1 Scala source to /private/tmp/sbt/testing/target/scala-2.12/classes ...
[info] compiling 5 Scala sources to /private/tmp/sbt/main-command/target/scala-2.12/classes ...
[info] compiling 1 Scala source to /private/tmp/sbt/run/target/scala-2.12/classes ...
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] compiling 5 Scala sources to /private/tmp/sbt/main-actions/target/scala-2.12/classes ...
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] compiling 1 Scala source to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] compiling 10 Scala sources to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] compiling 11 Scala sources to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[info] compiling 23 Scala sources to /private/tmp/sbt/main-settings/target/scala-2.12/classes ...
[info] compiling 132 Scala sources and 14 Java sources to /private/tmp/sbt/main/target/scala-2.12/classes ...
[info] compiling 3 Scala sources to /private/tmp/sbt/sbt/target/classes ...
[info] compiling 4 Scala sources to /private/tmp/sbt/scripted-sbt-redux/target/scala-2.12/classes ...
[success] Total time: 29 s, completed Sep 13, 2020 10:14:56 PM

@eed3si9n eed3si9n changed the title Fix transitive invalidation Fix transitive invalidation looping (reverts cleanup) Sep 14, 2020
@eed3si9n
Copy link
Member Author

Another theory - #898 (comment)

@eed3si9n
Copy link
Member Author

Closing in favor of #922

@eed3si9n eed3si9n deleted the wip/transitive_fix2 branch September 15, 2020 02:31
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.

Compile cycles can loop indefinitely
3 participants