From 096b70771f0edd2f5456768fe05168750bcf8e7f Mon Sep 17 00:00:00 2001 From: mschaller Date: Tue, 1 May 2018 14:49:22 -0700 Subject: Delete dead non-parallel getRBuildFiles code Only the parallel implementation is now used. RELNOTES: None. PiperOrigin-RevId: 195001035 --- .../build/lib/query2/RBuildFilesFunction.java | 2 +- .../build/lib/query2/SkyQueryEnvironment.java | 60 +++------------------- 2 files changed, 7 insertions(+), 55 deletions(-) (limited to 'src/main') 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 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 getRBuildFilesParallel( - final Collection fileIdentifiers, - final Callback callback) { + QueryTaskFuture getRBuildFiles( + Collection fileIdentifiers, Callback callback) { return QueryTaskFutureImpl.ofDelegate( safeSubmit( () -> { @@ -1105,56 +1107,6 @@ public class SkyQueryEnvironment extends AbstractBlazeQueryEnvironment })); } - /** - * 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 getRBuildFiles( - Collection fileIdentifiers, Callback callback) { - try { - Collection files = getFileStateKeysForFileFragments(fileIdentifiers); - Uniquifier keyUniquifier = - new UniquifierImpl<>(SkyKeyKeyExtractor.INSTANCE, /*concurrencyLevel=*/ 1); - Collection current = keyUniquifier.unique(graph.getSuccessfulValues(files).keySet()); - Set resultKeys = CompactHashSet.create(); - while (!current.isEmpty()) { - Collection> 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 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 getFunctions() { return ImmutableList.builder() -- cgit v1.2.3