Closed
Conversation
harrah
added a commit
that referenced
this pull request
Apr 27, 2013
…tion.
1. All parents of public/exported classes/modules/packages are tracked as
'publicInherited' dependencies. These are dealiased and normalized so
that the dependency is on the actual underlying template and not the
source enclosing the alias.
2. All CompilationUnit.depends dependencies are direct dependencies. These
include inherited dependencies.
3. When invalidating changed internal sources,
a. Invalidate all inherited dependencies, transitively and include the
originally modified sources,
b. Invalidate all direct dependencies of these sources,
c. Exclude any sources that were compiled in the previous step unless they
depend on a newly invalidated source.
4. Invalidate changed external sources in the same way as #3 but remove the
external sources from the final set.
Only public inheritance dependencies need to be considered because a template
that is not accessible outside its source file and that inherits from another
file can be handled as a normal, direct dependency. Because the template
isn't public, changes to its API will not propagate outside of the source
file.
Several existing tests cover the correctness, especially:
1. transitive-a covers direct, transitive dependencies with inferred return
types
2. transitive-b covers inherited, transitive dependencies with inferred return
types
There are two new tests, one that tests that public inherited dependencies are
tracked and one that verifies the basic invalidation progression.
More tests are needed to verify the improvements that this algorithm brings:
1. Inheritance-related dependencies are processed in one step to avoid the
otherwise unavoidable several steps.
2. Only immediate direct dependencies are ever processed, which should in many
typical cases avoid large invalidation sets.
Closed
eed3si9n
referenced
this pull request
in eed3si9n/sbt
Apr 22, 2017
Code basically copied and adapted from sbt scala version cross building
dwijnand
pushed a commit
to dwijnand/sbt
that referenced
this pull request
Jun 26, 2017
Publish artifacts to Bintray
dwijnand
pushed a commit
to dwijnand/sbt
that referenced
this pull request
Jun 30, 2017
Publish artifacts to Bintray
dwijnand
pushed a commit
to dwijnand/sbt
that referenced
this pull request
Jul 7, 2017
Publish artifacts to Bintray
dwijnand
pushed a commit
to dwijnand/sbt
that referenced
this pull request
Oct 7, 2017
Add slash syntax for AttrKey that parity with "in" syntax
dwijnand
pushed a commit
to dwijnand/sbt
that referenced
this pull request
Apr 25, 2019
Compiler interface logging (sbt#2177)
eed3si9n
added a commit
that referenced
this pull request
Sep 17, 2024
Fixes #3 Under source dependency situation, `new File(childId)` doesn't work well.
This pull request was closed.
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
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.
This patch fixes http://code.google.com/p/simple-build-tool/issues/detail?id=100