aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace
diff options
context:
space:
mode:
authorGravatar ccalvarin <ccalvarin@google.com>2017-06-30 16:01:36 +0200
committerGravatar Marcel Hlopko <hlopko@google.com>2017-07-03 09:05:16 +0200
commit59a0e4f10bf037dcd4f257b2e21573fa1b690e93 (patch)
treede0608d43ac8fe4931787a63966091eb30d729e2 /src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace
parent30c35a2a447a9fc5e93a6a5849d9c8a480d99464 (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/main/java/com/google/devtools/build/workspace')
-rw-r--r--src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/BUILD1
-rw-r--r--src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/GenerateWorkspaceOptions.java73
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;
-
}