Inject the default runfiles prefix from the rule class provider.

--
MOS_MIGRATED_REVID=102341264
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
index 8f048f7..18d605d 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
@@ -80,6 +80,7 @@
   public static class Builder implements RuleDefinitionEnvironment {
     private final StringBuilder defaultWorkspaceFile = new StringBuilder();
     private PathFragment preludePath;
+    private String runfilesPrefix;
     private final List<ConfigurationFragmentFactory> configurationFragments = new ArrayList<>();
     private final List<BuildInfoFactory> buildInfoFactories = new ArrayList<>();
     private final List<Class<? extends FragmentOptions>> configurationOptions = new ArrayList<>();
@@ -110,6 +111,11 @@
       return this;
     }
 
+    public Builder setRunfilesPrefix(String runfilesPrefix) {
+      this.runfilesPrefix = runfilesPrefix;
+      return this;
+    }
+
     public Builder setPrerequisiteValidator(PrerequisiteValidator prerequisiteValidator) {
       this.prerequisiteValidator = prerequisiteValidator;
       return this;
@@ -219,6 +225,7 @@
 
       return new ConfiguredRuleClassProvider(
           preludePath,
+          runfilesPrefix,
           ImmutableMap.copyOf(ruleClassMap),
           ImmutableMap.copyOf(ruleDefinitionMap),
           ImmutableMap.copyOf(aspectFactoryMap),
@@ -265,6 +272,11 @@
   private final PathFragment preludePath;
 
   /**
+   * The default runfiles prefix.
+   */
+  private final String runfilesPrefix;
+
+  /**
    * Maps rule class name to the metaclass instance for that rule.
    */
   private final ImmutableMap<String, RuleClass> ruleClassMap;
@@ -304,6 +316,7 @@
 
   public ConfiguredRuleClassProvider(
       PathFragment preludePath,
+      String runfilesPrefix,
       ImmutableMap<String, RuleClass> ruleClassMap,
       ImmutableMap<String, Class<? extends RuleDefinition>> ruleDefinitionMap,
       ImmutableMap<String, Class<? extends AspectFactory<?, ?, ?>>> aspectFactoryMap,
@@ -315,6 +328,7 @@
       PrerequisiteValidator prerequisiteValidator,
       ImmutableMap<String, SkylarkType> skylarkAccessibleJavaClasses) {
     this.preludePath = preludePath;
+    this.runfilesPrefix = runfilesPrefix;
     this.ruleClassMap = ruleClassMap;
     this.ruleDefinitionMap = ruleDefinitionMap;
     this.aspectFactoryMap = aspectFactoryMap;
@@ -340,6 +354,11 @@
   }
 
   @Override
+  public String getRunfilesPrefix() {
+    return runfilesPrefix;
+  }
+
+  @Override
   public Map<String, RuleClass> getRuleClassMap() {
     return ruleClassMap;
   }