aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternFunction.java
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2015-09-22 07:58:20 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2015-09-22 17:07:30 +0000
commit10e3b2b22b830f741440deef64f74e3066bc207f (patch)
treedd08c42a97a8266db80ec9e016c2aada2fd04f9f /src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternFunction.java
parentd72db8db34ea76a7939138d02c258035699b1f1c (diff)
Make TargetPatternResolver#{isPackage, getTargetsInPackage} take a PackageIdentifier instead of a String.
This remarkably fiddly CL is a step towards making wildcards pattern work with remote repositories. I originally wanted to refactor findTargetsBeneathDirectory(), too, but it turns out that it's a much more complicated affair. -- MOS_MIGRATED_REVID=103622420
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternFunction.java19
1 files changed, 7 insertions, 12 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternFunction.java
index b116595dae..a48117f757 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternFunction.java
@@ -160,20 +160,18 @@ public class PrepareDepsOfPatternFunction implements SkyFunction {
}
@Override
- public ResolvedTargets<Void> getTargetsInPackage(String originalPattern, String packageName,
- boolean rulesOnly) throws TargetParsingException {
+ public ResolvedTargets<Void> getTargetsInPackage(String originalPattern,
+ PackageIdentifier packageIdentifier, boolean rulesOnly) throws TargetParsingException {
FilteringPolicy policy =
rulesOnly ? FilteringPolicies.RULES_ONLY : FilteringPolicies.NO_FILTER;
- return getTargetsInPackage(originalPattern, new PathFragment(packageName), policy);
+ return getTargetsInPackage(originalPattern, packageIdentifier, policy);
}
private ResolvedTargets<Void> getTargetsInPackage(String originalPattern,
- PathFragment packageNameFragment, FilteringPolicy policy)
+ PackageIdentifier packageIdentifier, FilteringPolicy policy)
throws TargetParsingException {
- TargetPatternResolverUtil.validatePatternPackage(originalPattern, packageNameFragment, this);
try {
- PackageIdentifier packageId = PackageIdentifier.createInDefaultRepo(packageNameFragment);
- Package pkg = packageProvider.getPackage(env.getListener(), packageId);
+ Package pkg = packageProvider.getPackage(env.getListener(), packageIdentifier);
ResolvedTargets<Target> packageTargets =
TargetPatternResolverUtil.resolvePackageTargets(pkg, policy);
ImmutableList.Builder<SkyKey> builder = ImmutableList.builder();
@@ -194,11 +192,8 @@ public class PrepareDepsOfPatternFunction implements SkyFunction {
}
@Override
- public boolean isPackage(String packageName) {
- // TODO(bazel-team): this should get the whole PackageIdentifier. Using only the package name
- // makes it impossible to use wildcards to refer to targets in remote repositories.
- return packageProvider.isPackage(env.getListener(),
- PackageIdentifier.createInDefaultRepo(packageName));
+ public boolean isPackage(PackageIdentifier packageIdentifier) {
+ return packageProvider.isPackage(env.getListener(), packageIdentifier);
}
@Override