Files
jaxb/reproducible-order.patch

56 lines
2.5 KiB
Diff

--- jaxb-ri-4.0.5-RI/jaxb-ri/runtime/impl/src/main/java/org/glassfish/jaxb/runtime/v2/schemagen/XmlSchemaGenerator.java 2025-07-17 11:04:19.437124964 +0200
+++ jaxb-ri-4.0.5-RI/jaxb-ri/runtime/impl/src/main/java/org/glassfish/jaxb/runtime/v2/schemagen/XmlSchemaGenerator.java 2025-07-17 15:56:48.470097818 +0200
@@ -49,6 +49,7 @@
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
+import java.util.TreeSet;
import static org.glassfish.jaxb.runtime.v2.schemagen.Util.*;
@@ -322,7 +323,7 @@
// TODO: don't we want to bake in versions?
// generate listing per schema
- for (Map.Entry<String,Namespace> e : namespaces.entrySet()) {
+ for (Map.Entry<String,Namespace> e : new TreeSet<>(namespaces.entrySet())) {
Bindings group = root.bindings();
String prefix;
@@ -408,7 +409,7 @@
}
// then write'em all
- for( Map.Entry<Namespace,Result> e : out.entrySet() ) {
+ for( Map.Entry<Namespace,Result> e : new TreeSet<>(out.entrySet()) ) {
Result result = e.getValue();
e.getKey().writeTo( result, systemIds );
if(result instanceof StreamResult) {
@@ -550,7 +551,7 @@
// additional namespace declarations to be made.
Map<String, String> xmlNs = types.getXmlNs(uri);
- for (Map.Entry<String, String> e : xmlNs.entrySet()) {
+ for (Map.Entry<String, String> e : new TreeSet<>(xmlNs.entrySet())) {
schema._namespace(e.getValue(),e.getKey());
}
@@ -612,7 +613,7 @@
}
// then write each component
- for (Map.Entry<String,ElementDeclaration> e : elementDecls.entrySet()) {
+ for (Map.Entry<String,ElementDeclaration> e : new TreeSet<>(elementDecls.entrySet())) {
e.getValue().writeTo(e.getKey(),schema);
schema._pcdata(newline);
}
@@ -638,7 +639,7 @@
writeArray(a,schema);
schema._pcdata(newline);
}
- for (Map.Entry<String,AttributePropertyInfo<T,C>> e : attributeDecls.entrySet()) {
+ for (Map.Entry<String,AttributePropertyInfo<T,C>> e : new TreeSet<>(attributeDecls.entrySet())) {
TopLevelAttribute a = schema.attribute();
a.name(e.getKey());
if(e.getValue()==null)