| 1 | From: Danny Milosavljevic <[email protected]>
|
| 2 | Date: Wed, 18 Apr 2022 21:50:00 +0100
|
| 3 | Subject: Make module descriptor reproducible
|
| 4 |
|
| 5 | |
| 6 | |
| 7 | @@ -43,6 +43,7 @@
|
| 8 | import java.util.Objects;
|
| 9 | import java.util.Optional;
|
| 10 | import java.util.Set;
|
| 11 | +import java.util.TreeSet;
|
| 12 | import java.util.function.Supplier;
|
| 13 | import java.util.stream.Collectors;
|
| 14 | import java.util.stream.Stream;
|
| 15 | @@ -2155,9 +2156,9 @@
|
| 16 | * @return The module descriptor
|
| 17 | */
|
| 18 | public ModuleDescriptor build() {
|
| 19 | - Set<Requires> requires = new HashSet<>(this.requires.values());
|
| 20 | - Set<Exports> exports = new HashSet<>(this.exports.values());
|
| 21 | - Set<Opens> opens = new HashSet<>(this.opens.values());
|
| 22 | + Set<Requires> requires = new TreeSet<>(this.requires.values());
|
| 23 | + Set<Exports> exports = new TreeSet<>(this.exports.values());
|
| 24 | + Set<Opens> opens = new TreeSet<>(this.opens.values());
|
| 25 |
|
| 26 | // add dependency on java.base
|
| 27 | if (strict
|
| 28 | @@ -2169,7 +2170,7 @@
|
| 29 | null));
|
| 30 | }
|
| 31 |
|
| 32 | - Set<Provides> provides = new HashSet<>(this.provides.values());
|
| 33 | + Set<Provides> provides = new TreeSet<>(this.provides.values());
|
| 34 |
|
| 35 | return new ModuleDescriptor(name,
|
| 36 | version,
|