aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/GraphBackedRecursivePackageProvider.java
diff options
context:
space:
mode:
authorGravatar juliexxia <juliexxia@google.com>2018-05-03 11:09:52 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-05-03 11:11:18 -0700
commit42025b2dfb8319d90b4a5566ab583084cfcb2de8 (patch)
treec00da6578342684654174a39f1fe8cd381da8832 /src/main/java/com/google/devtools/build/lib/skyframe/GraphBackedRecursivePackageProvider.java
parent07bd86df11d00a56466fa9bf3f1220d2429cfab7 (diff)
Consolidate fields and methods of recursive package providers into an abstract class. This is also helpful for the new recursive package provider I'll be adding to support recursive patterns in cquery.
PiperOrigin-RevId: 195279920
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/GraphBackedRecursivePackageProvider.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/GraphBackedRecursivePackageProvider.java27
1 files changed, 4 insertions, 23 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/GraphBackedRecursivePackageProvider.java b/src/main/java/com/google/devtools/build/lib/skyframe/GraphBackedRecursivePackageProvider.java
index e926ffab8d..aa22453702 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/GraphBackedRecursivePackageProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/GraphBackedRecursivePackageProvider.java
@@ -26,7 +26,6 @@ import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import com.google.common.collect.Sets.SetView;
-import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.cmdline.RepositoryName;
import com.google.devtools.build.lib.cmdline.TargetPattern;
@@ -35,14 +34,12 @@ import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.ExtendedEventHandler;
import com.google.devtools.build.lib.packages.BuildFileNotFoundException;
import com.google.devtools.build.lib.packages.NoSuchPackageException;
-import com.google.devtools.build.lib.packages.NoSuchTargetException;
import com.google.devtools.build.lib.packages.Package;
-import com.google.devtools.build.lib.packages.Target;
+import com.google.devtools.build.lib.pkgcache.AbstractRecursivePackageProvider;
import com.google.devtools.build.lib.pkgcache.PathPackageLocator;
import com.google.devtools.build.lib.pkgcache.RecursivePackageProvider;
import com.google.devtools.build.lib.rules.repository.RepositoryDirectoryValue;
import com.google.devtools.build.lib.skyframe.TargetPatternValue.TargetPatternKey;
-import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.lib.vfs.Root;
import com.google.devtools.build.lib.vfs.RootedPath;
@@ -61,10 +58,9 @@ import java.util.logging.Logger;
* preloaded in {@code graph}.
*/
@ThreadSafe
-public final class GraphBackedRecursivePackageProvider implements RecursivePackageProvider {
+public final class GraphBackedRecursivePackageProvider extends AbstractRecursivePackageProvider {
private final WalkableGraph graph;
- private final PathPackageLocator pkgPath;
private final ImmutableList<TargetPatternKey> universeTargetPatternKeys;
private static final Logger logger = Logger.getLogger(
@@ -73,7 +69,7 @@ public final class GraphBackedRecursivePackageProvider implements RecursivePacka
public GraphBackedRecursivePackageProvider(WalkableGraph graph,
ImmutableList<TargetPatternKey> universeTargetPatternKeys,
PathPackageLocator pkgPath) {
- this.pkgPath = pkgPath;
+ super(pkgPath);
this.graph = Preconditions.checkNotNull(graph);
this.universeTargetPatternKeys = Preconditions.checkNotNull(universeTargetPatternKeys);
}
@@ -135,15 +131,6 @@ public final class GraphBackedRecursivePackageProvider implements RecursivePacka
}
@Override
- public Path getBuildFileForPackage(PackageIdentifier packageName) {
- try {
- return pkgPath.getPackageBuildFile(packageName);
- } catch (NoSuchPackageException e) {
- return null;
- }
- }
-
- @Override
public boolean isPackage(ExtendedEventHandler eventHandler, PackageIdentifier packageName)
throws InterruptedException {
SkyKey packageLookupKey = PackageLookupValue.key(packageName);
@@ -205,7 +192,7 @@ public final class GraphBackedRecursivePackageProvider implements RecursivePacka
List<Root> roots = new ArrayList<>();
if (repository.isMain()) {
- roots.addAll(pkgPath.getPathEntries());
+ roots.addAll(getPkgPath().getPathEntries());
} else {
RepositoryDirectoryValue repositoryValue =
(RepositoryDirectoryValue) graph.getValue(RepositoryDirectoryValue.key(repository));
@@ -297,12 +284,6 @@ public final class GraphBackedRecursivePackageProvider implements RecursivePacka
}
}
- @Override
- public Target getTarget(ExtendedEventHandler eventHandler, Label label)
- throws NoSuchPackageException, NoSuchTargetException, InterruptedException {
- return getPackage(eventHandler, label.getPackageIdentifier()).getTarget(label.getName());
- }
-
private static final class TraversalInfo {
private final RootedPath rootedDir;
// Set of blacklisted directories. The graph is assumed to be prepopulated with