aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/pkgcache
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-06-26 19:55:09 +0200
committerGravatar Marcel Hlopko <hlopko@google.com>2017-06-27 10:06:09 +0200
commit77ba65e96a62dfb740f1be844d484abc7f3286af (patch)
treeb155b1168b945812e4a9732b69349036e528e4e3 /src/main/java/com/google/devtools/build/lib/pkgcache
parent00b290c1b6ba1b0815201987dcb48b011c64cbda (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.java15
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();