aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/GraphBackedRecursivePackageProvider.java
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2015-09-22 07:40:24 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2015-09-22 17:07:18 +0000
commitd72db8db34ea76a7939138d02c258035699b1f1c (patch)
treeeecae3f2ab5bc5ec73024b68d85c315cd6a1fbc9 /src/main/java/com/google/devtools/build/lib/skyframe/GraphBackedRecursivePackageProvider.java
parentdfd3497c572f8710ad228ac35fda9f8053f004b4 (diff)
Thread the repository name all the way from TargetPatternResolver to RecursivePkgFunction.
This introduces some redundancy with RootedPath, but only in the case of remote repositories. There doesn't seem to be a good way of removing this redundancy. -- MOS_MIGRATED_REVID=103621610
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.java15
1 files changed, 9 insertions, 6 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 5c1cc7d9dd..2d1b1de6c0 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
@@ -19,6 +19,7 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
+import com.google.devtools.build.lib.cmdline.PackageIdentifier.RepositoryName;
import com.google.devtools.build.lib.cmdline.TargetPattern;
import com.google.devtools.build.lib.cmdline.TargetPattern.Type;
import com.google.devtools.build.lib.events.Event;
@@ -98,7 +99,8 @@ public final class GraphBackedRecursivePackageProvider implements RecursivePacka
}
@Override
- public Iterable<PathFragment> getPackagesUnderDirectory(RootedPath directory,
+ public Iterable<PathFragment> getPackagesUnderDirectory(
+ RepositoryName repository, RootedPath directory,
ImmutableSet<PathFragment> excludedSubdirectories) {
PathFragment.checkAllPathsAreUnder(excludedSubdirectories, directory.getRelativePath());
@@ -120,16 +122,17 @@ public final class GraphBackedRecursivePackageProvider implements RecursivePacka
// directory wasn't in the universe, so return an empty list.
ImmutableList.Builder<PathFragment> builder = ImmutableList.builder();
if (filteringPolicy != null) {
- collectPackagesUnder(directory, excludedSubdirectories, builder, filteringPolicy);
+ collectPackagesUnder(repository, directory, excludedSubdirectories, builder, filteringPolicy);
}
return builder.build();
}
- private void collectPackagesUnder(RootedPath directory,
+ private void collectPackagesUnder(RepositoryName repository, RootedPath directory,
ImmutableSet<PathFragment> excludedSubdirectories,
ImmutableList.Builder<PathFragment> builder, FilteringPolicy policy) {
SkyKey key =
- PrepareDepsOfTargetsUnderDirectoryValue.key(directory, excludedSubdirectories, policy);
+ PrepareDepsOfTargetsUnderDirectoryValue.key(
+ repository, directory, excludedSubdirectories, policy);
// If the key does not exist in the graph, because the SkyQuery environment has
// already loaded the universe, and we found a TargetsBelowDirectory pattern in the universe
// that contained it, then we know the directory does not exist in the universe.
@@ -151,8 +154,8 @@ public final class GraphBackedRecursivePackageProvider implements RecursivePacka
PathFragment subdirectoryRelativePath = subdirectory.getRelativePath();
ImmutableSet<PathFragment> excludedSubdirectoriesBeneathThisSubdirectory =
PathFragment.filterPathsStartingWith(excludedSubdirectories, subdirectoryRelativePath);
- collectPackagesUnder(subdirectory, excludedSubdirectoriesBeneathThisSubdirectory, builder,
- policy);
+ collectPackagesUnder(repository, subdirectory,
+ excludedSubdirectoriesBeneathThisSubdirectory, builder, policy);
}
}
}