diff options
author | Damien Martin-Guillerez <dmarting@google.com> | 2015-09-03 14:32:52 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2015-09-03 14:43:21 +0000 |
commit | fbed106755f4b494db1c2932db46a652b5eb4dbf (patch) | |
tree | 2ff21ca8b08fe32823a8a5f98d1c8178f40affb4 /src/main/java/com/google/devtools/common/options | |
parent | 78ffe43ec89edc484dca5cf581cf5d8cff558fd6 (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.java | 10 |
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) { |