aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
authorGravatar John Cater <jcater@google.com>2017-11-10 00:12:55 +0100
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-11-10 23:27:41 +0100
commitd92053661c687bf8d342b6030b8c7427e7c4139b (patch)
tree5062a671077a1c8db36463c0a840f0b68e18ea6c /src/main/java/com/google/devtools/build/lib
parentcf2a88d224f4372469ab9f2e90f8619d5e25bf91 (diff)
Fix TopLevelConstraintSemantics to ignore targets that explicitly ignore constraint checking.
Fixes #4042. Change-Id: I9461c004ab1aab8ca7a0ad515e8a9f24c8a489a5 PiperOrigin-RevId: 175219823
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/constraints/TopLevelConstraintSemantics.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/constraints/TopLevelConstraintSemantics.java b/src/main/java/com/google/devtools/build/lib/analysis/constraints/TopLevelConstraintSemantics.java
index 81ffb6e100..aa68bed1e9 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/constraints/TopLevelConstraintSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/constraints/TopLevelConstraintSemantics.java
@@ -119,6 +119,15 @@ public class TopLevelConstraintSemantics {
}
EnvironmentCollection expectedEnvironments = builder.build();
+ // If this target doesn't participate in constraints, ignore it.
+ if (!topLevelTarget
+ .getTarget()
+ .getAssociatedRule()
+ .getRuleClassObject()
+ .supportsConstraintChecking()) {
+ continue;
+ }
+
// Now check the target against those environments.
TransitiveInfoCollection asProvider;
if (topLevelTarget instanceof OutputFileConfiguredTarget) {