diff options
author | juliexxia <juliexxia@google.com> | 2018-05-03 11:09:52 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-05-03 11:11:18 -0700 |
commit | 42025b2dfb8319d90b4a5566ab583084cfcb2de8 (patch) | |
tree | c00da6578342684654174a39f1fe8cd381da8832 /src/main/java/com/google/devtools/build/lib/skyframe/GraphBackedRecursivePackageProvider.java | |
parent | 07bd86df11d00a56466fa9bf3f1220d2429cfab7 (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.java | 27 |
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 |