diff options
author | 2017-06-26 19:55:09 +0200 | |
---|---|---|
committer | 2017-06-27 10:06:09 +0200 | |
commit | 77ba65e96a62dfb740f1be844d484abc7f3286af (patch) | |
tree | b155b1168b945812e4a9732b69349036e528e4e3 /src/main/java/com/google/devtools/build/lib/pkgcache | |
parent | 00b290c1b6ba1b0815201987dcb48b011c64cbda (diff) |
Refactor SkyQueryEnvironment to allow preprocessing or postprocessing targets
Refactor SkyQueryEnvironment and a few other query helpers to make it easier to
work with targets.
RELNOTES: None
PiperOrigin-RevId: 160165398
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/pkgcache')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/pkgcache/TargetPatternResolverUtil.java | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/TargetPatternResolverUtil.java b/src/main/java/com/google/devtools/build/lib/pkgcache/TargetPatternResolverUtil.java index 84a1fc7e73..99436907e6 100644 --- a/src/main/java/com/google/devtools/build/lib/pkgcache/TargetPatternResolverUtil.java +++ b/src/main/java/com/google/devtools/build/lib/pkgcache/TargetPatternResolverUtil.java @@ -13,6 +13,8 @@ // limitations under the License. package com.google.devtools.build.lib.pkgcache; +import com.google.common.base.Function; +import com.google.common.base.Functions; import com.google.devtools.build.lib.cmdline.LabelValidator; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.cmdline.ResolvedTargets; @@ -26,6 +28,9 @@ import com.google.devtools.build.lib.vfs.PathFragment; * Common utility methods for target pattern resolution. */ public final class TargetPatternResolverUtil { + + private static final Function<Target, Target> KEEP_ORIGINAL_TARGET = Functions.identity(); + private TargetPatternResolverUtil() { // Utility class. } @@ -38,12 +43,16 @@ public final class TargetPatternResolverUtil { } } - public static ResolvedTargets<Target> resolvePackageTargets(Package pkg, - FilteringPolicy policy) { + public static ResolvedTargets<Target> resolvePackageTargets(Package pkg, FilteringPolicy policy) { + return resolvePackageTargets(pkg, policy, KEEP_ORIGINAL_TARGET); + } + + public static ResolvedTargets<Target> resolvePackageTargets( + Package pkg, FilteringPolicy policy, Function<Target, Target> convertTarget) { ResolvedTargets.Builder<Target> builder = ResolvedTargets.builder(); for (Target target : pkg.getTargets().values()) { if (policy.shouldRetain(target, false)) { - builder.add(target); + builder.add(convertTarget.apply(target)); } } return builder.build(); |