Move DEFAULT_EXEC_GROUP_NAME from ToolchainCollection to ExecGroup.

PiperOrigin-RevId: 372342837
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BUILD b/src/main/java/com/google/devtools/build/lib/analysis/BUILD
index f26e0dc..d7d39da 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BUILD
@@ -761,6 +761,7 @@
     deps = [
         "toolchain_collection",
         "//src/main/java/com/google/devtools/build/lib/packages",
+        "//src/main/java/com/google/devtools/build/lib/packages:exec_group",
         "//third_party:auto_value",
         "//third_party:guava",
         "//third_party:jsr305",
@@ -1075,6 +1076,7 @@
         ":toolchain_context",
         "//src/main/java/com/google/devtools/build/lib/analysis/platform",
         "//src/main/java/com/google/devtools/build/lib/cmdline",
+        "//src/main/java/com/google/devtools/build/lib/packages:exec_group",
         "//third_party:auto_value",
         "//third_party:guava",
     ],
@@ -1687,10 +1689,10 @@
         ":config/transitions/patch_transition",
         ":config/transitions/transition_factory",
         ":platform_options",
-        ":toolchain_collection",
         "//src/main/java/com/google/devtools/build/lib/cmdline",
         "//src/main/java/com/google/devtools/build/lib/events",
         "//src/main/java/com/google/devtools/build/lib/packages",
+        "//src/main/java/com/google/devtools/build/lib/packages:exec_group",
         "//src/main/java/com/google/devtools/build/lib/rules/config:feature_flag_value",
         "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
         "//third_party:guava",
@@ -2190,6 +2192,7 @@
         ":resolved_toolchain_context",
         ":starlark/starlark_toolchain_context",
         ":toolchain_collection",
+        "//src/main/java/com/google/devtools/build/lib/packages:exec_group",
         "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform",
         "//src/main/java/net/starlark/java/eval",
         "//src/main/java/net/starlark/java/syntax",
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/DependencyKind.java b/src/main/java/com/google/devtools/build/lib/analysis/DependencyKind.java
index 6227f23..99a3dbf 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/DependencyKind.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/DependencyKind.java
@@ -17,6 +17,7 @@
 import com.google.common.base.Preconditions;
 import com.google.devtools.build.lib.packages.AspectClass;
 import com.google.devtools.build.lib.packages.Attribute;
+import com.google.devtools.build.lib.packages.ExecGroup;
 import javax.annotation.Nullable;
 
 /**
@@ -97,7 +98,7 @@
 
   /** Returns a {@link DependencyKind} for the given execution group. */
   static DependencyKind forExecGroup(String execGroupName) {
-    if (ToolchainCollection.DEFAULT_EXEC_GROUP_NAME.equals(execGroupName)) {
+    if (ExecGroup.DEFAULT_EXEC_GROUP_NAME.equals(execGroupName)) {
       return defaultExecGroupToolchain();
     }
     return new AutoValue_DependencyKind_ToolchainDependencyKind(execGroupName, false);
@@ -106,7 +107,7 @@
   /** Returns a {@link DependencyKind} for the default execution group. */
   static DependencyKind defaultExecGroupToolchain() {
     return new AutoValue_DependencyKind_ToolchainDependencyKind(
-        ToolchainCollection.DEFAULT_EXEC_GROUP_NAME, true);
+        ExecGroup.DEFAULT_EXEC_GROUP_NAME, true);
   }
 
   /** Predicate to check if a dependency represents a toolchain. */
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
index 12f82d6..dcd3671 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -15,7 +15,7 @@
 package com.google.devtools.build.lib.analysis;
 
 import static com.google.common.base.MoreObjects.firstNonNull;
-import static com.google.devtools.build.lib.analysis.ToolchainCollection.DEFAULT_EXEC_GROUP_NAME;
+import static com.google.devtools.build.lib.packages.ExecGroup.DEFAULT_EXEC_GROUP_NAME;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Joiner;
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ToolchainCollection.java b/src/main/java/com/google/devtools/build/lib/analysis/ToolchainCollection.java
index a7457f8..5961ca7 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ToolchainCollection.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ToolchainCollection.java
@@ -16,12 +16,12 @@
 import static com.google.common.collect.ImmutableSet.toImmutableSet;
 
 import com.google.auto.value.AutoValue;
-import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 import com.google.devtools.build.lib.analysis.platform.PlatformInfo;
 import com.google.devtools.build.lib.cmdline.Label;
+import com.google.devtools.build.lib.packages.ExecGroup;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -34,15 +34,11 @@
 @AutoValue
 public abstract class ToolchainCollection<T extends ToolchainContext> {
 
-  // This is intentionally a string that would fail {@code Identifier.isValid} so that
-  // users can't create a group with the same name.
-  @VisibleForTesting public static final String DEFAULT_EXEC_GROUP_NAME = "default-exec-group";
-
   /** A map of execution group names to toolchain contexts. */
   public abstract ImmutableMap<String, T> getContextMap();
 
   public T getDefaultToolchainContext() {
-    return getContextMap().get(DEFAULT_EXEC_GROUP_NAME);
+    return getContextMap().get(ExecGroup.DEFAULT_EXEC_GROUP_NAME);
   }
 
   public boolean hasToolchainContext(String execGroup) {
@@ -87,7 +83,7 @@
     private final Map<String, T> toolchainContexts = new HashMap<>();
 
     public ToolchainCollection<T> build() {
-      Preconditions.checkArgument(toolchainContexts.containsKey(DEFAULT_EXEC_GROUP_NAME));
+      Preconditions.checkArgument(toolchainContexts.containsKey(ExecGroup.DEFAULT_EXEC_GROUP_NAME));
       return new AutoValue_ToolchainCollection<T>(ImmutableMap.copyOf(toolchainContexts));
     }
 
@@ -100,7 +96,7 @@
     }
 
     public Builder<T> addDefaultContext(T context) {
-      addContext(DEFAULT_EXEC_GROUP_NAME, context);
+      addContext(ExecGroup.DEFAULT_EXEC_GROUP_NAME, context);
       return this;
     }
   }
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
index 7d86c38..07920aa 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
@@ -14,7 +14,7 @@
 
 package com.google.devtools.build.lib.analysis.actions;
 
-import static com.google.devtools.build.lib.analysis.ToolchainCollection.DEFAULT_EXEC_GROUP_NAME;
+import static com.google.devtools.build.lib.packages.ExecGroup.DEFAULT_EXEC_GROUP_NAME;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.CharMatcher;
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/ExecutionTransitionFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/config/ExecutionTransitionFactory.java
index 54c0756..94aa521 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/ExecutionTransitionFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/ExecutionTransitionFactory.java
@@ -15,7 +15,7 @@
 package com.google.devtools.build.lib.analysis.config;
 
 import static com.google.common.collect.ImmutableList.toImmutableList;
-import static com.google.devtools.build.lib.analysis.ToolchainCollection.DEFAULT_EXEC_GROUP_NAME;
+import static com.google.devtools.build.lib.packages.ExecGroup.DEFAULT_EXEC_GROUP_NAME;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkExecGroupCollection.java b/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkExecGroupCollection.java
index 1c8e45f..506d9e5 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkExecGroupCollection.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkExecGroupCollection.java
@@ -13,7 +13,7 @@
 // limitations under the License.
 package com.google.devtools.build.lib.analysis.starlark;
 
-import static com.google.devtools.build.lib.analysis.ToolchainCollection.DEFAULT_EXEC_GROUP_NAME;
+import static com.google.devtools.build.lib.packages.ExecGroup.DEFAULT_EXEC_GROUP_NAME;
 
 import com.google.auto.value.AutoValue;
 import com.google.common.annotations.VisibleForTesting;
diff --git a/src/main/java/com/google/devtools/build/lib/packages/BUILD b/src/main/java/com/google/devtools/build/lib/packages/BUILD
index 3683d0f..ff5a867 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/packages/BUILD
@@ -75,7 +75,6 @@
         "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
         "//third_party:auto_value",
         "//third_party:guava",
-        "//third_party:jsr305",
     ],
 )
 
diff --git a/src/main/java/com/google/devtools/build/lib/packages/ExecGroup.java b/src/main/java/com/google/devtools/build/lib/packages/ExecGroup.java
index 18d156f..f91c32a 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/ExecGroup.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/ExecGroup.java
@@ -15,6 +15,7 @@
 package com.google.devtools.build.lib.packages;
 
 import com.google.auto.value.AutoValue;
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.ImmutableSet;
 import com.google.devtools.build.lib.cmdline.Label;
 import com.google.devtools.build.lib.starlarkbuildapi.ExecGroupApi;
@@ -28,6 +29,10 @@
   public static final ExecGroup COPY_FROM_RULE_EXEC_GROUP =
       createCopied(ImmutableSet.of(), ImmutableSet.of());
 
+  // This is intentionally a string that would fail {@code Identifier.isValid} so that
+  // users can't create a group with the same name.
+  @VisibleForTesting public static final String DEFAULT_EXEC_GROUP_NAME = "default-exec-group";
+
   // Create an exec group that is marked as copying from the rule.
   public static ExecGroup createCopied(
       Set<Label> requiredToolchains, Set<Label> execCompatibleWith) {
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/BUILD b/src/test/java/com/google/devtools/build/lib/analysis/BUILD
index 730ac2a..de310df 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/analysis/BUILD
@@ -103,7 +103,6 @@
         "//src/main/java/com/google/devtools/build/lib/analysis:test/analysis_failure_info",
         "//src/main/java/com/google/devtools/build/lib/analysis:test/test_configuration",
         "//src/main/java/com/google/devtools/build/lib/analysis:test/test_trimming_transition_factory",
-        "//src/main/java/com/google/devtools/build/lib/analysis:toolchain_collection",
         "//src/main/java/com/google/devtools/build/lib/analysis:top_level_artifact_context",
         "//src/main/java/com/google/devtools/build/lib/analysis:transitive_info_collection",
         "//src/main/java/com/google/devtools/build/lib/analysis:transitive_info_provider",
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/StarlarkExecGroupTest.java b/src/test/java/com/google/devtools/build/lib/analysis/StarlarkExecGroupTest.java
index b5ff8bc..86df608 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/StarlarkExecGroupTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/StarlarkExecGroupTest.java
@@ -15,7 +15,7 @@
 package com.google.devtools.build.lib.analysis;
 
 import static com.google.common.truth.Truth.assertThat;
-import static com.google.devtools.build.lib.analysis.ToolchainCollection.DEFAULT_EXEC_GROUP_NAME;
+import static com.google.devtools.build.lib.packages.ExecGroup.DEFAULT_EXEC_GROUP_NAME;
 
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/testing/BUILD b/src/test/java/com/google/devtools/build/lib/analysis/testing/BUILD
index c2018de..2892754 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/testing/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/analysis/testing/BUILD
@@ -28,6 +28,7 @@
         "//src/main/java/com/google/devtools/build/lib/analysis/platform",
         "//src/main/java/com/google/devtools/build/lib/cmdline",
         "//src/main/java/com/google/devtools/build/lib/cmdline:cmdline-primitives",
+        "//src/main/java/com/google/devtools/build/lib/packages:exec_group",
         "//src/main/java/net/starlark/java/eval",
         "//third_party:guava",
         "//third_party:truth",
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/testing/ToolchainCollectionSubject.java b/src/test/java/com/google/devtools/build/lib/analysis/testing/ToolchainCollectionSubject.java
index 83da8fb..088ec55 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/testing/ToolchainCollectionSubject.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/testing/ToolchainCollectionSubject.java
@@ -20,6 +20,7 @@
 import com.google.common.truth.IterableSubject;
 import com.google.common.truth.Subject;
 import com.google.devtools.build.lib.analysis.ToolchainCollection;
+import com.google.devtools.build.lib.packages.ExecGroup;
 
 /** A Truth {@link Subject} for {@link ToolchainCollection}. */
 public class ToolchainCollectionSubject extends Subject {
@@ -51,7 +52,7 @@
 
   public void hasDefaultExecGroup() {
     check("hasToolchainContext()")
-        .that(actual.hasToolchainContext(ToolchainCollection.DEFAULT_EXEC_GROUP_NAME))
+        .that(actual.hasToolchainContext(ExecGroup.DEFAULT_EXEC_GROUP_NAME))
         .isTrue();
   }
 
diff --git a/src/test/java/com/google/devtools/build/lib/starlark/BUILD b/src/test/java/com/google/devtools/build/lib/starlark/BUILD
index beba287..8467ebf 100644
--- a/src/test/java/com/google/devtools/build/lib/starlark/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/starlark/BUILD
@@ -46,7 +46,6 @@
         "//src/main/java/com/google/devtools/build/lib/analysis:test/analysis_failure_info",
         "//src/main/java/com/google/devtools/build/lib/analysis:test/analysis_test_result_info",
         "//src/main/java/com/google/devtools/build/lib/analysis:test/instrumented_files_info",
-        "//src/main/java/com/google/devtools/build/lib/analysis:toolchain_collection",
         "//src/main/java/com/google/devtools/build/lib/analysis:transitive_info_collection",
         "//src/main/java/com/google/devtools/build/lib/analysis:view_creation_failed_exception",
         "//src/main/java/com/google/devtools/build/lib/cmdline",
@@ -76,7 +75,6 @@
         "//src/test/java/com/google/devtools/build/lib/actions/util",
         "//src/test/java/com/google/devtools/build/lib/analysis/util",
         "//src/test/java/com/google/devtools/build/lib/exec/util",
-        "//src/test/java/com/google/devtools/build/lib/packages:testutil",
         "//src/test/java/com/google/devtools/build/lib/starlark/util",
         "//src/test/java/com/google/devtools/build/lib/testutil",
         "//src/test/java/com/google/devtools/build/lib/testutil:JunitUtils",
diff --git a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleContextTest.java b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleContextTest.java
index 166489d..f095698 100644
--- a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleContextTest.java
+++ b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleContextTest.java
@@ -17,9 +17,9 @@
 import static com.google.common.truth.Truth.assertThat;
 import static com.google.common.truth.Truth.assertWithMessage;
 import static com.google.common.truth.Truth8.assertThat;
-import static com.google.devtools.build.lib.analysis.ToolchainCollection.DEFAULT_EXEC_GROUP_NAME;
 import static com.google.devtools.build.lib.packages.Attribute.attr;
 import static com.google.devtools.build.lib.packages.BuildType.LABEL_LIST;
+import static com.google.devtools.build.lib.packages.ExecGroup.DEFAULT_EXEC_GROUP_NAME;
 import static org.junit.Assert.assertThrows;
 
 import com.google.common.base.Joiner;