Simplify RuleClassProvider; it kept two identical lists for no purpose.
Also update HelpCommand to output the configuration options in the hmtl
output.
--
MOS_MIGRATED_REVID=125570665
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 be01445..a0ed7a4 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
@@ -24,7 +24,6 @@
import com.google.common.collect.ImmutableBiMap;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoFactory;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.analysis.config.BuildOptions;
@@ -106,7 +105,6 @@
private ImmutableMap<String, Object> skylarkAccessibleTopLevels = ImmutableMap.of();
private ImmutableList.Builder<Class<?>> skylarkModules =
ImmutableList.<Class<?>>builder().addAll(SkylarkModules.MODULES);
- private final List<Class<? extends FragmentOptions>> buildOptions = Lists.newArrayList();
private ImmutableBiMap<String, Class<? extends TransitiveInfoProvider>>
registeredSkylarkProviders = ImmutableBiMap.of();
@@ -130,11 +128,6 @@
return this;
}
- public Builder addBuildOptions(Collection<Class<? extends FragmentOptions>> optionsClasses) {
- buildOptions.addAll(optionsClasses);
- return this;
- }
-
public Builder setRunfilesPrefix(String runfilesPrefix) {
this.runfilesPrefix = runfilesPrefix;
return this;
@@ -176,6 +169,12 @@
return this;
}
+ public Builder addConfigurationOptions(
+ Collection<Class<? extends FragmentOptions>> optionsClasses) {
+ this.configurationOptions.addAll(optionsClasses);
+ return this;
+ }
+
public Builder addConfigurationFragment(ConfigurationFragmentFactory factory) {
configurationFragments.add(factory);
return this;
@@ -288,7 +287,6 @@
prerequisiteValidator,
skylarkAccessibleTopLevels,
skylarkModules.build(),
- buildOptions,
registeredSkylarkProviders);
}
@@ -387,8 +385,6 @@
private final Environment.Frame globals;
- private final List<Class<? extends FragmentOptions>> buildOptions;
-
private final ImmutableBiMap<String, Class<? extends TransitiveInfoProvider>>
registeredSkylarkProviders;
@@ -409,7 +405,6 @@
PrerequisiteValidator prerequisiteValidator,
ImmutableMap<String, Object> skylarkAccessibleJavaClasses,
ImmutableList<Class<?>> skylarkModules,
- List<Class<? extends FragmentOptions>> buildOptions,
ImmutableBiMap<String, Class<? extends TransitiveInfoProvider>> registeredSkylarkProviders) {
this.preludeLabel = preludeLabel;
this.runfilesPrefix = runfilesPrefix;
@@ -426,7 +421,6 @@
this.universalFragment = universalFragment;
this.prerequisiteValidator = prerequisiteValidator;
this.globals = createGlobals(skylarkAccessibleJavaClasses, skylarkModules);
- this.buildOptions = buildOptions;
this.registeredSkylarkProviders = registeredSkylarkProviders;
}
@@ -522,10 +516,6 @@
BuildOptions.of(configurationOptions, optionsProvider));
}
- public ImmutableList<Class<? extends FragmentOptions>> getOptionFragments() {
- return ImmutableList.copyOf(buildOptions);
- }
-
/**
* Returns a map that indicates which keys in structs returned by skylark rules should be
* interpreted as native TransitiveInfoProvider instances of type (map value).