aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/docgen
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2018-05-03 14:23:27 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-05-03 14:25:09 -0700
commit0ffacb062fe471dd4d2472dbce172bec21313ef6 (patch)
treeb8f84992f100d8e9ec10648c9eb91c1e33499f68 /src/main/java/com/google/devtools/build/docgen
parent8aa610bb7fce80440a563f91b32783716f51e77d (diff)
Ensure Docgen iterates through module categories detemrinistically.
This prevents subsequent generations of documentation reordering categories RELNOTES: None. PiperOrigin-RevId: 195310737
Diffstat (limited to 'src/main/java/com/google/devtools/build/docgen')
-rw-r--r--src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationProcessor.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationProcessor.java b/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationProcessor.java
index 3833594072..deed2ce679 100644
--- a/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationProcessor.java
+++ b/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationProcessor.java
@@ -23,7 +23,7 @@ import java.io.IOException;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -53,7 +53,9 @@ public final class SkylarkDocumentationProcessor {
SkylarkDocumentationCollector.getTopLevelModule().name());
writePage(outputDir, topLevelModule);
- Map<SkylarkModuleCategory, List<SkylarkModuleDoc>> modulesByCategory = new HashMap<>();
+ // Use a LinkedHashMap to preserve ordering of categories, as the output iterates over
+ // this map's entry set to determine category ordering.
+ Map<SkylarkModuleCategory, List<SkylarkModuleDoc>> modulesByCategory = new LinkedHashMap<>();
for (SkylarkModuleCategory c : SkylarkModuleCategory.values()) {
modulesByCategory.put(c, new ArrayList<SkylarkModuleDoc>());
}