|
61 | 61 | import java.util.ArrayList;
|
62 | 62 | import java.util.HashMap;
|
63 | 63 | import java.util.HashSet;
|
| 64 | +import java.util.LinkedHashMap; |
64 | 65 | import java.util.LinkedHashSet;
|
65 | 66 | import java.util.List;
|
66 | 67 | import java.util.Map;
|
67 | 68 | import java.util.Optional;
|
68 | 69 | import java.util.OptionalInt;
|
69 | 70 | import java.util.OptionalLong;
|
| 71 | +import java.util.SequencedMap; |
70 | 72 | import java.util.Set;
|
71 | 73 | import java.util.concurrent.Semaphore;
|
72 | 74 | import javax.annotation.Nullable;
|
@@ -1107,7 +1109,7 @@ default boolean precomputeTransitiveLoads() {
|
1107 | 1109 |
|
1108 | 1110 | // The map from each repository to that repository's remappings map.
|
1109 | 1111 | // This is only used in the //external package, it is an empty map for all other packages.
|
1110 |
| - private final HashMap<RepositoryName, HashMap<String, RepositoryName>> |
| 1112 | + private final HashMap<RepositoryName, LinkedHashMap<String, RepositoryName>> |
1111 | 1113 | externalPackageRepositoryMappings = new HashMap<>();
|
1112 | 1114 |
|
1113 | 1115 | /** Estimates the package overhead of this package. */
|
@@ -1357,7 +1359,7 @@ Builder addRepositoryMappingEntry(
|
1357 | 1359 | RepositoryName repoWithin, String localName, RepositoryName mappedName) {
|
1358 | 1360 | HashMap<String, RepositoryName> mapping =
|
1359 | 1361 | externalPackageRepositoryMappings.computeIfAbsent(
|
1360 |
| - repoWithin, (RepositoryName k) -> new HashMap<>()); |
| 1362 | + repoWithin, (RepositoryName k) -> new LinkedHashMap<>()); |
1361 | 1363 | mapping.put(localName, mappedName);
|
1362 | 1364 | return this;
|
1363 | 1365 | }
|
@@ -1387,11 +1389,11 @@ Builder addRepositoryMappings(Package aPackage) {
|
1387 | 1389 | * the main workspace to the canonical main name '@').
|
1388 | 1390 | */
|
1389 | 1391 | RepositoryMapping getRepositoryMappingFor(RepositoryName name) {
|
1390 |
| - Map<String, RepositoryName> mapping = externalPackageRepositoryMappings.get(name); |
| 1392 | + SequencedMap<String, RepositoryName> mapping = externalPackageRepositoryMappings.get(name); |
1391 | 1393 | if (mapping == null) {
|
1392 | 1394 | return RepositoryMapping.ALWAYS_FALLBACK;
|
1393 | 1395 | } else {
|
1394 |
| - return RepositoryMapping.createAllowingFallback(mapping); |
| 1396 | + return RepositoryMapping.createAllowingFallback(ImmutableMap.copyOf(mapping)); |
1395 | 1397 | }
|
1396 | 1398 | }
|
1397 | 1399 |
|
|
0 commit comments