diff options
author | mschaller <mschaller@google.com> | 2018-05-01 14:49:22 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-05-01 14:51:00 -0700 |
commit | 096b70771f0edd2f5456768fe05168750bcf8e7f (patch) | |
tree | c155ff2ea890808cae7a45e4b997eda838b96565 /src/main | |
parent | 1f1c0e6a4c441e2c7378fec8623b994f54238c7c (diff) |
Delete dead non-parallel getRBuildFiles code
Only the parallel implementation is now used.
RELNOTES: None.
PiperOrigin-RevId: 195001035
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/query2/RBuildFilesFunction.java | 2 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java | 60 |
2 files changed, 7 insertions, 55 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/query2/RBuildFilesFunction.java b/src/main/java/com/google/devtools/build/lib/query2/RBuildFilesFunction.java index dc3a338357..3cffb9a1ca 100644 --- a/src/main/java/com/google/devtools/build/lib/query2/RBuildFilesFunction.java +++ b/src/main/java/com/google/devtools/build/lib/query2/RBuildFilesFunction.java @@ -69,7 +69,7 @@ public class RBuildFilesFunction implements QueryFunction { new QueryException("rbuildfiles can only be used with SkyQueryEnvironment")); } SkyQueryEnvironment skyEnv = ((SkyQueryEnvironment) env); - return skyEnv.getRBuildFilesParallel( + return skyEnv.getRBuildFiles( args.stream() .map(argument -> PathFragment.create(argument.getWord())) .collect(Collectors.toList()), diff --git a/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java b/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java index 99f4da6fdb..9a3370a724 100644 --- a/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java +++ b/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java @@ -93,7 +93,6 @@ import com.google.devtools.build.lib.skyframe.PackageLookupValue; import com.google.devtools.build.lib.skyframe.PackageValue; import com.google.devtools.build.lib.skyframe.PrepareDepsOfPatternsFunction; import com.google.devtools.build.lib.skyframe.RecursivePackageProviderBackedTargetPatternResolver; -import com.google.devtools.build.lib.skyframe.SkyFunctions; import com.google.devtools.build.lib.skyframe.TargetPatternValue; import com.google.devtools.build.lib.skyframe.TargetPatternValue.TargetPatternKey; import com.google.devtools.build.lib.skyframe.TransitiveTraversalValue; @@ -1092,10 +1091,13 @@ public class SkyQueryEnvironment extends AbstractBlazeQueryEnvironment<Target> Package::getBuildFile); } + /** + * Calculates the set of packages that transitively depend on, via load statements, the specified + * paths. The emitted {@link Target}s are BUILD file targets. + */ @ThreadSafe - QueryTaskFuture<Void> getRBuildFilesParallel( - final Collection<PathFragment> fileIdentifiers, - final Callback<Target> callback) { + QueryTaskFuture<Void> getRBuildFiles( + Collection<PathFragment> fileIdentifiers, Callback<Target> callback) { return QueryTaskFutureImpl.ofDelegate( safeSubmit( () -> { @@ -1105,56 +1107,6 @@ public class SkyQueryEnvironment extends AbstractBlazeQueryEnvironment<Target> })); } - /** - * Calculates the set of {@link Package} objects, represented as source file targets, that depend - * on the given list of BUILD files and subincludes (other files are filtered out). - */ - @ThreadSafe - QueryTaskFuture<Void> getRBuildFiles( - Collection<PathFragment> fileIdentifiers, Callback<Target> callback) { - try { - Collection<SkyKey> files = getFileStateKeysForFileFragments(fileIdentifiers); - Uniquifier<SkyKey> keyUniquifier = - new UniquifierImpl<>(SkyKeyKeyExtractor.INSTANCE, /*concurrencyLevel=*/ 1); - Collection<SkyKey> current = keyUniquifier.unique(graph.getSuccessfulValues(files).keySet()); - Set<SkyKey> resultKeys = CompactHashSet.create(); - while (!current.isEmpty()) { - Collection<Iterable<SkyKey>> reverseDeps = graph.getReverseDeps(current).values(); - current = new HashSet<>(); - for (SkyKey rdep : Iterables.concat(reverseDeps)) { - if (rdep.functionName().equals(SkyFunctions.PACKAGE)) { - resultKeys.add(rdep); - // Every package has a dep on the external package, so we need to include those edges - // too. - if (rdep.equals(PackageValue.key(Label.EXTERNAL_PACKAGE_IDENTIFIER))) { - if (keyUniquifier.unique(rdep)) { - current.add(rdep); - } - } - } else if (!rdep.functionName().equals(SkyFunctions.PACKAGE_LOOKUP)) { - // Packages may depend on the existence of subpackages, but these edges aren't relevant - // to rbuildfiles. - if (keyUniquifier.unique(rdep)) { - current.add(rdep); - } - } - } - if (resultKeys.size() >= BATCH_CALLBACK_SIZE) { - for (Iterable<SkyKey> batch : Iterables.partition(resultKeys, BATCH_CALLBACK_SIZE)) { - getBuildFileTargetsForPackageKeysAndProcessViaCallback(batch, callback); - } - resultKeys.clear(); - } - } - getBuildFileTargetsForPackageKeysAndProcessViaCallback(resultKeys, callback); - return immediateSuccessfulFuture(null); - } catch (QueryException e) { - return immediateFailedFuture(e); - } catch (InterruptedException e) { - return immediateCancelledFuture(); - } - } - @Override public Iterable<QueryFunction> getFunctions() { return ImmutableList.<QueryFunction>builder() |