Improve the name of supportsPlatforms by renaming to useToolchainResolution. PiperOrigin-RevId: 253632079
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/common/BazelFilegroupRule.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/common/BazelFilegroupRule.java index d13ec9f..ca19869 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/common/BazelFilegroupRule.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/common/BazelFilegroupRule.java
@@ -65,10 +65,7 @@ <code>data</code></a> for more information about how to depend on and use data files. </p> <!-- #END_BLAZE_RULE.ATTRIBUTE -->*/ - .add( - attr("data", LABEL_LIST) - .allowedFileTypes(FileTypeSet.ANY_FILE) - .dontCheckConstraints()) + .add(attr("data", LABEL_LIST).allowedFileTypes(FileTypeSet.ANY_FILE).dontCheckConstraints()) .add(attr("output_licenses", LICENSE)) /*<!-- #BLAZE_RULE(filegroup).ATTRIBUTE(path) --> An optional string to set a path to the files in the group, relative to the package path. @@ -81,7 +78,7 @@ attr("path", STRING) .undocumented( "only used to expose FilegroupPathProvider, which is not currently used")) - .supportsPlatforms(false) + .useToolchainResolution(false) .build(); }
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java index 4528501..e8017c27 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java +++ b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
@@ -725,7 +725,7 @@ private final Map<String, Attribute> attributes = new LinkedHashMap<>(); private final Set<Label> requiredToolchains = new HashSet<>(); - private boolean supportsPlatforms = true; + private boolean useToolchainResolution = true; private ExecutionPlatformConstraintsAllowed executionPlatformConstraintsAllowed = ExecutionPlatformConstraintsAllowed.PER_RULE; private Set<Label> executionPlatformConstraints = new HashSet<>(); @@ -761,7 +761,7 @@ supportsConstraintChecking = parent.supportsConstraintChecking; addRequiredToolchains(parent.getRequiredToolchains()); - supportsPlatforms = parent.supportsPlatforms; + useToolchainResolution = parent.useToolchainResolution; // Make sure we use the highest priority value from all parents. executionPlatformConstraintsAllowed( @@ -885,7 +885,7 @@ supportsConstraintChecking, thirdPartyLicenseExistencePolicy, requiredToolchains, - supportsPlatforms, + useToolchainResolution, executionPlatformConstraintsAllowed, executionPlatformConstraints, outputFileKind, @@ -1387,11 +1387,11 @@ } /** - * Rules that support platforms can use toolchains and execution platforms. Rules that are part - * of configuring toolchains and platforms should set this to {@code false}. + * Causes rules to use toolchain resolution to determine the execution platform and toolchains. + * Rules that are part of configuring toolchains and platforms should set this to {@code false}. */ - public Builder supportsPlatforms(boolean flag) { - this.supportsPlatforms = flag; + public Builder useToolchainResolution(boolean flag) { + this.useToolchainResolution = flag; return this; } @@ -1556,7 +1556,7 @@ private final ThirdPartyLicenseExistencePolicy thirdPartyLicenseExistencePolicy; private final ImmutableSet<Label> requiredToolchains; - private final boolean supportsPlatforms; + private final boolean useToolchainResolution; private final ExecutionPlatformConstraintsAllowed executionPlatformConstraintsAllowed; private final ImmutableSet<Label> executionPlatformConstraints; @@ -1611,7 +1611,7 @@ boolean supportsConstraintChecking, ThirdPartyLicenseExistencePolicy thirdPartyLicenseExistencePolicy, Set<Label> requiredToolchains, - boolean supportsPlatforms, + boolean useToolchainResolution, ExecutionPlatformConstraintsAllowed executionPlatformConstraintsAllowed, Set<Label> executionPlatformConstraints, OutputFile.Kind outputFileKind, @@ -1650,7 +1650,7 @@ this.supportsConstraintChecking = supportsConstraintChecking; this.thirdPartyLicenseExistencePolicy = thirdPartyLicenseExistencePolicy; this.requiredToolchains = ImmutableSet.copyOf(requiredToolchains); - this.supportsPlatforms = supportsPlatforms; + this.useToolchainResolution = useToolchainResolution; this.executionPlatformConstraintsAllowed = executionPlatformConstraintsAllowed; this.executionPlatformConstraints = ImmutableSet.copyOf(executionPlatformConstraints); this.buildSetting = buildSetting; @@ -2559,8 +2559,8 @@ return requiredToolchains; } - public boolean supportsPlatforms() { - return supportsPlatforms; + public boolean useToolchainResolution() { + return useToolchainResolution; } public ExecutionPlatformConstraintsAllowed executionPlatformConstraintsAllowed() {
diff --git a/src/main/java/com/google/devtools/build/lib/query2/cquery/ConfiguredTargetAccessor.java b/src/main/java/com/google/devtools/build/lib/query2/cquery/ConfiguredTargetAccessor.java index 8787b59..b296515 100644 --- a/src/main/java/com/google/devtools/build/lib/query2/cquery/ConfiguredTargetAccessor.java +++ b/src/main/java/com/google/devtools/build/lib/query2/cquery/ConfiguredTargetAccessor.java
@@ -216,7 +216,7 @@ } Rule rule = ((Rule) target); - if (!rule.getRuleClassObject().supportsPlatforms()) { + if (!rule.getRuleClassObject().useToolchainResolution()) { return null; }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/Alias.java b/src/main/java/com/google/devtools/build/lib/rules/Alias.java index 1567b7c..5348588 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/Alias.java +++ b/src/main/java/com/google/devtools/build/lib/rules/Alias.java
@@ -74,9 +74,9 @@ .mandatory()) .canHaveAnyProvider() // Aliases themselves do not need toolchains or an execution platform, so this is fine. - // The actual target - // will resolve platforms and toolchains with no issues regardless of this setting. - .supportsPlatforms(false) + // The actual target will resolve platforms and toolchains with no issues regardless of + // this setting. + .useToolchainResolution(false) .build(); }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/LabelBuildSettings.java b/src/main/java/com/google/devtools/build/lib/rules/LabelBuildSettings.java index a816c53..a09c943 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/LabelBuildSettings.java +++ b/src/main/java/com/google/devtools/build/lib/rules/LabelBuildSettings.java
@@ -70,7 +70,7 @@ .add(attr(":alias", LABEL).value(ACTUAL)) .setBuildSetting(new BuildSetting(flag, LABEL)) .canHaveAnyProvider() - .supportsPlatforms(false) + .useToolchainResolution(false) .build(); }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/ToolchainType.java b/src/main/java/com/google/devtools/build/lib/rules/ToolchainType.java index edb1552..597a8cd 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/ToolchainType.java +++ b/src/main/java/com/google/devtools/build/lib/rules/ToolchainType.java
@@ -50,7 +50,7 @@ @Override public RuleClass build(RuleClass.Builder builder, RuleDefinitionEnvironment environment) { return builder - .supportsPlatforms(false) + .useToolchainResolution(false) .removeAttribute("licenses") .removeAttribute("distribs") .build();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/platform/PlatformBaseRule.java b/src/main/java/com/google/devtools/build/lib/rules/platform/PlatformBaseRule.java index 424d537..2ee2827 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/platform/PlatformBaseRule.java +++ b/src/main/java/com/google/devtools/build/lib/rules/platform/PlatformBaseRule.java
@@ -41,7 +41,7 @@ .value(ImmutableList.of("manual")) .nonconfigurable("low-level attribute, used in platform configuration")) .exemptFromConstraintChecking("this rule helps *define* a constraint") - .supportsPlatforms(false) + .useToolchainResolution(false) .removeAttribute("deps") .removeAttribute("data") .build();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/platform/ToolchainRule.java b/src/main/java/com/google/devtools/build/lib/rules/platform/ToolchainRule.java index 5fedc80..c1aa78b 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/platform/ToolchainRule.java +++ b/src/main/java/com/google/devtools/build/lib/rules/platform/ToolchainRule.java
@@ -47,7 +47,7 @@ .removeAttribute("deps") .removeAttribute("data") .exemptFromConstraintChecking("this rule *defines* a constraint") - .supportsPlatforms(false) + .useToolchainResolution(false) /* <!-- #BLAZE_RULE(toolchain).ATTRIBUTE(toolchain_type) --> The label of a <code>toolchain_type</code> target that represents the role that this
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java index 94231f6..d674b5c 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
@@ -448,7 +448,7 @@ return null; } Rule rule = ((Rule) targetAndConfig.getTarget()); - if (!rule.getRuleClassObject().supportsPlatforms()) { + if (!rule.getRuleClassObject().useToolchainResolution()) { return null; } BuildConfiguration configuration = targetAndConfig.getConfiguration();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java index 0351338..634072e 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java
@@ -112,7 +112,7 @@ try { if (configuredTargetAndData.getTarget() instanceof Rule) { Rule rule = ((Rule) configuredTargetAndData.getTarget()); - if (rule.getRuleClassObject().supportsPlatforms()) { + if (rule.getRuleClassObject().useToolchainResolution()) { ImmutableSet<Label> requiredToolchains = rule.getRuleClassObject().getRequiredToolchains();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredExecutionPlatformsFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredExecutionPlatformsFunction.java index 255fe0e..d6b64bd 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredExecutionPlatformsFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredExecutionPlatformsFunction.java
@@ -235,13 +235,9 @@ return true; } - // If the rule requires platforms, it can't be used as a platform. + // If the rule requires platforms or toolchain resolution, it can't be used as a platform. RuleClass ruleClass = target.getAssociatedRule().getRuleClassObject(); - if (ruleClass == null) { - return false; - } - - if (ruleClass.supportsPlatforms()) { + if (ruleClass == null || ruleClass.useToolchainResolution()) { return false; }