Split out option usage restriction from option category.
These are two different concepts. Do not remove category overload compatibility in this CL, to keep this change limited to converting the current uses of category.
With some flyby formatting fixes on affected OptionsBases.
RELNOTES: None.
PiperOrigin-RevId: 153390002
diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/PackageCacheOptions.java b/src/main/java/com/google/devtools/build/lib/pkgcache/PackageCacheOptions.java
index 8237e84..626d76f 100644
--- a/src/main/java/com/google/devtools/build/lib/pkgcache/PackageCacheOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/pkgcache/PackageCacheOptions.java
@@ -26,6 +26,7 @@
import com.google.devtools.common.options.Converters;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionsBase;
+import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.OptionsParsingException;
import java.util.List;
@@ -56,64 +57,78 @@
}
}
- @Option(name = "package_path",
- defaultValue = "%workspace%",
- category = "package loading",
- converter = Converters.ColonSeparatedOptionListConverter.class,
- help = "A colon-separated list of where to look for packages. "
- + "Elements beginning with '%workspace%' are relative to the enclosing "
- + "workspace. If omitted or empty, the default is the output of "
- + "'blaze info default-package-path'.")
+ @Option(
+ name = "package_path",
+ defaultValue = "%workspace%",
+ category = "package loading",
+ converter = Converters.ColonSeparatedOptionListConverter.class,
+ help =
+ "A colon-separated list of where to look for packages. "
+ + "Elements beginning with '%workspace%' are relative to the enclosing "
+ + "workspace. If omitted or empty, the default is the output of "
+ + "'blaze info default-package-path'."
+ )
public List<String> packagePath;
- @Option(name = "show_package_location",
- defaultValue = "false",
- category = "verbosity",
- deprecationWarning = "This flag is no longer supported and will go away soon.",
- help = "If enabled, causes Blaze to print the location on the --package_path "
- + "from which each package was loaded.")
+ @Option(
+ name = "show_package_location",
+ defaultValue = "false",
+ category = "verbosity",
+ deprecationWarning = "This flag is no longer supported and will go away soon.",
+ help =
+ "If enabled, causes Blaze to print the location on the --package_path "
+ + "from which each package was loaded."
+ )
public boolean showPackageLocation;
- @Option(name = "show_loading_progress",
- defaultValue = "true",
- category = "verbosity",
- help = "If enabled, causes Blaze to print \"Loading package:\" messages.")
+ @Option(
+ name = "show_loading_progress",
+ defaultValue = "true",
+ category = "verbosity",
+ help = "If enabled, causes Blaze to print \"Loading package:\" messages."
+ )
public boolean showLoadingProgress;
- @Option(name = "deleted_packages",
- defaultValue = "",
- category = "package loading",
- converter = CommaSeparatedPackageNameListConverter.class,
- help = "A comma-separated list of names of packages which the "
- + "build system will consider non-existent, even if they are "
- + "visible somewhere on the package path."
- + "\n"
- + "Use this option when deleting a subpackage 'x/y' of an "
- + "existing package 'x'. For example, after deleting x/y/BUILD "
- + "in your client, the build system may complain if it "
- + "encounters a label '//x:y/z' if that is still provided by another "
- + "package_path entry. Specifying --deleted_packages x/y avoids this "
- + "problem.")
+ @Option(
+ name = "deleted_packages",
+ defaultValue = "",
+ category = "package loading",
+ converter = CommaSeparatedPackageNameListConverter.class,
+ help =
+ "A comma-separated list of names of packages which the "
+ + "build system will consider non-existent, even if they are "
+ + "visible somewhere on the package path.\n"
+ + "Use this option when deleting a subpackage 'x/y' of an "
+ + "existing package 'x'. For example, after deleting x/y/BUILD "
+ + "in your client, the build system may complain if it "
+ + "encounters a label '//x:y/z' if that is still provided by another "
+ + "package_path entry. Specifying --deleted_packages x/y avoids this "
+ + "problem."
+ )
public List<PackageIdentifier> deletedPackages;
- @Option(name = "default_visibility",
- defaultValue = "private",
- category = "undocumented",
- converter = DefaultVisibilityConverter.class,
- help = "Default visibility for packages that don't set it explicitly ('public' or "
- + "'private').")
+ @Option(
+ name = "default_visibility",
+ defaultValue = "private",
+ optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
+ converter = DefaultVisibilityConverter.class,
+ help =
+ "Default visibility for packages that don't set it explicitly ('public' or " + "'private')."
+ )
public RuleVisibility defaultVisibility;
- @Option(name = "legacy_globbing_threads",
- defaultValue = "100",
- category = "undocumented",
- help = "Number of threads to use for glob evaluation.")
+ @Option(
+ name = "legacy_globbing_threads",
+ defaultValue = "100",
+ optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
+ help = "Number of threads to use for glob evaluation."
+ )
public int globbingThreads;
@Option(
name = "experimental_max_directories_to_eagerly_visit_in_globbing",
defaultValue = "-1",
- category = "undocumented",
+ optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help =
"If non-negative, the first time a glob is evaluated in a package, the subdirectories of "
+ "the package will be traversed in order to warm filesystem caches and compensate for "
@@ -121,17 +136,22 @@
)
public int maxDirectoriesToEagerlyVisitInGlobbing;
- @Option(name = "fetch",
- defaultValue = "true",
- category = "undocumented",
- help = "Allows the command to fetch external dependencies")
+ @Option(
+ name = "fetch",
+ defaultValue = "true",
+ optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
+ help = "Allows the command to fetch external dependencies"
+ )
public boolean fetch;
- @Option(name = "experimental_check_output_files",
- defaultValue = "true",
- category = "undocumented",
- help = "Check for modifications made to the output files of a build. Consider setting "
- + "this flag to false to see the effect on incremental build times.")
+ @Option(
+ name = "experimental_check_output_files",
+ defaultValue = "true",
+ optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
+ help =
+ "Check for modifications made to the output files of a build. Consider setting "
+ + "this flag to false to see the effect on incremental build times."
+ )
public boolean checkOutputFiles;
/**