Remove host configuration references from RuleContext and dependers.

PiperOrigin-RevId: 496739027
Change-Id: I640be31a1c7484c980d214920f3833933577492c
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 02f3225..6c010de 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
@@ -50,9 +50,6 @@
 import com.google.devtools.build.lib.analysis.config.ConfigConditions;
 import com.google.devtools.build.lib.analysis.config.ConfigMatchingProvider;
 import com.google.devtools.build.lib.analysis.config.Fragment;
-import com.google.devtools.build.lib.analysis.config.FragmentCollection;
-import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransition;
-import com.google.devtools.build.lib.analysis.config.transitions.NoTransition;
 import com.google.devtools.build.lib.analysis.platform.ConstraintValueInfo;
 import com.google.devtools.build.lib.analysis.platform.PlatformInfo;
 import com.google.devtools.build.lib.analysis.starlark.StarlarkRuleContext;
@@ -157,7 +154,6 @@
   private final ImmutableSet<String> enabledFeatures;
   private final ImmutableSet<String> disabledFeatures;
   private final String ruleClassNameForLogging;
-  private final BuildConfigurationValue hostConfiguration;
   private final ConfigurationFragmentPolicy configurationFragmentPolicy;
   private final ConfiguredRuleClassProvider ruleClassProvider;
   private final RuleErrorConsumer reporter;
@@ -216,7 +212,6 @@
     this.enabledFeatures = ImmutableSortedSet.copyOf(allEnabledFeatures);
     this.disabledFeatures = ImmutableSortedSet.copyOf(allDisabledFeatures);
     this.ruleClassNameForLogging = builder.getRuleClassNameForLogging();
-    this.hostConfiguration = builder.hostConfiguration;
     this.actionOwnerSymbolGenerator = new SymbolGenerator<>(builder.actionOwnerSymbol);
     this.reporter = builder.reporter;
     this.toolchainContexts = builder.toolchainContexts;
@@ -364,11 +359,6 @@
     return configConditions;
   }
 
-  /** Returns the host configuration for this rule. */
-  public BuildConfigurationValue getHostConfiguration() {
-    return hostConfiguration;
-  }
-
   /** All aspects applied to the rule. */
   public ImmutableList<AspectDescriptor> getAspectDescriptors() {
     return aspectDescriptors;
@@ -449,40 +439,27 @@
 
   /** Returns a configuration fragment for this this target. */
   @Nullable
-  public <T extends Fragment> T getFragment(Class<T> fragment, ConfigurationTransition transition) {
-    return getFragment(fragment, fragment.getSimpleName(), "", transition);
+  public <T extends Fragment> T getFragment(Class<T> fragment) {
+    return getFragment(fragment, fragment.getSimpleName(), "");
   }
 
   @Nullable
   private <T extends Fragment> T getFragment(
-      Class<T> fragment,
-      String name,
-      String additionalErrorMessage,
-      ConfigurationTransition transition) {
+      Class<T> fragment, String name, String additionalErrorMessage) {
     // TODO(bazel-team): The fragments can also be accessed directly through
     // BuildConfigurationValue. Can we lock that down somehow?
     Preconditions.checkArgument(
-        isLegalFragment(fragment, transition),
-        "%s has to declare '%s' as a required fragment in %s configuration in order to access"
-            + " it.%s",
+        isLegalFragment(fragment),
+        "%s has to declare '%s' as a required fragment in order to access it.%s",
         ruleClassNameForLogging,
         name,
-        FragmentCollection.getConfigurationName(transition),
         additionalErrorMessage);
-    return getConfiguration(transition).getFragment(fragment);
+    return getConfiguration().getFragment(fragment);
   }
 
   @Nullable
-  public <T extends Fragment> T getFragment(Class<T> fragment) {
-    // No transition means target configuration.
-    return getFragment(fragment, NoTransition.INSTANCE);
-  }
-
-  @Nullable
-  public Fragment getStarlarkFragment(String name, ConfigurationTransition transition)
-      throws EvalException {
-    Class<? extends Fragment> fragmentClass =
-        getConfiguration(transition).getStarlarkFragmentByName(name);
+  public Fragment getStarlarkFragment(String name) throws EvalException {
+    Class<? extends Fragment> fragmentClass = getConfiguration().getStarlarkFragmentByName(name);
     if (fragmentClass == null) {
       return null;
     }
@@ -491,32 +468,21 @@
           fragmentClass,
           name,
           String.format(
-              " Please update the '%1$sfragments' argument of the rule definition "
-                  + "(for example: %1$sfragments = [\"%2$s\"])",
-              transition.isHostTransition() ? "host_" : "", name),
-          transition);
+              " Please update the 'fragments' argument of the rule definition "
+                  + "(for example: fragments = [\"%1$s\"])",
+              name));
     } catch (IllegalArgumentException ex) { // fishy
       throw new EvalException(ex.getMessage());
     }
   }
 
-  public ImmutableCollection<String> getStarlarkFragmentNames(ConfigurationTransition transition) {
-    return getConfiguration(transition).getStarlarkFragmentNames();
-  }
-
-  public <T extends Fragment> boolean isLegalFragment(
-      Class<T> fragment, ConfigurationTransition transition) {
-    return ruleClassProvider.getFragmentRegistry().getUniversalFragments().contains(fragment)
-        || configurationFragmentPolicy.isLegalConfigurationFragment(fragment, transition);
+  public ImmutableCollection<String> getStarlarkFragmentNames() {
+    return getConfiguration().getStarlarkFragmentNames();
   }
 
   public <T extends Fragment> boolean isLegalFragment(Class<T> fragment) {
-    // No transition means target configuration.
-    return isLegalFragment(fragment, NoTransition.INSTANCE);
-  }
-
-  private BuildConfigurationValue getConfiguration(ConfigurationTransition transition) {
-    return transition.isHostTransition() ? hostConfiguration : getConfiguration();
+    return ruleClassProvider.getFragmentRegistry().getUniversalFragments().contains(fragment)
+        || configurationFragmentPolicy.isLegalConfigurationFragment(fragment);
   }
 
   @Override
@@ -1652,7 +1618,6 @@
     private final BuildConfigurationValue configuration;
     private final RuleErrorConsumer reporter;
     private ConfiguredRuleClassProvider ruleClassProvider;
-    private BuildConfigurationValue hostConfiguration;
     private ConfigurationFragmentPolicy configurationFragmentPolicy;
     private ActionLookupKey actionOwnerSymbol;
     private OrderedSetMultimap<Attribute, ConfiguredTargetAndData> prerequisiteMap;
@@ -1704,7 +1669,6 @@
 
     private RuleContext build(boolean attributeChecks) throws InvalidExecGroupException {
       Preconditions.checkNotNull(ruleClassProvider);
-      Preconditions.checkNotNull(hostConfiguration);
       Preconditions.checkNotNull(configurationFragmentPolicy);
       Preconditions.checkNotNull(actionOwnerSymbol);
       Preconditions.checkNotNull(prerequisiteMap);
@@ -1827,12 +1791,6 @@
     }
 
     @CanIgnoreReturnValue
-    public Builder setHostConfiguration(BuildConfigurationValue hostConfiguration) {
-      this.hostConfiguration = hostConfiguration;
-      return this;
-    }
-
-    @CanIgnoreReturnValue
     public Builder setConfigurationFragmentPolicy(ConfigurationFragmentPolicy policy) {
       this.configurationFragmentPolicy = policy;
       return this;