diff options
author | 2017-09-06 17:27:13 +0200 | |
---|---|---|
committer | 2017-09-07 09:57:10 +0200 | |
commit | 313a0e04eb7c173359b1e18a6cbe5dd5915bb0a8 (patch) | |
tree | 01ea3d06385aaf3703099211eb6e7b489297bead /src/main/java/com/google/devtools/build/lib | |
parent | 1926b519113328c5041fd1044592f030d7580385 (diff) |
Remove the product name from ConfiguredRuleClassProvider.
The RuleClassProvider includes a copy of the product name, parameterized
for both Blaze and Bazel. Apparently, this is exclusively there so that
the standalone docgen binary can "magically" guess the product name.
This is strange and adds additional complexity to the Bazel core codebase
for no strong reason. Instead, just add a new flag to docgen that takes
the product name and pass it in explicitly.
RELNOTES: None.
PiperOrigin-RevId: 167724033
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
4 files changed, 3 insertions, 17 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/BUILD b/src/main/java/com/google/devtools/build/lib/BUILD index 854119b9e6..6149e5fc02 100644 --- a/src/main/java/com/google/devtools/build/lib/BUILD +++ b/src/main/java/com/google/devtools/build/lib/BUILD @@ -1123,6 +1123,7 @@ genrule( cmd = ( "mkdir -p $(@D)/be && " + "$(location //src/main/java/com/google/devtools/build/docgen:docgen_bin)" + + " --product_name=bazel" + " --provider=com.google.devtools.build.lib.bazel.rules.BazelRuleClassProvider" + " --input_dir=$$PWD/src/main/java/com/google/devtools/build/lib" + " --output_dir=$(@D)/be &&" + 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 b929b99ec5..ef01005a9c 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 @@ -195,7 +195,6 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider { /** Builder for {@link ConfiguredRuleClassProvider}. */ public static class Builder implements RuleDefinitionEnvironment { - private String productName; private final StringBuilder defaultWorkspaceFilePrefix = new StringBuilder(); private final StringBuilder defaultWorkspaceFileSuffix = new StringBuilder(); private Label preludeLabel; @@ -228,11 +227,6 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider { // TODO(pcloudy): Remove this field after Bazel rule definitions are not used internally. private String nativeLauncherLabel; - public Builder setProductName(String productName) { - this.productName = productName; - return this; - } - public Builder setNativeLauncherLabel(String label) { this.nativeLauncherLabel = label; return this; @@ -425,7 +419,6 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider { } return new ConfiguredRuleClassProvider( - productName, preludeLabel, runfilesPrefix, toolsRepository, @@ -489,8 +482,6 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider { } }); - private final String productName; - /** * Default content that should be added at the beginning of the WORKSPACE file. */ @@ -558,7 +549,6 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider { private final Environment.Frame globals; private ConfiguredRuleClassProvider( - String productName, Label preludeLabel, String runfilesPrefix, String toolsRepository, @@ -575,7 +565,6 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider { PrerequisiteValidator prerequisiteValidator, ImmutableMap<String, Object> skylarkAccessibleJavaClasses, ImmutableList<Class<?>> skylarkModules) { - this.productName = productName; this.preludeLabel = preludeLabel; this.runfilesPrefix = runfilesPrefix; this.toolsRepository = toolsRepository; @@ -593,10 +582,6 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider { this.globals = createGlobals(skylarkAccessibleJavaClasses, skylarkModules); } - public String getProductName() { - return productName; - } - public PrerequisiteValidator getPrerequisiteValidator() { return prerequisiteValidator; } diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java index 3805c8b0db..d6e4f3eafb 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java @@ -209,7 +209,6 @@ public class BazelRuleClassProvider { @Override public void init(Builder builder) { builder - .setProductName("bazel") .setPrelude("//tools/build_rules:prelude_bazel") .setNativeLauncherLabel("//tools/launcher:launcher") .setRunfilesPrefix(Label.DEFAULT_REPOSITORY_DIRECTORY) diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/HelpCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/HelpCommand.java index 87cc44c09f..5e42732d5e 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/HelpCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/HelpCommand.java @@ -200,7 +200,8 @@ public final class HelpCommand implements BlazeCommand { RuleClass ruleClass = provider.getRuleClassMap().get(helpSubject); if (ruleClass != null && ruleClass.isDocumented()) { // There is a rule with a corresponding name - outErr.printOut(BlazeRuleHelpPrinter.getRuleDoc(helpSubject, provider)); + outErr.printOut( + BlazeRuleHelpPrinter.getRuleDoc(helpSubject, runtime.getProductName(), provider)); return ExitCode.SUCCESS; } else { env.getReporter().handle(Event.error( |