Fold OptionUsageRestrictions into OptionDocumentationCategory and OptionMetadataTags.
These are similar, no need to have both fields. Removing the "DOCUMENTED" default, the absence of UNDOCUMENTED will be used instead.
Since requiring a documentation category for undocumented options doesn't make sense, list that as one of the OptionDocumentationCategories, but list HIDDEN and INTERNAL as part of OptionMetadata. These options should list UNDOCUMENTED as their category.
PiperOrigin-RevId: 161515674
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
index 80876cf..94c4f74 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
@@ -99,7 +99,6 @@
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.OptionsParsingException;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import java.util.ArrayList;
@@ -241,8 +240,7 @@
@Option(
name = "version_window_for_dirty_node_gc",
defaultValue = "0",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Nodes that have been dirty for more than this many versions will be deleted"
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/PlatformOptions.java b/src/main/java/com/google/devtools/build/lib/analysis/PlatformOptions.java
index 8b3e28f..eb33cb0 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/PlatformOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/PlatformOptions.java
@@ -20,8 +20,8 @@
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
-import com.google.devtools.common.options.OptionsParser;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
+import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.util.List;
/** Command-line options for platform-related configuration. */
@@ -31,9 +31,9 @@
name = "experimental_host_platform",
converter = BuildConfiguration.LabelConverter.class,
defaultValue = "@bazel_tools//platforms:host_platform",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
- optionUsageRestrictions = OptionsParser.OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
help = "Declare the platform the build is started from"
)
public Label hostPlatform;
@@ -44,9 +44,9 @@
name = "experimental_platforms",
converter = BuildConfiguration.LabelListConverter.class,
defaultValue = "@bazel_tools//platforms:target_platform",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
- optionUsageRestrictions = OptionsParser.OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
help = "Declare the platforms targeted by the current build"
)
public List<Label> platforms;
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/WorkspaceStatusAction.java b/src/main/java/com/google/devtools/build/lib/analysis/WorkspaceStatusAction.java
index 279a1a4..de1546d 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/WorkspaceStatusAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/WorkspaceStatusAction.java
@@ -30,7 +30,6 @@
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import java.io.IOException;
import java.util.HashMap;
@@ -72,8 +71,7 @@
@Option(
name = "experimental_embed_timestamp_epoch",
defaultValue = "-1",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Alternative timestamp to be used in stamping the binary"
)
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
index 4c6b78b..ca8d5f9 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
@@ -79,7 +79,6 @@
import com.google.devtools.common.options.EnumConverter;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.OptionsParsingException;
import com.google.devtools.common.options.TriState;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
@@ -493,17 +492,16 @@
@Option(
name = "experimental multi cpu distinguisher",
defaultValue = "",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
- optionUsageRestrictions = OptionUsageRestrictions.INTERNAL
+ metadataTags = {OptionMetadataTag.INTERNAL}
)
public String experimentalMultiCpuDistinguisher;
@Option(
name = "min_param_file_size",
defaultValue = "32768",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Minimum command line length before creating a parameter file."
)
@@ -512,8 +510,7 @@
@Option(
name = "experimental_extended_sanity_checks",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Enables internal validation checks to make sure that configured target "
@@ -524,8 +521,7 @@
@Option(
name = "experimental_allow_runtime_deps_on_neverlink",
defaultValue = "true",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Flag to help transition from allowing to disallowing runtime_deps on neverlink"
@@ -645,9 +641,9 @@
@Option(
name = "output directory name",
defaultValue = "null",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
- optionUsageRestrictions = OptionUsageRestrictions.INTERNAL
+ metadataTags = {OptionMetadataTag.INTERNAL}
)
public String outputDirectoryName;
@@ -975,8 +971,7 @@
@Option(
name = "enforce_constraints",
defaultValue = "true",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Checks the environments each target is compatible with and reports errors if any "
@@ -1003,8 +998,7 @@
@Option(
name = "experimental_transparent_compression",
defaultValue = "true",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Enables gzip compression for the contents of FileWriteActions, which reduces "
@@ -1015,9 +1009,9 @@
@Option(
name = "is host configuration",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.INTERNAL,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
+ metadataTags = {OptionMetadataTag.INTERNAL},
help = "Shows whether these options are set for host configuration."
)
public boolean isHost;
@@ -1058,10 +1052,9 @@
converter = EmptyToNullLabelConverter.class,
defaultValue = "",
category = "flags",
- documentationCategory = OptionDocumentationCategory.EXECUTION_STRATEGY,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.LOADING_AND_ANALYSIS},
metadataTags = {OptionMetadataTag.EXPERIMENTAL},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help =
"Declare the environment_group to use for automatically mapping cpu values to "
+ "target_environment values."
@@ -1099,9 +1092,8 @@
@Option(
name = "experimental_dynamic_configs",
defaultValue = "notrim",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
converter = DynamicConfigsConverter.class,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Dynamically instantiates build configurations instead of using the default "
@@ -1112,8 +1104,7 @@
@Option(
name = "experimental_enable_runfiles",
defaultValue = "auto",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Enable runfiles; off on Windows, on on other platforms"
)
@@ -1122,8 +1113,7 @@
@Option(
name = "build_python_zip",
defaultValue = "auto",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Build python executable zip; on on Windows, off on other platforms"
)
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/TransitiveOptionDetails.java b/src/main/java/com/google/devtools/build/lib/analysis/config/TransitiveOptionDetails.java
index 68ec20e..34681a2 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/TransitiveOptionDetails.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/TransitiveOptionDetails.java
@@ -14,10 +14,11 @@
package com.google.devtools.build.lib.analysis.config;
+import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
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.proto.OptionFilters.OptionMetadataTag;
import java.io.Serializable;
import java.lang.reflect.Field;
import java.util.Map;
@@ -44,7 +45,7 @@
for (Field field : options.getClass().getFields()) {
if (field.isAnnotationPresent(Option.class)) {
Option option = field.getAnnotation(Option.class);
- if (option.optionUsageRestrictions() == OptionUsageRestrictions.INTERNAL) {
+ if (ImmutableList.copyOf(option.metadataTags()).contains(OptionMetadataTag.INTERNAL)) {
// ignore internal options
continue;
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/featurecontrol/FeaturePolicyOptions.java b/src/main/java/com/google/devtools/build/lib/analysis/featurecontrol/FeaturePolicyOptions.java
index 4bfbacb..e9dc0a5 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/featurecontrol/FeaturePolicyOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/featurecontrol/FeaturePolicyOptions.java
@@ -18,7 +18,6 @@
import com.google.devtools.build.lib.analysis.config.FragmentOptions;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import java.util.List;
@@ -35,8 +34,7 @@
+ "//package:__pkg__ or //visibility:public). Can be repeated to specify multiple "
+ "features, but each feature must be specified only once.",
valueHelp = "a feature=label pair",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
converter = PolicyEntryConverter.class,
defaultValue = "n/a (default ignored for allowMultiple)",
diff --git a/src/main/java/com/google/devtools/build/lib/authandtls/AuthAndTLSOptions.java b/src/main/java/com/google/devtools/build/lib/authandtls/AuthAndTLSOptions.java
index ecb5e62..ad9136b 100644
--- a/src/main/java/com/google/devtools/build/lib/authandtls/AuthAndTLSOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/authandtls/AuthAndTLSOptions.java
@@ -17,8 +17,8 @@
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
+import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
/**
* Common options for authentication and TLS.
@@ -86,8 +86,8 @@
name = "tls_authority_override",
defaultValue = "null",
category = "remote",
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ metadataTags = {OptionMetadataTag.HIDDEN},
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"TESTING ONLY! Can be used with a self-signed certificate to consider the specified "
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryOptions.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryOptions.java
index 6a3ff20..5fbb504 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryOptions.java
@@ -23,9 +23,9 @@
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.OptionsParsingException;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
+import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.util.List;
/**
@@ -36,9 +36,9 @@
@Option(
name = "experimental_repository_cache",
defaultValue = "null",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
converter = OptionsUtils.PathFragmentConverter.class,
help =
"Specifies the cache location of the downloaded values obtained "
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonConfiguration.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonConfiguration.java
index 3ca37d7..53f05a1 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonConfiguration.java
@@ -30,7 +30,6 @@
import com.google.devtools.common.options.Converter;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
/**
@@ -110,8 +109,7 @@
@Option(
name = "experimental_python_import_all_repositories",
defaultValue = "true",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Do not use."
)
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java b/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java
index 6ed7367..b8be5e0 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java
@@ -40,7 +40,6 @@
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
import com.google.devtools.common.options.OptionsClassProvider;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.OptionsParsingException;
import com.google.devtools.common.options.OptionsProvider;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
@@ -143,10 +142,9 @@
@Option(
name = "dump_makefile",
defaultValue = "false",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
metadataTags = {OptionMetadataTag.DEPRECATED},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help = "this flag has no effect."
)
public boolean dumpMakefile;
@@ -155,10 +153,9 @@
@Option(
name = "dump_action_graph",
defaultValue = "false",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
metadataTags = {OptionMetadataTag.DEPRECATED},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help = "this flag has no effect."
)
public boolean dumpActionGraph;
@@ -168,10 +165,9 @@
name = "dump_action_graph_for_package",
allowMultiple = true,
defaultValue = "",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
metadataTags = {OptionMetadataTag.DEPRECATED},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help = "this flag has no effect."
)
public List<String> dumpActionGraphForPackage = new ArrayList<>();
@@ -180,10 +176,9 @@
@Option(
name = "dump_action_graph_with_middlemen",
defaultValue = "true",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
metadataTags = {OptionMetadataTag.DEPRECATED},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help = "this flag has no effect."
)
public boolean dumpActionGraphWithMiddlemen;
@@ -192,10 +187,9 @@
@Option(
name = "dump_providers",
defaultValue = "false",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
metadataTags = {OptionMetadataTag.DEPRECATED},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help = "This is a no-op."
)
public boolean dumpProviders;
@@ -204,10 +198,9 @@
@Option(
name = "dump_targets",
defaultValue = "null",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
metadataTags = {OptionMetadataTag.DEPRECATED},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help = "this flag has no effect."
)
public String dumpTargets;
@@ -216,10 +209,9 @@
@Option(
name = "dump_host_deps",
defaultValue = "true",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
metadataTags = {OptionMetadataTag.DEPRECATED},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help = "Deprecated"
)
public boolean dumpHostDeps;
@@ -228,10 +220,9 @@
@Option(
name = "dump_to_stdout",
defaultValue = "false",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
metadataTags = {OptionMetadataTag.DEPRECATED},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help = "Deprecated"
)
public boolean dumpToStdout;
@@ -239,13 +230,12 @@
@Option(
name = "analyze",
defaultValue = "true",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {
OptionEffectTag.LOADING_AND_ANALYSIS,
OptionEffectTag.EAGERNESS_TO_EXIT,
OptionEffectTag.AFFECTS_OUTPUTS
},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help =
"Execute the analysis phase; this is the usual behaviour. Specifying --noanalyze causes "
+ "the build to stop before starting the analysis phase, returning zero iff the "
@@ -306,9 +296,8 @@
@Option(
name = "experimental_show_artifacts",
defaultValue = "false",
- documentationCategory = OptionDocumentationCategory.LOGGING,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.AFFECTS_OUTPUTS},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help =
"Output a list of all top level artifacts produced by this build."
+ "Use output format suitable for tool consumption. "
@@ -360,9 +349,8 @@
name = "output_tree_tracking",
oldName = "experimental_output_tree_tracking",
defaultValue = "true",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.BAZEL_INTERNAL_CONFIGURATION},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help =
"If set, tell the output service (if any) to track when files in the output "
+ "tree have been modified externally (not by the build system). "
@@ -394,12 +382,11 @@
@Option(
name = "use_action_cache",
defaultValue = "true",
- documentationCategory = OptionDocumentationCategory.EXECUTION_STRATEGY,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {
OptionEffectTag.BAZEL_INTERNAL_CONFIGURATION,
OptionEffectTag.HOST_MACHINE_RESOURCE_OPTIMIZATIONS
},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help = "Whether to use the action cache"
)
public boolean useActionCache;
diff --git a/src/main/java/com/google/devtools/build/lib/exec/ExecutionOptions.java b/src/main/java/com/google/devtools/build/lib/exec/ExecutionOptions.java
index 7462cff..2436640 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/ExecutionOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/ExecutionOptions.java
@@ -23,7 +23,6 @@
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.Options;
import com.google.devtools.common.options.OptionsBase;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import java.util.Map;
@@ -272,8 +271,7 @@
@Option(
name = "debug_print_action_contexts",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Print the contents of the SpawnActionContext and ContextProviders maps."
)
@@ -282,8 +280,7 @@
@Option(
name = "cache_computed_file_digests",
defaultValue = "50000",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"If greater than 0, configures Blaze to cache file digests in memory based on their "
@@ -297,8 +294,7 @@
@Option(
name = "experimental_enable_critical_path_profiling",
defaultValue = "true",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"If set (the default), critical path profiling is enabled for the execution phase. "
diff --git a/src/main/java/com/google/devtools/build/lib/exec/local/LocalExecutionOptions.java b/src/main/java/com/google/devtools/build/lib/exec/local/LocalExecutionOptions.java
index 9aa93d2..f13c263 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/local/LocalExecutionOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/local/LocalExecutionOptions.java
@@ -17,7 +17,6 @@
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import java.util.regex.Pattern;
@@ -41,9 +40,8 @@
@Option(
name = "allowed_local_actions_regex",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
converter = Converters.RegexPatternConverter.class,
defaultValue = "null",
help =
diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/LoadingOptions.java b/src/main/java/com/google/devtools/build/lib/pkgcache/LoadingOptions.java
index 0cb1394..c651e25 100644
--- a/src/main/java/com/google/devtools/build/lib/pkgcache/LoadingOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/pkgcache/LoadingOptions.java
@@ -19,7 +19,6 @@
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import java.util.List;
import java.util.Set;
@@ -156,8 +155,7 @@
@Option(
name = "experimental_skyframe_target_pattern_evaluator",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Use the Skyframe-based target pattern evaluator; implies "
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 8f0895d..0f7bbda 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
@@ -27,7 +27,6 @@
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.OptionsParsingException;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import java.util.List;
@@ -120,9 +119,8 @@
@Option(
name = "default_visibility",
defaultValue = "private",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
converter = DefaultVisibilityConverter.class,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Default visibility for packages that don't set it explicitly ('public' or " + "'private')."
@@ -132,8 +130,7 @@
@Option(
name = "legacy_globbing_threads",
defaultValue = "100",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Number of threads to use for glob evaluation."
)
@@ -142,8 +139,7 @@
@Option(
name = "experimental_max_directories_to_eagerly_visit_in_globbing",
defaultValue = "-1",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"If non-negative, the first time a glob is evaluated in a package, the subdirectories of "
@@ -155,8 +151,7 @@
@Option(
name = "fetch",
defaultValue = "true",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Allows the command to fetch external dependencies"
)
@@ -165,8 +160,7 @@
@Option(
name = "experimental_check_output_files",
defaultValue = "true",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Check for modifications made to the output files of a build. Consider setting "
diff --git a/src/main/java/com/google/devtools/build/lib/query2/output/QueryOptions.java b/src/main/java/com/google/devtools/build/lib/query2/output/QueryOptions.java
index ee29c02..2b23760 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/output/QueryOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/output/QueryOptions.java
@@ -19,7 +19,6 @@
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import java.util.EnumSet;
import java.util.List;
@@ -147,8 +146,7 @@
@Option(
name = "loading_phase_threads",
defaultValue = "200",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Number of parallel threads to use for the loading phase."
)
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
index 2d01836..f5664c15 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
@@ -38,9 +38,9 @@
import com.google.devtools.common.options.EnumConverter;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.OptionsParsingException;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
+import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.util.List;
import java.util.Set;
@@ -231,9 +231,9 @@
name = "Android configuration distinguisher",
defaultValue = "MAIN",
converter = ConfigurationDistinguisherConverter.class,
- optionUsageRestrictions = OptionUsageRestrictions.INTERNAL,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
- effectTags = {OptionEffectTag.UNKNOWN}
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
+ effectTags = {OptionEffectTag.UNKNOWN},
+ metadataTags = {OptionMetadataTag.INTERNAL}
)
public ConfigurationDistinguisher configurationDistinguisher;
@@ -243,8 +243,7 @@
@Option(
name = "android_incremental_native_libs",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN}
)
public boolean incrementalNativeLibs;
@@ -295,8 +294,7 @@
name = "android_dynamic_mode",
defaultValue = "off",
converter = DynamicModeConverter.class,
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Determines whether C++ deps of Android rules will be linked dynamically when a "
@@ -342,8 +340,7 @@
@Option(
name = "experimental_desugar_for_android",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Whether to desugar Java 8 bytecode before dexing."
)
@@ -363,8 +360,8 @@
@Option(
name = "host_incremental_dexing",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ metadataTags = {OptionMetadataTag.HIDDEN},
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"This flag is deprecated in favor of applying --incremental_dexing to both host "
@@ -379,10 +376,9 @@
@Option(
name = "incremental_dexing_binary_types",
defaultValue = "all",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
converter = AndroidBinaryTypesConverter.class,
implicitRequirements = "--incremental_dexing",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Kinds of binaries to incrementally dex if --incremental_dexing is true."
)
@@ -394,8 +390,7 @@
name = "experimental_incremental_dexing_for_lite_protos",
defaultValue = "true",
category = "experimental",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Do not use."
)
@@ -409,8 +404,7 @@
name = "experimental_incremental_dexing_error_on_missed_jars",
defaultValue = "true",
category = "experimental",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Do not use."
)
@@ -420,8 +414,7 @@
name = "experimental_android_use_parallel_dex2oat",
category = "experimental",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Use dex2oat in parallel to possibly speed up android_test."
)
@@ -434,8 +427,7 @@
converter = Converters.CommaSeparatedOptionListConverter.class,
defaultValue = "--positions",
category = "semantics",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"dx flags that that prevent incremental dexing for binary targets that list any of "
@@ -453,8 +445,8 @@
name = "dexopts_supported_in_incremental_dexing",
converter = Converters.CommaSeparatedOptionListConverter.class,
defaultValue = "--no-optimize,--no-locals",
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ metadataTags = {OptionMetadataTag.HIDDEN},
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "dx flags supported when converting Jars to dex archives incrementally."
)
@@ -467,8 +459,8 @@
name = "dexopts_supported_in_dexmerger",
converter = Converters.CommaSeparatedOptionListConverter.class,
defaultValue = "--no-optimize,--no-locals,--minimal-main-dex,--set-max-idx-number",
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ metadataTags = {OptionMetadataTag.HIDDEN},
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "dx flags supported in tool that merges dex archives into final classes.dex files."
)
@@ -477,8 +469,7 @@
@Option(
name = "experimental_android_rewrite_dexes_with_rex",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "use rex tool to rewrite dex files"
)
@@ -487,8 +478,7 @@
@Option(
name = "experimental_allow_android_library_deps_without_srcs",
defaultValue = "true",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Flag to help transition from allowing to disallowing srcs-less android_library"
@@ -499,8 +489,7 @@
@Option(
name = "experimental_android_resource_shrinking",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Enables resource shrinking for android_binary APKs that use ProGuard."
)
@@ -533,8 +522,7 @@
name = "android_aapt",
defaultValue = "aapt",
category = "semantics",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
converter = AndroidAaptConverter.class,
help =
@@ -547,8 +535,7 @@
@Option(
name = "experimental_use_parallel_android_resource_processing",
defaultValue = "true",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Process android_library resources with higher parallelism. Generates library "
@@ -560,8 +547,7 @@
name = "apk_signing_method",
converter = ApkSigningMethodConverter.class,
defaultValue = "v1_v2",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Implementation to use to sign APKs"
)
@@ -570,8 +556,7 @@
@Option(
name = "use_singlejar_apkbuilder",
defaultValue = "true",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Build Android APKs with SingleJar."
)
@@ -580,10 +565,10 @@
@Option(
name = "experimental_android_use_singlejar_for_multidex",
defaultValue = "true",
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
deprecationWarning =
"This flag is deprecated and is a no-op. It will be removed in a future release.",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "This flag is deprecated and is a no-op. It will be removed in a future release."
)
@@ -593,8 +578,7 @@
name = "experimental_android_resource_filtering_method",
converter = ResourceFilter.Converter.class,
defaultValue = "filter_in_execution",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Determines when resource filtering attributes, such as the android_binary "
@@ -615,8 +599,7 @@
@Option(
name = "experimental_android_compress_java_resources",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Compress Java resources in APKs"
)
@@ -625,8 +608,7 @@
@Option(
name = "experimental_android_include_library_resource_jars",
defaultValue = "true",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Specifies whether resource JAR files for android_library targets should be included"
@@ -639,8 +621,7 @@
@Option(
name = "experimental_android_use_nocompress_extensions_on_apk",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Use the value of nocompress_extensions attribute with the SingleJar "
@@ -651,7 +632,6 @@
@Option(
name = "experimental_android_library_exports_manifest_default",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.DOCUMENTED,
documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "The default value of the exports_manifest attribute on android_library."
@@ -661,8 +641,7 @@
@Option(
name = "experimental_android_generate_robolectric_r_class",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"If passed, R classes will be generated for Robolectric tests. Otherwise, only inherited"
diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/AppleCommandLineOptions.java b/src/main/java/com/google/devtools/build/lib/rules/apple/AppleCommandLineOptions.java
index de001a3..748f1df 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/apple/AppleCommandLineOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/apple/AppleCommandLineOptions.java
@@ -30,8 +30,8 @@
import com.google.devtools.common.options.EnumConverter;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
+import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.util.List;
/**
@@ -189,9 +189,8 @@
@Option(
name = "apple_platform_type",
defaultValue = "IOS",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
converter = PlatformTypeConverter.class,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Don't set this value from the command line - it is derived from other flags and "
@@ -202,8 +201,7 @@
@Option(
name = "apple_split_cpu",
defaultValue = "",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Don't set this value from the command line - it is derived from other flags and "
@@ -221,9 +219,9 @@
name = "apple configuration distinguisher",
defaultValue = "UNKNOWN",
converter = ConfigurationDistinguisherConverter.class,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
- optionUsageRestrictions = OptionUsageRestrictions.INTERNAL
+ metadataTags = {OptionMetadataTag.INTERNAL}
)
public ConfigurationDistinguisher configurationDistinguisher;
@@ -276,8 +274,7 @@
@Option(
name = "default_ios_provisioning_profile",
defaultValue = "",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
converter = DefaultProvisioningProfileConverter.class
)
@@ -286,9 +283,8 @@
@Option(
name = "xcode_version_config",
defaultValue = "@local_config_xcode//:host_xcodes",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
converter = LabelConverter.class,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"The label of the xcode_config rule to be used for selecting the Xcode version "
@@ -341,8 +337,7 @@
@Option(
name = "apple_crosstool_transition",
defaultValue = "true",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "If true, the apple crosstool is used for all apple rules."
)
@@ -351,8 +346,7 @@
@Option(
name = "target_uses_apple_crosstool",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "If true, this target uses the apple crosstool. Do not set this flag manually."
)
diff --git a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagConfiguration.java
index bd8507f..3ebdcb3 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagConfiguration.java
@@ -29,8 +29,8 @@
import com.google.devtools.common.options.Converter;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
+import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.util.Map;
import java.util.SortedMap;
import javax.annotation.Nullable;
@@ -60,9 +60,9 @@
/** The mapping from config_feature_flag rules to their values. */
@Option(
name = "config_feature_flag values (private)",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
- optionUsageRestrictions = OptionUsageRestrictions.INTERNAL,
+ metadataTags = {OptionMetadataTag.INTERNAL},
converter = EmptyImmutableSortedMapConverter.class,
defaultValue = "{}"
)
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java
index a705b3e..0b96a68 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java
@@ -34,9 +34,9 @@
import com.google.devtools.common.options.EnumConverter;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.OptionsParsingException;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
+import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
@@ -585,9 +585,9 @@
@Option(
name = "lipo configuration state",
defaultValue = "apply_lipo",
- optionUsageRestrictions = OptionUsageRestrictions.INTERNAL,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
+ metadataTags = {OptionMetadataTag.INTERNAL},
converter = LipoConfigurationStateConverter.class
)
public LipoConfigurationState lipoConfigurationState;
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
index 2d52cfb..d6305db 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
@@ -29,7 +29,6 @@
import com.google.devtools.common.options.EnumConverter;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.TriState;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import java.util.HashMap;
@@ -155,8 +154,7 @@
@Option(
name = "use_src_ijars",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "No-op. Kept here for backwards compatibility."
)
@@ -178,8 +176,7 @@
@Option(
name = "experimental_optimize_header_compilation_annotation_processing",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "This flag is a noop and scheduled for removal."
)
@@ -261,8 +258,7 @@
@Option(
name = "experimental_testrunner",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Use the experimental test runner in bazel which runs the tests under a separate "
@@ -274,8 +270,7 @@
@Option(
name = "javabuilder_top",
defaultValue = "null",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "No-op. Kept here for backwards compatibility."
)
@@ -284,8 +279,7 @@
@Option(
name = "singlejar_top",
defaultValue = "null",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "No-op. Kept here for backwards compatibility."
)
@@ -294,8 +288,7 @@
@Option(
name = "genclass_top",
defaultValue = "null",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "No-op. Kept here for backwards compatibility."
)
@@ -304,8 +297,7 @@
@Option(
name = "ijar_top",
defaultValue = "null",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "No-op. Kept here for backwards compatibility."
)
@@ -314,8 +306,7 @@
@Option(
name = "java_langtools",
defaultValue = "null",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "No-op. Kept here for backwards compatibility."
)
@@ -324,8 +315,7 @@
@Option(
name = "javac_bootclasspath",
defaultValue = "null",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "No-op. Kept here for backwards compatibility."
)
@@ -334,8 +324,7 @@
@Option(
name = "javac_extdir",
defaultValue = "null",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "No-op. Kept here for backwards compatibility."
)
@@ -383,8 +372,7 @@
allowMultiple = true,
defaultValue = "", // Ignored
converter = LabelConverter.class,
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Additional Proguard specs that will be used for all Proguard invocations. Note that "
@@ -401,8 +389,7 @@
name = "experimental_bytecode_optimizers",
defaultValue = "Proguard",
converter = LabelMapConverter.class,
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Do not use."
)
@@ -444,8 +431,7 @@
@Option(
name = "experimental_disable_jvm",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Disables the Jvm configuration entirely."
)
@@ -455,8 +441,7 @@
name = "java_optimization_mode",
defaultValue = "legacy",
converter = JavaOptimizationModeConverter.class,
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Applies desired link-time optimizations to Java binaries and tests."
)
@@ -465,8 +450,7 @@
@Option(
name = "legacy_bazel_java_test",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Use the legacy mode of Bazel for java_test."
)
@@ -475,8 +459,7 @@
@Option(
name = "strict_deps_java_protos",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"When 'strict-deps' is on, .java files that depend on classes not declared in their rule's "
@@ -489,8 +472,7 @@
@Option(
name = "experimental_java_header_compilation_disable_javac_fallback",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"If --java_header_compilation is set, report diagnostics from turbine instead of falling "
@@ -502,8 +484,7 @@
name = "experimental_one_version_enforcement",
defaultValue = "OFF",
converter = OneVersionEnforcementLevelConverter.class,
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"When enabled, enforce that a java_binary rule can't contain more than one version "
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcCommandLineOptions.java b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcCommandLineOptions.java
index a1074d0..fe74a20 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcCommandLineOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcCommandLineOptions.java
@@ -20,7 +20,6 @@
import com.google.devtools.common.options.Converters;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import java.util.List;
@@ -45,8 +44,7 @@
@Option(
name = "j2objc_dead_code_removal",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Whether to perform J2ObjC dead code removal to strip unused code from the final app "
@@ -57,9 +55,8 @@
@Option(
name = "j2objc_dead_code_report",
defaultValue = "null",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
converter = LabelConverter.class,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Allows J2ObjC to strip dead code reported by ProGuard. Takes a label that can "
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java
index e4401fc..848d6b0 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java
@@ -23,7 +23,6 @@
import com.google.devtools.common.options.EnumConverter;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import java.util.List;
@@ -139,8 +138,7 @@
@Option(
name = "experimental_enable_objc_cc_deps",
defaultValue = "true",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Allows objc_* rules to depend on cc_library and causes any objc dependencies to be "
@@ -151,9 +149,8 @@
@Option(
name = "experimental_objc_fastbuild_options",
defaultValue = "-O0,-DDEBUG=1",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
converter = CommaSeparatedOptionListConverter.class,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Uses these strings as objc fastbuild compiler options."
)
@@ -162,8 +159,7 @@
@Option(
name = "experimental_objc_enable_module_maps",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Enables module map generation and interpretation."
)
@@ -208,8 +204,7 @@
@Option(
name = "objc_debug_with_GLIBCXX",
defaultValue = "true",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"If set, and compilation mode is set to 'dbg', define GLIBCXX_DEBUG, "
@@ -278,8 +273,7 @@
@Option(
name = "experimental_objc_crosstool",
defaultValue = "off",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
converter = ObjcCrosstoolUsageConverter.class
)
@@ -322,8 +316,7 @@
@Option(
name = "objc_header_thinning_partition_size",
defaultValue = "120",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "The maximum number of source files to process within in each header scanning action."
)
@@ -332,9 +325,8 @@
@Option(
name = "objc_header_scanner_tool",
defaultValue = "@bazel_tools//tools/objc:header_scanner",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
converter = LabelConverter.class,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Location of tool to scan Objective-C code for inclusions and output a .headers_list "
@@ -345,9 +337,8 @@
@Option(
name = "apple_sdk",
defaultValue = "null",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
converter = LabelConverter.class,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Location of target that will provide the appropriate Apple SDK for the current build "
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandEventHandler.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandEventHandler.java
index 187aa12..1db3ccf 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandEventHandler.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandEventHandler.java
@@ -22,8 +22,8 @@
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
+import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
@@ -114,8 +114,8 @@
@Option(
name = "terminal_columns",
defaultValue = "80",
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ metadataTags = {OptionMetadataTag.HIDDEN},
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "A system-generated parameter which specifies the terminal width in columns."
)
@@ -124,8 +124,8 @@
@Option(
name = "isatty",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ metadataTags = {OptionMetadataTag.HIDDEN},
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"A system-generated parameter which is used to notify the "
@@ -141,8 +141,7 @@
@Option(
name = "emacs",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"A system-generated parameter which is true iff EMACS=t or INSIDE_EMACS is set "
@@ -208,8 +207,8 @@
@Option(
name = "experimental_ui_debug_all_events",
defaultValue = "false",
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ metadataTags = {OptionMetadataTag.HIDDEN},
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help = "Report all events known to the experimental new Bazel UI."
)
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeServerStartupOptions.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeServerStartupOptions.java
index 17fb032..79c0935 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeServerStartupOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeServerStartupOptions.java
@@ -20,7 +20,6 @@
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.util.Map;
@@ -81,9 +80,9 @@
@Option(
name = "install_base",
defaultValue = "", // NOTE: purely decorative! See class docstring.
- documentationCategory = OptionDocumentationCategory.BAZEL_CLIENT_OPTIONS,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.CHANGES_INPUTS, OptionEffectTag.LOSES_INCREMENTAL_STATE},
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
converter = OptionsUtils.PathFragmentConverter.class,
help = "This launcher option is intended for use only by tests."
)
@@ -96,12 +95,9 @@
@Option(
name = "install_md5",
defaultValue = "", // NOTE: purely decorative! See class docstring.
- documentationCategory = OptionDocumentationCategory.BAZEL_CLIENT_OPTIONS,
- effectTags = {
- OptionEffectTag.LOSES_INCREMENTAL_STATE,
- OptionEffectTag.BAZEL_MONITORING
- },
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
+ effectTags = {OptionEffectTag.LOSES_INCREMENTAL_STATE, OptionEffectTag.BAZEL_MONITORING},
+ metadataTags = {OptionMetadataTag.HIDDEN},
help = "This launcher option is intended for use only by tests."
)
public String installMD5;
@@ -154,9 +150,9 @@
@Option(
name = "workspace_directory",
defaultValue = "",
- documentationCategory = OptionDocumentationCategory.BAZEL_CLIENT_OPTIONS,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.CHANGES_INPUTS, OptionEffectTag.LOSES_INCREMENTAL_STATE},
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
converter = OptionsUtils.PathFragmentConverter.class,
help =
"The root of the workspace, that is, the directory that Blaze uses as the root of the "
@@ -298,8 +294,7 @@
@Option(
name = "fatal_event_bus_exceptions",
defaultValue = "false", // NOTE: purely decorative!
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.EAGERNESS_TO_EXIT, OptionEffectTag.LOSES_INCREMENTAL_STATE},
help = "Whether or not to exit if an exception is thrown by an internal EventBus handler."
)
@@ -309,9 +304,9 @@
name = "option_sources",
converter = OptionSourcesConverter.class,
defaultValue = "",
- documentationCategory = OptionDocumentationCategory.BAZEL_CLIENT_OPTIONS,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.AFFECTS_OUTPUTS},
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
help = ""
)
public Map<String, String> optionSources;
@@ -334,9 +329,8 @@
@Option(
name = "invocation_policy",
defaultValue = "",
- documentationCategory = OptionDocumentationCategory.BAZEL_CLIENT_OPTIONS,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.CHANGES_INPUTS},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help =
"A base64-encoded-binary-serialized or text-formated "
+ "invocation_policy.InvocationPolicy proto. Unlike other options, it is an error to "
@@ -347,12 +341,11 @@
@Option(
name = "command_port",
defaultValue = "0",
- documentationCategory = OptionDocumentationCategory.BAZEL_CLIENT_OPTIONS,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {
OptionEffectTag.LOSES_INCREMENTAL_STATE,
OptionEffectTag.BAZEL_INTERNAL_CONFIGURATION
},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help = "Port to start up the gRPC command server on. If 0, let the kernel choose."
)
public int commandPort;
@@ -360,13 +353,13 @@
@Option(
name = "product_name",
defaultValue = "bazel", // NOTE: purely decorative!
- documentationCategory = OptionDocumentationCategory.BAZEL_CLIENT_OPTIONS,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {
OptionEffectTag.LOSES_INCREMENTAL_STATE,
OptionEffectTag.AFFECTS_OUTPUTS,
OptionEffectTag.BAZEL_MONITORING
},
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
help =
"The name of the build system. It is used as part of the name of the generated "
+ "directories (e.g. productName-bin for binaries) as well as for printing error "
@@ -388,9 +381,8 @@
@Option(
name = "write_command_log",
defaultValue = "true",
- documentationCategory = OptionDocumentationCategory.BAZEL_CLIENT_OPTIONS,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.AFFECTS_OUTPUTS, OptionEffectTag.LOSES_INCREMENTAL_STATE},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help = "Whether or not to write the command.log file"
)
public boolean writeCommandLog;
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/CommonCommandOptions.java b/src/main/java/com/google/devtools/build/lib/runtime/CommonCommandOptions.java
index 110ef96..80de8aa 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/CommonCommandOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/CommonCommandOptions.java
@@ -20,7 +20,6 @@
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.OptionsParsingException;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
@@ -146,8 +145,8 @@
@Option(
name = "client_env",
defaultValue = "",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
+ metadataTags = {OptionMetadataTag.HIDDEN},
effectTags = {OptionEffectTag.CHANGES_INPUTS},
converter = Converters.AssignmentConverter.class,
allowMultiple = true,
@@ -159,10 +158,9 @@
@Option(
name = "ignore_client_env",
defaultValue = "false",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
+ metadataTags = {OptionMetadataTag.HIDDEN, OptionMetadataTag.DEPRECATED},
effectTags = {OptionEffectTag.NO_OP},
- metadataTags = OptionMetadataTag.DEPRECATED,
deprecationWarning = "Deprecated, no-op.",
help = "Deprecated, no-op."
)
@@ -173,8 +171,8 @@
@Option(
name = "client_cwd",
defaultValue = "",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
+ metadataTags = {OptionMetadataTag.HIDDEN},
effectTags = {OptionEffectTag.CHANGES_INPUTS},
converter = OptionsUtils.PathFragmentConverter.class,
help = "A system-generated parameter which specifies the client's working directory"
@@ -200,9 +198,9 @@
name = "default_override",
defaultValue = "",
allowMultiple = true,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.CHANGES_INPUTS},
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
converter = OptionOverrideConverter.class,
help = ""
)
@@ -213,9 +211,9 @@
name = "rc_source",
defaultValue = "",
allowMultiple = true,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.CHANGES_INPUTS},
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
help = ""
)
public List<String> rcSource;
@@ -223,9 +221,8 @@
@Option(
name = "always_profile_slow_operations",
defaultValue = "true",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.AFFECTS_OUTPUTS, OptionEffectTag.BAZEL_INTERNAL_CONFIGURATION},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help = "Whether profiling slow operations is always turned on"
)
public boolean alwaysProfileSlowOperations;
@@ -256,9 +253,8 @@
@Option(
name = "record_full_profiler_data",
defaultValue = "false",
- documentationCategory = OptionDocumentationCategory.LOGGING,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.AFFECTS_OUTPUTS, OptionEffectTag.BAZEL_MONITORING},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help =
"By default, Blaze profiler will record only aggregated data for fast but numerous "
+ "events (such as statting the file). If this option is enabled, profiler will record "
@@ -270,9 +266,8 @@
@Option(
name = "memory_profile",
defaultValue = "null",
- documentationCategory = OptionDocumentationCategory.LOGGING,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.AFFECTS_OUTPUTS, OptionEffectTag.BAZEL_MONITORING},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
converter = OptionsUtils.PathFragmentConverter.class,
help = "If set, write memory usage data to the specified file at phase ends."
)
@@ -282,10 +277,9 @@
@Option(
name = "gc_watchdog",
defaultValue = "false",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
metadataTags = {OptionMetadataTag.DEPRECATED},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
deprecationWarning = "Ignoring: this option is no longer supported",
help = "Deprecated."
)
@@ -294,9 +288,9 @@
@Option(
name = "startup_time",
defaultValue = "0",
- documentationCategory = OptionDocumentationCategory.LOGGING,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.AFFECTS_OUTPUTS, OptionEffectTag.BAZEL_MONITORING},
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
help = "The time in ms the launcher spends before sending the request to the blaze server."
)
public long startupTime;
@@ -304,9 +298,9 @@
@Option(
name = "extract_data_time",
defaultValue = "0",
- documentationCategory = OptionDocumentationCategory.LOGGING,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.AFFECTS_OUTPUTS, OptionEffectTag.BAZEL_MONITORING},
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
help = "The time in ms spent on extracting the new blaze version."
)
public long extractDataTime;
@@ -314,9 +308,9 @@
@Option(
name = "command_wait_time",
defaultValue = "0",
- documentationCategory = OptionDocumentationCategory.LOGGING,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.AFFECTS_OUTPUTS, OptionEffectTag.BAZEL_MONITORING},
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
help = "The time in ms a command had to wait on a busy Blaze server process."
)
public long waitTime;
@@ -334,9 +328,9 @@
@Option(
name = "restart_reason",
defaultValue = "no_restart",
- documentationCategory = OptionDocumentationCategory.LOGGING,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.AFFECTS_OUTPUTS, OptionEffectTag.BAZEL_MONITORING},
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
help = "The reason for the server restart."
)
public String restartReason;
@@ -344,9 +338,9 @@
@Option(
name = "binary_path",
defaultValue = "",
- documentationCategory = OptionDocumentationCategory.LOGGING,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.AFFECTS_OUTPUTS, OptionEffectTag.BAZEL_MONITORING},
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
help = "The absolute path of the blaze binary."
)
public String binaryPath;
@@ -354,10 +348,9 @@
@Option(
name = "experimental_allow_project_files",
defaultValue = "false",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.CHANGES_INPUTS},
- metadataTags = {OptionMetadataTag.EXPERIMENTAL},
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.EXPERIMENTAL, OptionMetadataTag.HIDDEN},
help = "Enable processing of +<file> parameters."
)
public boolean allowProjectFiles;
@@ -365,9 +358,9 @@
@Option(
name = "block_for_lock",
defaultValue = "true",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.BAZEL_INTERNAL_CONFIGURATION},
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
help =
"If set (the default), a command will block if there is another one running. If "
+ "unset, these commands will immediately return with an error."
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 53540e6..d58bab1 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
@@ -30,7 +30,6 @@
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
import com.google.devtools.common.options.OptionsParser;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.OptionsParsingException;
import com.google.devtools.common.options.OptionsProvider;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
@@ -103,18 +102,16 @@
@Option(
name = "flag_clash_canary",
defaultValue = "false",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
- effectTags = {OptionEffectTag.UNKNOWN},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
+ effectTags = {OptionEffectTag.UNKNOWN}
)
public boolean flagClashCanary;
@Option(
name = "flag_clash_canary_expander1",
defaultValue = "null",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
expansion = {"--flag_clash_canary=1"}
)
public Void flagClashCanaryExpander1;
@@ -122,9 +119,8 @@
@Option(
name = "flag_clash_canary_expander2",
defaultValue = "null",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
expansion = {"--flag_clash_canary=0"}
)
public Void flagClashCanaryExpander2;
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 4ed187f..70feace 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
@@ -43,7 +43,6 @@
import com.google.devtools.common.options.OptionPriority;
import com.google.devtools.common.options.OptionsBase;
import com.google.devtools.common.options.OptionsParser;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.OptionsParsingException;
import com.google.devtools.common.options.OptionsProvider;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
@@ -135,15 +134,14 @@
category = "mobile-install",
defaultValue = "classic",
converter = ModeConverter.class,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Select how to run mobile-install. \"classic\" runs the current version of "
+ "mobile-install. \"skylark\" uses the new skylark version, which has support for "
+ "android_test. \"skylark_incremental_res\" is the same as \"skylark\" plus "
+ "incremental resource processing. \"skylark_incremental_res\" requires a device "
- + "with root access.",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED
+ + "with root access."
)
public Mode mode;
@@ -151,10 +149,9 @@
name = "mobile_install_aspect",
category = "mobile-install",
defaultValue = "@android_test_support//tools/android/mobile_install:mobile-install.bzl",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
- help = "The aspect to use for mobile-install.",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED
+ help = "The aspect to use for mobile-install."
)
public String mobileInstallAspect;
}
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemanticsOptions.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemanticsOptions.java
index d77fda8..b73b0a4 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemanticsOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemanticsOptions.java
@@ -17,7 +17,6 @@
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.UsesOnlyCoreTypes;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
@@ -42,9 +41,8 @@
@Option(
name = "internal_skylark_flag_test_canary",
defaultValue = "false",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
- effectTags = {OptionEffectTag.UNKNOWN},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
+ effectTags = {OptionEffectTag.UNKNOWN}
)
public boolean skylarkFlagTestCanary;
@@ -200,10 +198,9 @@
name = "incompatible_descriptive_string_representations",
defaultValue = "false",
category = "incompatible changes",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
metadataTags = {OptionMetadataTag.INCOMPATIBLE_CHANGE},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help =
"If set to true, objects are converted to strings by `str` and `repr` functions using the "
+ "new style representations that are designed to be more descriptive and not to leak "
diff --git a/src/main/java/com/google/devtools/common/options/IsolatedOptionsData.java b/src/main/java/com/google/devtools/common/options/IsolatedOptionsData.java
index 6f682ea..103b631 100644
--- a/src/main/java/com/google/devtools/common/options/IsolatedOptionsData.java
+++ b/src/main/java/com/google/devtools/common/options/IsolatedOptionsData.java
@@ -19,6 +19,7 @@
import com.google.common.collect.Ordering;
import com.google.devtools.common.options.OptionsParser.ConstructionException;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
+import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
@@ -390,6 +391,23 @@
}
}
+ private static void checkMetadataTagAndCategoryRationality(
+ String optionName, OptionMetadataTag[] metadataTags, OptionDocumentationCategory category) {
+ for (OptionMetadataTag tag : metadataTags) {
+ if (tag == OptionMetadataTag.HIDDEN || tag == OptionMetadataTag.INTERNAL) {
+ if (category != OptionDocumentationCategory.UNDOCUMENTED) {
+ throw new ConstructionException(
+ "Option "
+ + optionName
+ + " has metadata tag "
+ + tag
+ + " but does not have category UNDOCUMENTED. "
+ + "Please fix.");
+ }
+ }
+ }
+ }
+
/**
* Constructs an {@link IsolatedOptionsData} object for a parser that knows about the given
* {@link OptionsBase} classes. No inter-option analysis is done. Performs basic sanity checking
@@ -438,6 +456,8 @@
}
checkEffectTagRationality(optionName, annotation.effectTags());
+ checkMetadataTagAndCategoryRationality(
+ optionName, annotation.metadataTags(), annotation.documentationCategory());
Type fieldType = getFieldSingularType(field, annotation);
// For simple, static expansions, don't accept non-Void types.
diff --git a/src/main/java/com/google/devtools/common/options/Option.java b/src/main/java/com/google/devtools/common/options/Option.java
index e6c9207..21bd2ce 100644
--- a/src/main/java/com/google/devtools/common/options/Option.java
+++ b/src/main/java/com/google/devtools/common/options/Option.java
@@ -13,7 +13,6 @@
// limitations under the License.
package com.google.devtools.common.options;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.lang.annotation.ElementType;
@@ -90,20 +89,18 @@
/**
* Grouping categories used for usage documentation. See the enum's definition for details.
*
- * <p>For undocumented flags that aren't listed anywhere, this is currently a no-op. Feel free to
- * set the value that it would have if it were documented, which might be helpful if a flag is
- * part of an experimental feature that might become documented in the future, or just leave it as
- * OptionDocumentationCategory.UNCATEGORIZED.
+ * <p>For undocumented flags that aren't listed anywhere, set this to
+ * OptionDocumentationCategory.UNDOCUMENTED.
*
- * <p>For hidden or internal options, use the category field only if it is helpful for yourself or
- * other Bazel developers.
+ * <p>For hidden or internal options, please set this as UNDOCUMENTED and set the specific reason
+ * for this state in the metadataTags() field.
*/
OptionDocumentationCategory documentationCategory();
/**
* Tag about the intent or effect of this option. Unless this option is a no-op (and the reason
* for this should be documented) all options should have some effect, so this needs to have at
- * least one value.
+ * least one value, and as many as apply.
*
* <p>No option should list NO_OP or UNKNOWN with other effects listed, but all other combinations
* are allowed.
@@ -111,8 +108,8 @@
OptionEffectTag[] effectTags();
/**
- * Tag about the state of this option, such as if it gates an experimental feature, or is
- * deprecated.
+ * Tag about the option itself, not its effect, such as option state (experimental) or intended
+ * use (a value that isn't a flag but is used internally, for example, is "internal")
*
* <p>If one or more of the OptionMetadataTag values apply, please include, but otherwise, this
* list can be left blank.
@@ -120,38 +117,6 @@
OptionMetadataTag[] metadataTags() default {};
/**
- * Options have multiple uses, some flags, some not. For user-visible flags, they are
- * "documented," but otherwise, there are 3 types of undocumented options.
- *
- * <ul>
- * <li>{@code UNDOCUMENTED}: undocumented but user-usable flags. These options are useful for
- * (some subset of) users, but not meant to be publicly advertised. For example,
- * experimental options which are only meant to be used by specific testers or team members.
- * These options will not be listed in the usage info displayed for the {@code --help}
- * option. They are otherwise normal - {@link
- * OptionsParser.UnparsedOptionValueDescription#isHidden()} returns {@code false} for them,
- * and they can be parsed normally from the command line or RC files.
- * <li>{@code HIDDEN}: flags which users should not pass or know about, but which are used by
- * the program (e.g., communication between a command-line client and a backend server).
- * Like {@code "undocumented"} options, these options will not be listed in the usage info
- * displayed for the {@code --help} option. However, in addition to this, calling {@link
- * OptionsParser.UnparsedOptionValueDescription#isHidden()} on these options will return
- * {@code true} - for example, this can be checked to strip out such secret options when
- * logging or otherwise reporting the command line to the user. This category does not
- * affect the option in any other way; it can still be parsed normally from the command line
- * or an RC file.
- * <li>{@code INTERNAL}: these are not flags, but options which are purely for internal use
- * within the JVM, and should never be shown to the user, nor be parsed by the options
- * parser. Like {@code "hidden"} options, these options will not be listed in the usage info
- * displayed for the --help option, and are considered hidden by {@link
- * OptionsParser.UnparsedOptionValueDescription#isHidden()}. Unlike those, this type of
- * option cannot be parsed by any call to {@link OptionsParser#parse} - it will be treated
- * as if it was not defined.
- * </ul>
- */
- OptionUsageRestrictions optionUsageRestrictions() default OptionUsageRestrictions.DOCUMENTED;
-
- /**
* The converter that we'll use to convert the string representation of this option's value into
* an object or a simple type. The default is to use the builtin converters ({@link
* Converters#DEFAULT_CONVERTERS}). Custom converters must implement the {@link Converter}
diff --git a/src/main/java/com/google/devtools/common/options/OptionDocumentationCategory.java b/src/main/java/com/google/devtools/common/options/OptionDocumentationCategory.java
index eb39871..d1faaaf 100644
--- a/src/main/java/com/google/devtools/common/options/OptionDocumentationCategory.java
+++ b/src/main/java/com/google/devtools/common/options/OptionDocumentationCategory.java
@@ -29,6 +29,12 @@
UNCATEGORIZED,
/**
+ * A category for flags that are intended to not be listed, and for whom a documentation category
+ * does not make sense.
+ */
+ UNDOCUMENTED,
+
+ /**
* Startup options appear before the command and are parsed by the client. Changing them may cause
* a server restart, see OptionEffectTag.LOSES_INCREMENTAL_STATE.
*/
diff --git a/src/main/java/com/google/devtools/common/options/OptionsParser.java b/src/main/java/com/google/devtools/common/options/OptionsParser.java
index c007db8..1128ce0 100644
--- a/src/main/java/com/google/devtools/common/options/OptionsParser.java
+++ b/src/main/java/com/google/devtools/common/options/OptionsParser.java
@@ -21,6 +21,7 @@
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ListMultimap;
import com.google.common.escape.Escaper;
+import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.nio.file.FileSystem;
@@ -453,17 +454,21 @@
return field.getType().equals(boolean.class);
}
- private OptionUsageRestrictions optionUsageRestrictions() {
- return field.getAnnotation(Option.class).optionUsageRestrictions();
+ private OptionDocumentationCategory documentationCategory() {
+ return field.getAnnotation(Option.class).documentationCategory();
+ }
+
+ private ImmutableList<OptionMetadataTag> metadataTags() {
+ return ImmutableList.copyOf(field.getAnnotation(Option.class).metadataTags());
}
public boolean isDocumented() {
- return optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED;
+ return documentationCategory() != OptionDocumentationCategory.UNDOCUMENTED && !isHidden();
}
public boolean isHidden() {
- return optionUsageRestrictions() == OptionUsageRestrictions.HIDDEN
- || optionUsageRestrictions() == OptionUsageRestrictions.INTERNAL;
+ ImmutableList<OptionMetadataTag> tags = metadataTags();
+ return tags.contains(OptionMetadataTag.HIDDEN) || tags.contains(OptionMetadataTag.INTERNAL);
}
boolean isExpansion() {
@@ -517,22 +522,6 @@
public enum HelpVerbosity { LONG, MEDIUM, SHORT }
/**
- * The restrictions on an option. Only documented options are output as part of the help and are
- * intended for general user use. Undocumented options can be used by any user but aren't
- * advertised and in practice should be used by bazel developers or early adopters helping to test
- * a feature.
- *
- * <p>We use HIDDEN so that options that form the protocol between the client and the server are
- * not logged. These are flags, but should never be set by a user.
- *
- * <p>Options which are INTERNAL are not recognized by the parser at all, and so cannot be used as
- * flags.
- */
- public enum OptionUsageRestrictions {
- DOCUMENTED, UNDOCUMENTED, HIDDEN, INTERNAL
- }
-
- /**
* Returns a description of all the options this parser can digest. In addition to {@link Option}
* annotations, this method also interprets {@link OptionsUsage} annotations which give an
* intuitive short description for the options. Options of the same category (see {@link
@@ -560,7 +549,7 @@
Option option = optionField.getAnnotation(Option.class);
String category = option.category();
if (!category.equals(prevCategory)
- && option.optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED) {
+ && option.documentationCategory() != OptionDocumentationCategory.UNDOCUMENTED) {
String description = categoryDescriptions.get(category);
if (description == null) {
description = "Options category '" + category + "'";
@@ -569,7 +558,7 @@
prevCategory = category;
}
- if (option.optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED) {
+ if (option.documentationCategory() != OptionDocumentationCategory.UNDOCUMENTED) {
OptionsUsage.getUsage(optionField, desc, helpVerbosity, impl.getOptionsData());
}
}
@@ -603,7 +592,7 @@
Option option = optionField.getAnnotation(Option.class);
String category = option.category();
if (!category.equals(prevCategory)
- && option.optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED) {
+ && option.documentationCategory() != OptionDocumentationCategory.UNDOCUMENTED) {
String description = categoryDescriptions.get(category);
if (description == null) {
description = "Options category '" + category + "'";
@@ -616,7 +605,7 @@
prevCategory = category;
}
- if (option.optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED) {
+ if (option.documentationCategory() != OptionDocumentationCategory.UNDOCUMENTED) {
OptionsUsage.getUsageHtml(optionField, desc, escaper, impl.getOptionsData());
}
}
@@ -650,7 +639,7 @@
});
for (Field optionField : allFields) {
Option option = optionField.getAnnotation(Option.class);
- if (option.optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED) {
+ if (option.documentationCategory() != OptionDocumentationCategory.UNDOCUMENTED) {
OptionsUsage.getCompletion(optionField, desc);
}
}
@@ -811,7 +800,7 @@
/**
* Returns whether the given options class uses only the core types listed in {@link
- * OptionsBase#coreTypes}. These are guaranteed to be deeply immutable and serializable.
+ * UsesOnlyCoreTypes#CORE_TYPES}. These are guaranteed to be deeply immutable and serializable.
*/
public static boolean getUsesOnlyCoreTypes(Class<? extends OptionsBase> optionsClass) {
OptionsData data = OptionsParser.getOptionsDataInternal(optionsClass);
diff --git a/src/main/java/com/google/devtools/common/options/OptionsParserImpl.java b/src/main/java/com/google/devtools/common/options/OptionsParserImpl.java
index f599cea..e945137 100644
--- a/src/main/java/com/google/devtools/common/options/OptionsParserImpl.java
+++ b/src/main/java/com/google/devtools/common/options/OptionsParserImpl.java
@@ -27,9 +27,9 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
import com.google.devtools.common.options.OptionsParser.OptionDescription;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.OptionsParser.OptionValueDescription;
import com.google.devtools.common.options.OptionsParser.UnparsedOptionValueDescription;
+import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.util.ArrayList;
@@ -670,7 +670,7 @@
Option option = field == null ? null : field.getAnnotation(Option.class);
if (option == null
- || option.optionUsageRestrictions() == OptionUsageRestrictions.INTERNAL) {
+ || ImmutableList.copyOf(option.metadataTags()).contains(OptionMetadataTag.INTERNAL)) {
// This also covers internal options, which are treated as if they did not exist.
throw new OptionsParsingException("Unrecognized option: " + arg, arg);
}
diff --git a/src/main/protobuf/option_filters.proto b/src/main/protobuf/option_filters.proto
index 8f043d3..ca121c4 100644
--- a/src/main/protobuf/option_filters.proto
+++ b/src/main/protobuf/option_filters.proto
@@ -139,4 +139,13 @@
// This flag is deprecated. It might either no longer have any effect, or
// might no longer be supported.
DEPRECATED = 2;
+
+ // These are flags that should never be set by a user. This tag is used to
+ // make sure that options that form the protocol between the client and the
+ // server are not logged. These should have category UNDOCUMENTED.
+ HIDDEN = 3;
+
+ // Options which are INTERNAL are not recognized by the parser at all, and
+ // so cannot be used as flags. These should have category UNDOCUMENTED.
+ INTERNAL = 4;
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/LateBoundSplitUtil.java b/src/test/java/com/google/devtools/build/lib/analysis/LateBoundSplitUtil.java
index 5822794..722a0c9 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/LateBoundSplitUtil.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/LateBoundSplitUtil.java
@@ -35,7 +35,6 @@
import com.google.devtools.build.lib.util.FileTypeSet;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import java.util.List;
@@ -49,10 +48,9 @@
public static class TestOptions extends FragmentOptions { // public for options loader
@Option(
name = "foo",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
- defaultValue = "",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED
+ defaultValue = ""
)
public String fooFlag;
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/config/TransitiveOptionDetailsTest.java b/src/test/java/com/google/devtools/build/lib/analysis/config/TransitiveOptionDetailsTest.java
index 0f1919e..aad83ce 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/config/TransitiveOptionDetailsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/config/TransitiveOptionDetailsTest.java
@@ -23,8 +23,8 @@
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
import com.google.devtools.common.options.OptionsParser;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
+import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -109,19 +109,19 @@
@Option(
name = "internal option",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
- effectTags = {OptionEffectTag.NO_OP},
defaultValue = "secret",
- optionUsageRestrictions = OptionUsageRestrictions.INTERNAL
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
+ effectTags = {OptionEffectTag.NO_OP},
+ metadataTags = {OptionMetadataTag.INTERNAL}
)
public String internalOption;
@Option(
name = "internal multi option",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
defaultValue = "n/a",
- optionUsageRestrictions = OptionUsageRestrictions.INTERNAL,
+ metadataTags = {OptionMetadataTag.INTERNAL},
allowMultiple = true
)
public List<String> internalMultiOption;
diff --git a/src/test/java/com/google/devtools/build/lib/rules/config/ConfigSettingTest.java b/src/test/java/com/google/devtools/build/lib/rules/config/ConfigSettingTest.java
index 0ab3a66..bc61b93 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/config/ConfigSettingTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/config/ConfigSettingTest.java
@@ -32,8 +32,8 @@
import com.google.devtools.build.lib.testutil.TestRuleClassProvider;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
+import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.util.Map;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -93,10 +93,10 @@
@Option(
name = "internal_option",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
defaultValue = "super secret",
- optionUsageRestrictions = OptionUsageRestrictions.INTERNAL
+ metadataTags = {OptionMetadataTag.INTERNAL}
)
public String optwithDefault;
}
diff --git a/src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java b/src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java
index db398a5..b6f33d5 100644
--- a/src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java
@@ -24,8 +24,8 @@
import com.google.devtools.common.options.OptionPriority;
import com.google.devtools.common.options.OptionsBase;
import com.google.devtools.common.options.OptionsParser;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
+import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.util.Arrays;
import java.util.List;
import org.junit.Test;
@@ -59,8 +59,7 @@
@Option(
name = "gamma",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
defaultValue = "gamma"
)
@@ -68,8 +67,7 @@
@Option(
name = "delta",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
defaultValue = "delta"
)
@@ -77,8 +75,8 @@
@Option(
name = "echo",
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ metadataTags = {OptionMetadataTag.HIDDEN},
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
defaultValue = "echo"
)
diff --git a/src/test/java/com/google/devtools/common/options/OptionsParserTest.java b/src/test/java/com/google/devtools/common/options/OptionsParserTest.java
index f931be3..7d7e2d8 100644
--- a/src/test/java/com/google/devtools/common/options/OptionsParserTest.java
+++ b/src/test/java/com/google/devtools/common/options/OptionsParserTest.java
@@ -23,10 +23,10 @@
import com.google.common.collect.ImmutableMap;
import com.google.devtools.common.options.Converters.CommaSeparatedOptionListConverter;
import com.google.devtools.common.options.OptionsParser.ConstructionException;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.OptionsParser.OptionValueDescription;
import com.google.devtools.common.options.OptionsParser.UnparsedOptionValueDescription;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
+import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -125,8 +125,7 @@
@Option(
name = "nodoc",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
defaultValue = "",
allowMultiple = false
@@ -179,8 +178,8 @@
public static class ExampleInternalOptions extends OptionsBase {
@Option(
name = "internal_boolean",
- optionUsageRestrictions = OptionUsageRestrictions.INTERNAL,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ metadataTags = {OptionMetadataTag.INTERNAL},
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
defaultValue = "true"
)
@@ -188,8 +187,8 @@
@Option(
name = "internal_string",
- optionUsageRestrictions = OptionUsageRestrictions.INTERNAL,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ metadataTags = {OptionMetadataTag.INTERNAL},
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
defaultValue = "super secret"
)
@@ -197,8 +196,7 @@
@Option(
name = "public string",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
defaultValue = "not a secret"
)
@@ -658,9 +656,8 @@
public static class CategoryTest extends OptionsBase {
@Option(
name = "swiss_bank_account_number",
- optionUsageRestrictions =
- OptionUsageRestrictions.UNDOCUMENTED, // Not printed in usage messages!
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory =
+ OptionDocumentationCategory.UNDOCUMENTED, // Not printed in usage messages!
effectTags = {OptionEffectTag.NO_OP},
defaultValue = "123456789"
)
@@ -1495,8 +1492,7 @@
@Option(
name = "gamma",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
defaultValue = "gamma"
)
@@ -1504,8 +1500,7 @@
@Option(
name = "delta",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
defaultValue = "delta"
)
@@ -1513,8 +1508,8 @@
@Option(
name = "echo",
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ metadataTags = {OptionMetadataTag.HIDDEN},
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.NO_OP},
defaultValue = "echo"
)
diff --git a/src/tools/android/java/com/google/devtools/build/android/desugar/Desugar.java b/src/tools/android/java/com/google/devtools/build/android/desugar/Desugar.java
index e5aab83..9f12f12 100644
--- a/src/tools/android/java/com/google/devtools/build/android/desugar/Desugar.java
+++ b/src/tools/android/java/com/google/devtools/build/android/desugar/Desugar.java
@@ -34,7 +34,6 @@
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
import com.google.devtools.common.options.OptionsParser;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import com.google.errorprone.annotations.MustBeClosed;
import java.io.IOError;
@@ -113,20 +112,18 @@
@Option(
name = "allow_empty_bootclasspath",
defaultValue = "false",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
- effectTags = {OptionEffectTag.UNKNOWN},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
+ effectTags = {OptionEffectTag.UNKNOWN}
)
public boolean allowEmptyBootclasspath;
@Option(
name = "only_desugar_javac9_for_lint",
defaultValue = "false",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
help =
- "A temporary flag specifically for android lint, subject to removal anytime (DO NOT USE)",
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED
+ "A temporary flag specifically for android lint, subject to removal anytime (DO NOT USE)"
)
public boolean onlyDesugarJavac9ForLint;
@@ -226,9 +223,8 @@
@Option(
name = "core_library",
defaultValue = "false",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
implicitRequirements = "--allow_empty_bootclasspath",
help = "Enables rewriting to desugar java.* classes."
)
diff --git a/src/tools/android/java/com/google/devtools/build/android/dexer/DexBuilder.java b/src/tools/android/java/com/google/devtools/build/android/dexer/DexBuilder.java
index 2b91793..631c65a 100644
--- a/src/tools/android/java/com/google/devtools/build/android/dexer/DexBuilder.java
+++ b/src/tools/android/java/com/google/devtools/build/android/dexer/DexBuilder.java
@@ -33,9 +33,9 @@
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
import com.google.devtools.common.options.OptionsParser;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.OptionsParsingException;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
+import com.google.devtools.common.options.proto.OptionFilters.OptionMetadataTag;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -100,9 +100,9 @@
@Option(
name = "persistent_worker",
defaultValue = "false",
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
- optionUsageRestrictions = OptionUsageRestrictions.HIDDEN,
+ metadataTags = {OptionMetadataTag.HIDDEN},
help = "Run as a Bazel persistent worker."
)
public boolean persistentWorker;
diff --git a/src/tools/android/java/com/google/devtools/build/android/dexer/DexFileMerger.java b/src/tools/android/java/com/google/devtools/build/android/dexer/DexFileMerger.java
index 376e013..df6bc32 100644
--- a/src/tools/android/java/com/google/devtools/build/android/dexer/DexFileMerger.java
+++ b/src/tools/android/java/com/google/devtools/build/android/dexer/DexFileMerger.java
@@ -34,7 +34,6 @@
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionsBase;
import com.google.devtools.common.options.OptionsParser;
-import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.proto.OptionFilters.OptionEffectTag;
import java.io.BufferedOutputStream;
import java.io.IOException;
@@ -148,9 +147,8 @@
@Option(
name = "set-max-idx-number",
defaultValue = "" + (DexFormat.MAX_MEMBER_IDX + 1),
- documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {OptionEffectTag.UNKNOWN},
- optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED,
help = "Limit on fields and methods in a single dex file."
)
public int maxNumberOfIdxPerDex;