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