diff options
author | 2016-10-11 22:06:40 +0000 | |
---|---|---|
committer | 2016-10-12 08:56:52 +0000 | |
commit | 79eb4094537d369b22ac72cab4f08a3c1a5f650e (patch) | |
tree | 3f5e5a73cd2661a82b5bb0cfaa35fd723c4f8baf /src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java | |
parent | a629005a0f7b5c702067b2f47e048f11700a5092 (diff) |
When requesting all transitive traversal values recursively, request packages/targets in parallel with subdirectories.
The previous implementation was vulnerable to incomplete traversal in case of cycles: if a subdirectory had a cycle, the targets in the package would never be requested. Requesting the package first would create a different problem, where the subdirectories would never be requested if the package depended on a cycle.
Also stop uniquifying Skylark import cycles when inlining. While uniquification is nice, this was leading to us emitting an error during queries that we weren't actually emitting when not inlining. Putting the cycle into the exception error message should be enough information, and since we emit an error per exception anyway, the number of events will still be lower (although each event might be more verbose).
--
MOS_MIGRATED_REVID=135846847
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java index a7b7224d1a..09dc01baa2 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java @@ -40,8 +40,6 @@ public final class SkyFunctions { public static final SkyFunctionName AST_FILE_LOOKUP = SkyFunctionName.create("AST_FILE_LOOKUP"); public static final SkyFunctionName SKYLARK_IMPORTS_LOOKUP = SkyFunctionName.create("SKYLARK_IMPORTS_LOOKUP"); - public static final SkyFunctionName SKYLARK_IMPORT_CYCLE = - SkyFunctionName.create("SKYLARK_IMPORT_CYCLE"); public static final SkyFunctionName GLOB = SkyFunctionName.create("GLOB"); public static final SkyFunctionName PACKAGE = SkyFunctionName.create("PACKAGE"); public static final SkyFunctionName PACKAGE_ERROR = SkyFunctionName.create("PACKAGE_ERROR"); @@ -53,6 +51,8 @@ public final class SkyFunctions { SkyFunctionName.create("PREPARE_DEPS_OF_PATTERN"); public static final SkyFunctionName PREPARE_DEPS_OF_TARGETS_UNDER_DIRECTORY = SkyFunctionName.create("PREPARE_DEPS_OF_TARGETS_UNDER_DIRECTORY"); + public static final SkyFunctionName COLLECT_TARGETS_IN_PACKAGE = + SkyFunctionName.create("COLLECT_TARGETS_IN_PACKAGE"); public static final SkyFunctionName COLLECT_PACKAGES_UNDER_DIRECTORY = SkyFunctionName.create("COLLECT_PACKAGES_UNDER_DIRECTORY"); public static final SkyFunctionName BLACKLISTED_PACKAGE_PREFIXES = |