Build a `RequiredConfigFragmentsProvider` directly from the builder.

PiperOrigin-RevId: 391794612
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 e70669e..b6b9d63 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
@@ -1312,14 +1312,9 @@
     return constraintSemantics;
   }
 
-  /**
-   * Returns the configuration fragments this rule uses.
-   *
-   * <p>Returned results are alphabetically ordered.
-   */
-  public ImmutableSortedSet<String> getRequiredConfigFragments() {
-    ImmutableSortedSet.Builder<String> ans = ImmutableSortedSet.naturalOrder();
-    ans.addAll(requiredConfigFragments.getRequiredConfigFragments());
+  /** Returns the configuration fragments this rule uses. */
+  public RequiredConfigFragmentsProvider getRequiredConfigFragments() {
+    RequiredConfigFragmentsProvider.Builder merged = null;
     for (Expander makeVariableExpander : makeVariableExpanders) {
       for (String makeVariable : makeVariableExpander.lookedUpVariables()) {
         // User-defined make values may be set either in "--define foo=bar" or in a vardef in the
@@ -1327,11 +1322,14 @@
         // "--define foo=bar" impacts the rule's output.
         if (rule.getPackage().getMakeEnvironment().containsKey(makeVariable)
             || getConfiguration().getCommandLineBuildVariables().containsKey(makeVariable)) {
-          ans.add("--define:" + makeVariable);
+          if (merged == null) {
+            merged = RequiredConfigFragmentsProvider.builder().merge(requiredConfigFragments);
+          }
+          merged.addDefine(makeVariable);
         }
       }
     }
-    return ans.build();
+    return merged == null ? requiredConfigFragments : merged.build();
   }
 
   private void checkAttributeIsDependency(String attributeName) {