aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/common/options
diff options
context:
space:
mode:
authorGravatar Damien Martin-Guillerez <dmarting@google.com>2015-09-03 14:32:52 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-09-03 14:43:21 +0000
commitfbed106755f4b494db1c2932db46a652b5eb4dbf (patch)
tree2ff21ca8b08fe32823a8a5f98d1c8178f40affb4 /src/main/java/com/google/devtools/common/options
parent78ffe43ec89edc484dca5cf581cf5d8cff558fd6 (diff)
Alphabetically sort the list of flags for `bazel help --completion`
This was sorted according to some obscure way due to hashset ordering. Sorting alphabatically avoid the output to totally change due to almost unrelated change. -- MOS_MIGRATED_REVID=102241202
Diffstat (limited to 'src/main/java/com/google/devtools/common/options')
-rw-r--r--src/main/java/com/google/devtools/common/options/OptionsParser.java10
1 files changed, 10 insertions, 0 deletions
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 4eb5ce28a5..94f5745ce0 100644
--- a/src/main/java/com/google/devtools/common/options/OptionsParser.java
+++ b/src/main/java/com/google/devtools/common/options/OptionsParser.java
@@ -27,6 +27,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
import java.util.Map;
@@ -429,6 +430,15 @@ public class OptionsParser implements OptionsProvider {
for (Class<? extends OptionsBase> optionsClass : impl.getOptionsClasses()) {
allFields.addAll(impl.getAnnotatedFieldsFor(optionsClass));
}
+ // Sort field for deterministic ordering
+ Collections.sort(allFields, new Comparator<Field>() {
+ @Override
+ public int compare(Field f1, Field f2) {
+ String name1 = f1.getAnnotation(Option.class).name();
+ String name2 = f2.getAnnotation(Option.class).name();
+ return name1.compareTo(name2);
+ }
+ });
for (Field optionField : allFields) {
String category = optionField.getAnnotation(Option.class).category();
if (documentationLevel(category) == DocumentationLevel.DOCUMENTED) {