diff options
author | ulfjack <ulfjack@google.com> | 2018-06-06 02:11:36 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-06-06 02:12:51 -0700 |
commit | fbd9e6d46f0578125e75b923c3b63ae8998e64a5 (patch) | |
tree | c5c13b9f2b3d73f6809be2f6a59c4907b1293493 /src/main/java/com/google/devtools/build/lib/pkgcache | |
parent | 0eddd293a269469013af673e3b9c4facdd478e4e (diff) |
Remove CachingPackageLocator interface from the PackageProvider hierarchy
This simplifies the code quite a bit.
PiperOrigin-RevId: 199427943
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/pkgcache')
3 files changed, 4 insertions, 23 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/AbstractRecursivePackageProvider.java b/src/main/java/com/google/devtools/build/lib/pkgcache/AbstractRecursivePackageProvider.java index 4252f1d44c..80cad9fd63 100644 --- a/src/main/java/com/google/devtools/build/lib/pkgcache/AbstractRecursivePackageProvider.java +++ b/src/main/java/com/google/devtools/build/lib/pkgcache/AbstractRecursivePackageProvider.java @@ -14,36 +14,17 @@ package com.google.devtools.build.lib.pkgcache; import com.google.devtools.build.lib.cmdline.Label; -import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.events.ExtendedEventHandler; import com.google.devtools.build.lib.packages.NoSuchPackageException; import com.google.devtools.build.lib.packages.NoSuchTargetException; import com.google.devtools.build.lib.packages.Target; -import com.google.devtools.build.lib.vfs.Path; /** Partial implementation of RecursivePackageProvider to provide some common methods. */ public abstract class AbstractRecursivePackageProvider implements RecursivePackageProvider { - private final PathPackageLocator pkgPath; - - protected AbstractRecursivePackageProvider(PathPackageLocator pkgPath) { - this.pkgPath = pkgPath; - } - - @Override - public Path getBuildFileForPackage(PackageIdentifier packageName) { - try { - return pkgPath.getPackageBuildFile(packageName); - } catch (NoSuchPackageException e) { - return null; - } + protected AbstractRecursivePackageProvider() { } - public PathPackageLocator getPkgPath() { - return pkgPath; - } - - @Override public Target getTarget(ExtendedEventHandler eventHandler, Label label) throws NoSuchPackageException, NoSuchTargetException, InterruptedException { diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/PackageManager.java b/src/main/java/com/google/devtools/build/lib/pkgcache/PackageManager.java index 08761f32be..0bbfae7ced 100644 --- a/src/main/java/com/google/devtools/build/lib/pkgcache/PackageManager.java +++ b/src/main/java/com/google/devtools/build/lib/pkgcache/PackageManager.java @@ -14,13 +14,14 @@ package com.google.devtools.build.lib.pkgcache; import com.google.devtools.build.lib.concurrent.ThreadSafety; +import com.google.devtools.build.lib.packages.CachingPackageLocator; import java.io.PrintStream; /** * A PackageManager keeps state about loaded packages around for quick lookup, and provides related * functionality: Recursive package finding, loaded package checking, etc. */ -public interface PackageManager extends PackageProvider { +public interface PackageManager extends PackageProvider, CachingPackageLocator { PackageManagerStatistics getAndClearStatistics(); /** diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/PackageProvider.java b/src/main/java/com/google/devtools/build/lib/pkgcache/PackageProvider.java index f42ea3dd9e..e04a7c6f5f 100644 --- a/src/main/java/com/google/devtools/build/lib/pkgcache/PackageProvider.java +++ b/src/main/java/com/google/devtools/build/lib/pkgcache/PackageProvider.java @@ -16,7 +16,6 @@ package com.google.devtools.build.lib.pkgcache; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.events.ExtendedEventHandler; -import com.google.devtools.build.lib.packages.CachingPackageLocator; import com.google.devtools.build.lib.packages.NoSuchPackageException; import com.google.devtools.build.lib.packages.Package; @@ -25,7 +24,7 @@ import com.google.devtools.build.lib.packages.Package; * * <p><b>Concurrency</b>: Implementations should be thread safe for {@link #getPackage}. */ -public interface PackageProvider extends TargetProvider, CachingPackageLocator { +public interface PackageProvider extends TargetProvider { /** * Returns the {@link Package} named "packageName". If there is no such package (e.g. {@code |