aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
authorGravatar jmmv <jmmv@google.com>2017-09-06 17:27:13 +0200
committerGravatar Yun Peng <pcloudy@google.com>2017-09-07 09:57:10 +0200
commit313a0e04eb7c173359b1e18a6cbe5dd5915bb0a8 (patch)
tree01ea3d06385aaf3703099211eb6e7b489297bead /src/main/java/com/google/devtools/build/lib
parent1926b519113328c5041fd1044592f030d7580385 (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')
-rw-r--r--src/main/java/com/google/devtools/build/lib/BUILD1
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java15
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java1
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/HelpCommand.java3
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(