Change host transitions to execution transitions in common attributes.
PiperOrigin-RevId: 419573175
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/Allowlist.java b/src/main/java/com/google/devtools/build/lib/analysis/Allowlist.java
index ff40410..3553f90 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/Allowlist.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/Allowlist.java
@@ -21,7 +21,7 @@
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
-import com.google.devtools.build.lib.analysis.config.HostTransition;
+import com.google.devtools.build.lib.analysis.config.ExecutionTransitionFactory;
import com.google.devtools.build.lib.analysis.configuredtargets.PackageGroupConfiguredTarget;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
@@ -50,7 +50,7 @@
public static Attribute.Builder<Label> getAttributeFromAllowlistName(String allowlistName) {
String attributeName = getAttributeNameFromAllowlistName(allowlistName).iterator().next();
return attr(attributeName, LABEL)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.mandatoryProviders(PackageGroupConfiguredTarget.PROVIDER.id());
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java b/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
index 1b7fb7e..5d0db40 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
@@ -30,6 +30,7 @@
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.analysis.config.BuildConfigurationValue;
+import com.google.devtools.build.lib.analysis.config.ExecutionTransitionFactory;
import com.google.devtools.build.lib.analysis.config.HostTransition;
import com.google.devtools.build.lib.analysis.config.RunUnder;
import com.google.devtools.build.lib.analysis.constraints.ConstraintConstants;
@@ -220,31 +221,31 @@
// Input files for every test action
.add(
attr("$test_wrapper", LABEL)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.singleArtifact()
.value(env.getToolsLabel("//tools/test:test_wrapper")))
.add(
attr("$xml_writer", LABEL)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.singleArtifact()
.value(env.getToolsLabel("//tools/test:xml_writer")))
.add(
attr("$test_runtime", LABEL_LIST)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.value(getTestRuntimeLabelList(env)))
.add(
attr("$test_setup_script", LABEL)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.singleArtifact()
.value(env.getToolsLabel("//tools/test:test_setup")))
.add(
attr("$xml_generator_script", LABEL)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.singleArtifact()
.value(env.getToolsLabel("//tools/test:test_xml_generator")))
.add(
attr("$collect_coverage_script", LABEL)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.singleArtifact()
.value(env.getToolsLabel("//tools/test:collect_coverage")))
// Input files for test actions collecting code coverage
@@ -255,7 +256,7 @@
// Used in the one-per-build coverage report generation action.
.add(
attr(":coverage_report_generator", LABEL)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.value(
coverageReportGeneratorAttribute(
env.getToolsLabel(DEFAULT_COVERAGE_REPORT_GENERATOR_VALUE))))
@@ -315,7 +316,7 @@
.add(
attr("visibility", NODEP_LABEL_LIST)
.orderIndependent()
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.nonconfigurable(
"special attribute integrated more deeply into Bazel's core logic"))
.add(
@@ -355,7 +356,7 @@
.add(
attr(RuleClass.COMPATIBLE_ENVIRONMENT_ATTR, LABEL_LIST)
.allowedRuleClasses(ConstraintConstants.ENVIRONMENT_RULE)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.allowedFileTypes(FileTypeSet.NO_FILE)
.dontCheckConstraints()
.nonconfigurable(
@@ -363,7 +364,7 @@
.add(
attr(RuleClass.RESTRICTED_ENVIRONMENT_ATTR, LABEL_LIST)
.allowedRuleClasses(ConstraintConstants.ENVIRONMENT_RULE)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.allowedFileTypes(FileTypeSet.NO_FILE)
.dontCheckConstraints()
.nonconfigurable(
@@ -373,7 +374,7 @@
.nonconfigurable("stores configurability keys"))
.add(
attr(RuleClass.APPLICABLE_LICENSES_ATTR, LABEL_LIST)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.allowedFileTypes(FileTypeSet.NO_FILE)
// TODO(b/148601291): Require provider to be "LicenseInfo".
.dontCheckConstraints()
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkRuleClassFunctions.java b/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkRuleClassFunctions.java
index c736c88..9c38cce 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkRuleClassFunctions.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkRuleClassFunctions.java
@@ -40,6 +40,7 @@
import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment;
import com.google.devtools.build.lib.analysis.TemplateVariableInfo;
import com.google.devtools.build.lib.analysis.config.ConfigAwareRuleClassBuilder;
+import com.google.devtools.build.lib.analysis.config.ExecutionTransitionFactory;
import com.google.devtools.build.lib.analysis.config.HostTransition;
import com.google.devtools.build.lib.analysis.config.StarlarkDefinedConfigTransition;
import com.google.devtools.build.lib.analysis.config.transitions.PatchTransition;
@@ -213,39 +214,39 @@
// Input files for every test action
.add(
attr("$test_wrapper", LABEL)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.singleArtifact()
.value(labelCache.get(toolsRepository + "//tools/test:test_wrapper")))
.add(
attr("$xml_writer", LABEL)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.singleArtifact()
.value(labelCache.get(toolsRepository + "//tools/test:xml_writer")))
.add(
attr("$test_runtime", LABEL_LIST)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
// Getting this default value through the getTestRuntimeLabelList helper ensures
// we reuse the same ImmutableList<Label> instance for each $test_runtime attr.
.value(getTestRuntimeLabelList(env)))
.add(
attr("$test_setup_script", LABEL)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.singleArtifact()
.value(labelCache.get(toolsRepository + "//tools/test:test_setup")))
.add(
attr("$xml_generator_script", LABEL)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.singleArtifact()
.value(labelCache.get(toolsRepository + "//tools/test:test_xml_generator")))
.add(
attr("$collect_coverage_script", LABEL)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.singleArtifact()
.value(labelCache.get(toolsRepository + "//tools/test:collect_coverage")))
// Input files for test actions collecting code coverage
.add(
attr(":coverage_support", LABEL)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.value(
BaseRuleClasses.coverageSupportAttribute(
labelCache.get(
@@ -253,7 +254,7 @@
// Used in the one-per-build coverage report generation action.
.add(
attr(":coverage_report_generator", LABEL)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.value(
BaseRuleClasses.coverageReportGeneratorAttribute(
labelCache.get(
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java b/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
index 983019d..8fbf234 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
@@ -29,7 +29,7 @@
import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictException;
import com.google.devtools.build.lib.actions.util.ActionsTestUtil;
import com.google.devtools.build.lib.actions.util.ActionsTestUtil.NullAction;
-import com.google.devtools.build.lib.analysis.config.HostTransition;
+import com.google.devtools.build.lib.analysis.config.ExecutionTransitionFactory;
import com.google.devtools.build.lib.analysis.test.InstrumentedFilesInfo;
import com.google.devtools.build.lib.analysis.util.AnalysisTestCase;
import com.google.devtools.build.lib.analysis.util.MockRule;
@@ -516,7 +516,7 @@
.aspect(AspectThatRegistersAction.INSTANCE))
.add(
attr(":action_listener", LABEL_LIST)
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.value(ACTION_LISTENER)));
public static class AspectThatRegistersAction extends NativeAspectClass
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BUILD b/src/test/java/com/google/devtools/build/lib/analysis/util/BUILD
index b9229ba..08ec507 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BUILD
@@ -48,10 +48,10 @@
"//src/main/java/com/google/devtools/build/lib/analysis:config/config_conditions",
"//src/main/java/com/google/devtools/build/lib/analysis:config/config_matching_provider",
"//src/main/java/com/google/devtools/build/lib/analysis:config/core_option_converters",
+ "//src/main/java/com/google/devtools/build/lib/analysis:config/execution_transition_factory",
"//src/main/java/com/google/devtools/build/lib/analysis:config/fragment",
"//src/main/java/com/google/devtools/build/lib/analysis:config/fragment_factory",
"//src/main/java/com/google/devtools/build/lib/analysis:config/fragment_options",
- "//src/main/java/com/google/devtools/build/lib/analysis:config/host_transition",
"//src/main/java/com/google/devtools/build/lib/analysis:config/invalid_configuration_exception",
"//src/main/java/com/google/devtools/build/lib/analysis:config/transitions/configuration_transition",
"//src/main/java/com/google/devtools/build/lib/analysis:config/transitions/no_transition",
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/MockRuleDefaults.java b/src/test/java/com/google/devtools/build/lib/analysis/util/MockRuleDefaults.java
index bf27522..adf3ab3 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/MockRuleDefaults.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/MockRuleDefaults.java
@@ -30,7 +30,7 @@
import com.google.devtools.build.lib.analysis.Runfiles;
import com.google.devtools.build.lib.analysis.RunfilesProvider;
import com.google.devtools.build.lib.analysis.actions.FileWriteAction;
-import com.google.devtools.build.lib.analysis.config.HostTransition;
+import com.google.devtools.build.lib.analysis.config.ExecutionTransitionFactory;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.collect.nestedset.Order;
@@ -63,7 +63,7 @@
attr("tags", STRING_LIST).nonconfigurable("test"),
attr("visibility", NODEP_LABEL_LIST)
.orderIndependent()
- .cfg(HostTransition.createFactory())
+ .cfg(ExecutionTransitionFactory.create())
.nonconfigurable("test"),
attr(RuleClass.COMPATIBLE_ENVIRONMENT_ATTR, LABEL_LIST)
.allowedFileTypes(FileTypeSet.NO_FILE)