Rename Command.inherits to Command.inheritsOptionsFrom
This is to avoid confusion that it inherits other metadata.
PiperOrigin-RevId: 644947040
Change-Id: I2911d81bb7cca40ea9bdca4855a02a403d18c6a1
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/commands/FetchCommand.java b/src/main/java/com/google/devtools/build/lib/bazel/commands/FetchCommand.java
index 1dc3be1..fc46116 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/commands/FetchCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/commands/FetchCommand.java
@@ -58,7 +58,7 @@
@Command(
name = FetchCommand.NAME,
builds = true,
- inherits = {TestCommand.class},
+ inheritsOptionsFrom = {TestCommand.class},
options = {
FetchOptions.class,
PackageOptions.class,
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/commands/VendorCommand.java b/src/main/java/com/google/devtools/build/lib/bazel/commands/VendorCommand.java
index 0df6a9a..e8becaa 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/commands/VendorCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/commands/VendorCommand.java
@@ -93,7 +93,7 @@
@Command(
name = VendorCommand.NAME,
builds = true,
- inherits = {TestCommand.class},
+ inheritsOptionsFrom = {TestCommand.class},
options = {
VendorOptions.class,
PackageOptions.class,
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandUtils.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandUtils.java
index 6ff5076..2227b32 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandUtils.java
@@ -97,7 +97,7 @@
Iterables.addAll(options, blazeModule.getCommandOptions(commandAnnotation));
}
- for (Class<? extends BlazeCommand> base : commandAnnotation.inherits()) {
+ for (Class<? extends BlazeCommand> base : commandAnnotation.inheritsOptionsFrom()) {
options.addAll(getOptions(base, modules, ruleClassProvider));
}
return ImmutableList.copyOf(options);
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeOptionHandler.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeOptionHandler.java
index 2a45c3a..97e4dfe 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeOptionHandler.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeOptionHandler.java
@@ -557,7 +557,7 @@
private static void getCommandNamesToParseHelper(
Command commandAnnotation, List<String> accumulator) {
- for (Class<? extends BlazeCommand> base : commandAnnotation.inherits()) {
+ for (Class<? extends BlazeCommand> base : commandAnnotation.inheritsOptionsFrom()) {
getCommandNamesToParseHelper(base.getAnnotation(Command.class), accumulator);
}
accumulator.add(commandAnnotation.name());
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/Command.java b/src/main/java/com/google/devtools/build/lib/runtime/Command.java
index 4fc9228..71cfb68 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/Command.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/Command.java
@@ -38,10 +38,10 @@
Class<? extends OptionsBase>[] options() default {};
/**
- * The set of other Blaze commands that this annotation's command "inherits"
- * options from. These classes must be annotated with {@link Command}.
+ * The set of other Blaze commands that this annotation's command "inherits" options from. These
+ * classes must be annotated with {@link Command}.
*/
- Class<? extends BlazeCommand>[] inherits() default {};
+ Class<? extends BlazeCommand>[] inheritsOptionsFrom() default {};
/**
* A short description, which appears in 'blaze help'.
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/CommandNameCacheImpl.java b/src/main/java/com/google/devtools/build/lib/runtime/CommandNameCacheImpl.java
index 6621309..3987932 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/CommandNameCacheImpl.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/CommandNameCacheImpl.java
@@ -52,7 +52,7 @@
while (!queue.isEmpty()) {
Command cur = queue.remove();
builder.add(cur.name());
- for (Class<? extends BlazeCommand> clazz : cur.inherits()) {
+ for (Class<? extends BlazeCommand> clazz : cur.inheritsOptionsFrom()) {
Command parent = clazz.getAnnotation(Command.class);
if (visited.add(parent)) {
queue.add(parent);
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/AqueryCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/AqueryCommand.java
index 1c28b51..c4fbefa 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/AqueryCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/AqueryCommand.java
@@ -53,7 +53,7 @@
@Command(
name = "aquery",
builds = true,
- inherits = {BuildCommand.class},
+ inheritsOptionsFrom = {BuildCommand.class},
options = {AqueryOptions.class},
usesConfigurationOptions = true,
shortDescription = "Analyzes the given targets and queries the action graph.",
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java
index dcd6b9d..8e93db3 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java
@@ -57,7 +57,7 @@
name = "canonicalize-flags",
options = {CanonicalizeCommand.Options.class, PackageOptions.class},
// inherits from build to get proper package loading options and rc flag aliases.
- inherits = {BuildCommand.class},
+ inheritsOptionsFrom = {BuildCommand.class},
allowResidue = true,
mustRunInWorkspace = false,
shortDescription = "Canonicalizes a list of %{product} options.",
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/CleanCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/CleanCommand.java
index 97ea419..b426633 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/CleanCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/CleanCommand.java
@@ -60,7 +60,7 @@
help = "resource:clean.txt",
shortDescription = "Removes output files and optionally stops the server.",
// TODO(bazel-team): Remove this - we inherit a huge number of unused options.
- inherits = {BuildCommand.class})
+ inheritsOptionsFrom = {BuildCommand.class})
public final class CleanCommand implements BlazeCommand {
/** An interface for special options for the clean command. */
public static class Options extends OptionsBase {
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/ConfigCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/ConfigCommand.java
index 0b00d75..7fbe627 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/ConfigCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/ConfigCommand.java
@@ -72,7 +72,7 @@
@Command(
name = "config",
builds = true,
- inherits = {BuildCommand.class},
+ inheritsOptionsFrom = {BuildCommand.class},
options = {ConfigOptions.class},
usesConfigurationOptions = true,
shortDescription = "Displays details of configurations.",
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/CoverageCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/CoverageCommand.java
index 4694d92..34a620a 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/CoverageCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/CoverageCommand.java
@@ -105,7 +105,7 @@
@Command(
name = "coverage",
builds = true,
- inherits = {TestCommand.class},
+ inheritsOptionsFrom = {TestCommand.class},
shortDescription = "Generates code coverage report for specified test targets.",
completion = "label-test",
help = "resource:coverage.txt",
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/CqueryCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/CqueryCommand.java
index adcd91e..d8f8853 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/CqueryCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/CqueryCommand.java
@@ -62,7 +62,7 @@
// Without doing this, there is no easy way to use the output of cquery to determine whether a
// test has changed between two invocations, because the testrunner action is not easily
// introspectable.
- inherits = {TestCommand.class},
+ inheritsOptionsFrom = {TestCommand.class},
options = {CqueryOptions.class},
usesConfigurationOptions = true,
shortDescription = "Loads, analyzes, and queries the specified targets w/ configurations.",
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 194074e..3266e26 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
@@ -424,7 +424,7 @@
continue;
}
List<String> inheritedCmdNames = new ArrayList<>();
- for (Class<? extends BlazeCommand> base : annotation.inherits()) {
+ for (Class<? extends BlazeCommand> base : annotation.inheritsOptionsFrom()) {
String name = base.getAnnotation(Command.class).name();
inheritedCmdNames.add(String.format("<a href=\"#%s\">%s</a>", name, name));
}
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/InfoCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/InfoCommand.java
index 9342dfd..d597368 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/InfoCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/InfoCommand.java
@@ -98,7 +98,7 @@
// (Ideally there would be a way to make {@code info} inherit just the bare
// minimum of relevant options from {@code build}, i.e. those that affect the
// values it prints. But there's no such mechanism.)
- inherits = {BuildCommand.class})
+ inheritsOptionsFrom = {BuildCommand.class})
public class InfoCommand implements BlazeCommand {
/** Options for the info command. */
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/PrintActionCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/PrintActionCommand.java
index f0d29c9..0b57522 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/PrintActionCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/PrintActionCommand.java
@@ -69,7 +69,7 @@
@Command(
name = "print_action",
builds = true,
- inherits = {BuildCommand.class},
+ inheritsOptionsFrom = {BuildCommand.class},
options = {PrintActionCommand.PrintActionOptions.class},
help = "resource:print_action.txt",
shortDescription = "Prints the command line args for compiling a file.",
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/RunCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/RunCommand.java
index 042406abe7..d8669d2 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/RunCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/RunCommand.java
@@ -111,7 +111,7 @@
name = "run",
builds = true,
options = {RunCommand.RunOptions.class},
- inherits = {BuildCommand.class},
+ inheritsOptionsFrom = {BuildCommand.class},
shortDescription = "Runs the specified target.",
help = "resource:run.txt",
allowResidue = true,
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/TestCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/TestCommand.java
index 079f4c3..7e1db23 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/TestCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/TestCommand.java
@@ -59,17 +59,16 @@
import java.util.Collection;
import java.util.List;
-/**
- * Handles the 'test' command on the Blaze command line.
- */
-@Command(name = "test",
- builds = true,
- inherits = { BuildCommand.class },
- options = { TestSummaryOptions.class },
- shortDescription = "Builds and runs the specified test targets.",
- help = "resource:test.txt",
- completion = "label-test",
- allowResidue = true)
+/** Handles the 'test' command on the Blaze command line. */
+@Command(
+ name = "test",
+ builds = true,
+ inheritsOptionsFrom = {BuildCommand.class},
+ options = {TestSummaryOptions.class},
+ shortDescription = "Builds and runs the specified test targets.",
+ help = "resource:test.txt",
+ completion = "label-test",
+ allowResidue = true)
public class TestCommand implements BlazeCommand {
/** Returns the name of the command to ask the project file for. */
// TODO(hdm): move into BlazeRuntime? It feels odd to duplicate the annotation here.
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallCommand.java
index f966cbd..86901d4 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallCommand.java
@@ -66,15 +66,14 @@
/** Implementation of the 'mobile-install' command. */
@Command(
- name = "mobile-install",
- builds = true,
- options = {MobileInstallCommand.Options.class, WriteAdbArgsAction.Options.class},
- inherits = {BuildCommand.class},
- shortDescription = "Installs targets to mobile devices.",
- completion = "label",
- allowResidue = true,
- help = "resource:mobile-install.txt"
-)
+ name = "mobile-install",
+ builds = true,
+ options = {MobileInstallCommand.Options.class, WriteAdbArgsAction.Options.class},
+ inheritsOptionsFrom = {BuildCommand.class},
+ shortDescription = "Installs targets to mobile devices.",
+ completion = "label",
+ allowResidue = true,
+ help = "resource:mobile-install.txt")
public class MobileInstallCommand implements BlazeCommand {
/** An enumeration of all the modes that mobile-install supports. */
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/AbstractCommandTest.java b/src/test/java/com/google/devtools/build/lib/runtime/AbstractCommandTest.java
index d1dea1b..867d0df 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/AbstractCommandTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/AbstractCommandTest.java
@@ -110,8 +110,12 @@
@Command(name = "a", options = {FooOptions.class}, shortDescription = "", help = "")
private static class CommandA extends ConcreteCommand {}
- @Command(name = "b", options = {BarOptions.class}, inherits = {CommandA.class},
- shortDescription = "", help = "")
+ @Command(
+ name = "b",
+ options = {BarOptions.class},
+ inheritsOptionsFrom = {CommandA.class},
+ shortDescription = "",
+ help = "")
private static class CommandB extends ConcreteCommand {}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcherRcoptionsTest.java b/src/test/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcherRcoptionsTest.java
index 77e8e9f..024bff2 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcherRcoptionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcherRcoptionsTest.java
@@ -101,7 +101,7 @@
options = {FooOptions.class},
shortDescription = "",
help = "",
- inherits = ReportAllCommand.class)
+ inheritsOptionsFrom = ReportAllCommand.class)
private static class ReportAllInheritedCommand extends ReportAllCommand {}
private final Scratch scratch = new Scratch();
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcherTest.java b/src/test/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcherTest.java
index a8eb0a3..addf2d6 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcherTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcherTest.java
@@ -578,7 +578,11 @@
assertThat(result.getExitCode()).isEqualTo(ExitCode.COMMAND_LINE_ERROR);
}
- @Command(name = "wiz", inherits = {FooCommand.class}, shortDescription = "", help = "")
+ @Command(
+ name = "wiz",
+ inheritsOptionsFrom = {FooCommand.class},
+ shortDescription = "",
+ help = "")
private static class WizCommand extends FooCommand {}
@Test