diff options
author | Lukacs Berki <lberki@google.com> | 2015-09-22 07:58:20 +0000 |
---|---|---|
committer | Laszlo Csomor <laszlocsomor@google.com> | 2015-09-22 17:07:30 +0000 |
commit | 10e3b2b22b830f741440deef64f74e3066bc207f (patch) | |
tree | dd08c42a97a8266db80ec9e016c2aada2fd04f9f /src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternFunction.java | |
parent | d72db8db34ea76a7939138d02c258035699b1f1c (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.java | 19 |
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 |