commit | b422719f35b1ae5ed5f7f83d05cd778e9c58d793 | [log] [tgz] |
---|---|---|
author | Googler <aiuto@google.com> | Tue Oct 25 12:37:20 2022 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Oct 25 12:39:10 2022 -0700 |
tree | 19c58f74712ad39220975cb28273619be5911058 | |
parent | 527308cd3d965855b5a37ef8c0131165f0b10df5 [diff] |
Make constraint_setting / constraint_value non_configurable. The concept of allowing what is fundamentally a constant to vary by target we are building for is too much to reason about, let along get the code correct. PiperOrigin-RevId: 483748098 Change-Id: I966b7d21ad8d38de9867c870a0669e2123063809
diff --git a/src/main/java/com/google/devtools/build/lib/rules/platform/ConstraintSettingRule.java b/src/main/java/com/google/devtools/build/lib/rules/platform/ConstraintSettingRule.java index fe47d8f..7449ece 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/platform/ConstraintSettingRule.java +++ b/src/main/java/com/google/devtools/build/lib/rules/platform/ConstraintSettingRule.java
@@ -43,7 +43,9 @@ constraint list (such as for a <code>config_setting</code>) that requires a particular value for that setting. <!-- #END_BLAZE_RULE.ATTRIBUTE --> */ - .add(attr(DEFAULT_CONSTRAINT_VALUE_ATTR, BuildType.NODEP_LABEL)) + .add( + attr(DEFAULT_CONSTRAINT_VALUE_ATTR, BuildType.NODEP_LABEL) + .nonconfigurable("constants must be consistent across configurations")) .build(); }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/platform/ConstraintValueRule.java b/src/main/java/com/google/devtools/build/lib/rules/platform/ConstraintValueRule.java index 1a34bff..b716a0a 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/platform/ConstraintValueRule.java +++ b/src/main/java/com/google/devtools/build/lib/rules/platform/ConstraintValueRule.java
@@ -42,7 +42,8 @@ .mandatory() .allowedRuleClasses(ConstraintSettingRule.RULE_NAME) .allowedFileTypes(FileTypeSet.NO_FILE) - .mandatoryProviders(ConstraintSettingInfo.PROVIDER.id())) + .mandatoryProviders(ConstraintSettingInfo.PROVIDER.id()) + .nonconfigurable("constants must be consistent across configurations")) .build(); }