diff options
author | ccalvarin <ccalvarin@google.com> | 2017-06-30 16:01:36 +0200 |
---|---|---|
committer | Marcel Hlopko <hlopko@google.com> | 2017-07-03 09:05:16 +0200 |
commit | 59a0e4f10bf037dcd4f257b2e21573fa1b690e93 (patch) | |
tree | de0608d43ac8fe4931787a63966091eb30d729e2 /src/tools/generate_workspace/src | |
parent | 30c35a2a447a9fc5e93a6a5849d9c8a480d99464 (diff) |
Enforce the new category and effect tags.
All options need to explicitly list their category and effect. If they are uncategorized, this makes the lack of information obvious. Remove defaults from the annotation to enforce this.
Also enforce the sanity check that no option should have UNKNOWN or NO_OP effects listed with other effect tags.
Includes some last default sets for options I missed in the previous mass-setting change, and some that were added since.
PiperOrigin-RevId: 160641861
Diffstat (limited to 'src/tools/generate_workspace/src')
2 files changed, 43 insertions, 31 deletions
diff --git a/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/BUILD b/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/BUILD index ee318dc912..fcd4d00b7f 100644 --- a/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/BUILD +++ b/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/BUILD @@ -13,6 +13,7 @@ java_library( "//src/main/java/com/google/devtools/build/lib:unix", "//src/main/java/com/google/devtools/build/lib:vfs", "//src/main/java/com/google/devtools/common/options", + "//src/main/protobuf:option_filters_java_proto", "//src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/maven", "//src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/maven:rule", "//third_party:guava", diff --git a/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/GenerateWorkspaceOptions.java b/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/GenerateWorkspaceOptions.java index 7e9011bd0d..6dcd77aded 100644 --- a/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/GenerateWorkspaceOptions.java +++ b/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/GenerateWorkspaceOptions.java @@ -15,8 +15,9 @@ package com.google.devtools.build.workspace; 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.proto.OptionFilters.OptionEffectTag; import java.util.List; /** @@ -24,51 +25,61 @@ import java.util.List; */ public class GenerateWorkspaceOptions extends OptionsBase { @Option( - name = "help", - abbrev = 'h', - help = "Prints usage info.", - defaultValue = "true" + name = "help", + abbrev = 'h', + help = "Prints usage info.", + documentationCategory = OptionDocumentationCategory.UNCATEGORIZED, + effectTags = {OptionEffectTag.UNKNOWN}, + defaultValue = "true" ) public boolean help; @Option( - name = "bazel_project", - abbrev = 'b', - help = "Directory contains a Bazel project.", - allowMultiple = true, - category = "input", - defaultValue = "" + name = "bazel_project", + abbrev = 'b', + help = "Directory contains a Bazel project.", + allowMultiple = true, + category = "input", + documentationCategory = OptionDocumentationCategory.UNCATEGORIZED, + effectTags = {OptionEffectTag.UNKNOWN}, + defaultValue = "" ) public List<String> bazelProjects; @Option( - name = "maven_project", - abbrev = 'm', - help = "Directory containing a Maven project.", - allowMultiple = true, - category = "input", - defaultValue = "" + name = "maven_project", + abbrev = 'm', + help = "Directory containing a Maven project.", + allowMultiple = true, + category = "input", + documentationCategory = OptionDocumentationCategory.UNCATEGORIZED, + effectTags = {OptionEffectTag.UNKNOWN}, + defaultValue = "" ) public List<String> mavenProjects; @Option( - name = "artifact", - abbrev = 'a', - help = "Maven artifact coordinates (e.g. groupId:artifactId:version).", - allowMultiple = true, - category = "input", - defaultValue = "" + name = "artifact", + abbrev = 'a', + help = "Maven artifact coordinates (e.g. groupId:artifactId:version).", + allowMultiple = true, + category = "input", + documentationCategory = OptionDocumentationCategory.UNCATEGORIZED, + effectTags = {OptionEffectTag.UNKNOWN}, + defaultValue = "" ) public List<String> artifacts; - + @Option( - name = "output_dir", - abbrev = 'o', - help = "Output directory to store the WORKSPACE and BUILD files. If unspecified, a temporary" - + " directory is used.", - category = "output", - defaultValue = "" + name = "output_dir", + abbrev = 'o', + help = + "Output directory to store the WORKSPACE and BUILD files. If unspecified, a temporary" + + " directory is used.", + category = "output", + documentationCategory = OptionDocumentationCategory.UNCATEGORIZED, + effectTags = {OptionEffectTag.UNKNOWN}, + defaultValue = "" ) public String outputDir; - } |