diff options
author | 2017-11-10 00:12:55 +0100 | |
---|---|---|
committer | 2017-11-10 23:27:41 +0100 | |
commit | d92053661c687bf8d342b6030b8c7427e7c4139b (patch) | |
tree | 5062a671077a1c8db36463c0a840f0b68e18ea6c /src/main/java/com/google/devtools/build/lib | |
parent | cf2a88d224f4372469ab9f2e90f8619d5e25bf91 (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.java | 9 |
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) { |