From 9f74dfbc7aba8e455150f8eba4b616c56467e598 Mon Sep 17 00:00:00 2001 From: Lukacs Berki Date: Fri, 11 Nov 2016 10:00:53 +0000 Subject: Implement build tag filtering. If the --build_tag_filters option is specified, targets built will be filtered according to their tags (at least one included, none excluded) -- MOS_MIGRATED_REVID=138856195 --- .../build/lib/skyframe/TargetPatternPhaseValue.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseValue.java') diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseValue.java index ca8881386f..7238ddbb94 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseValue.java @@ -24,12 +24,10 @@ import com.google.devtools.build.lib.pkgcache.TestFilter; import com.google.devtools.build.lib.util.Preconditions; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; - import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.Objects; - import javax.annotation.Nullable; /** @@ -131,6 +129,7 @@ public final class TargetPatternPhaseValue implements SkyValue { @ThreadSafe public static SkyKey key(ImmutableList targetPatterns, String offset, boolean compileOneDependency, boolean buildTestsOnly, boolean determineTests, + ImmutableList buildTargetFilter, @Nullable TestFilter testFilter) { return SkyKey.create( SkyFunctions.TARGET_PATTERN_PHASE, @@ -140,6 +139,7 @@ public final class TargetPatternPhaseValue implements SkyValue { compileOneDependency, buildTestsOnly, determineTests, + buildTargetFilter, testFilter)); } @@ -154,16 +154,18 @@ public final class TargetPatternPhaseValue implements SkyValue { private final boolean compileOneDependency; private final boolean buildTestsOnly; private final boolean determineTests; + private final ImmutableList buildTargetFilter; @Nullable private final TestFilter testFilter; public TargetPatternList(ImmutableList targetPatterns, String offset, boolean compileOneDependency, boolean buildTestsOnly, boolean determineTests, - @Nullable TestFilter testFilter) { + ImmutableList buildTargetFilter, @Nullable TestFilter testFilter) { this.targetPatterns = Preconditions.checkNotNull(targetPatterns); this.offset = Preconditions.checkNotNull(offset); this.compileOneDependency = compileOneDependency; this.buildTestsOnly = buildTestsOnly; this.determineTests = determineTests; + this.buildTargetFilter = Preconditions.checkNotNull(buildTargetFilter); this.testFilter = testFilter; if (buildTestsOnly || determineTests) { Preconditions.checkNotNull(testFilter); @@ -190,6 +192,10 @@ public final class TargetPatternPhaseValue implements SkyValue { return determineTests; } + public ImmutableList getBuildTargetFilter() { + return buildTargetFilter; + } + public TestFilter getTestFilter() { return testFilter; } @@ -228,6 +234,7 @@ public final class TargetPatternPhaseValue implements SkyValue { && other.compileOneDependency == compileOneDependency && other.buildTestsOnly == buildTestsOnly && other.determineTests == determineTests + && other.buildTargetFilter.equals(buildTargetFilter) && Objects.equals(other.testFilter, testFilter); } } -- cgit v1.2.3