This is an automated email from the ASF dual-hosted git repository. paulk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/master by this push: new e42a2a7dc3 GROOVY-11674: Grails reproducible build (order trait methods - minimise sort impact) e42a2a7dc3 is described below commit e42a2a7dc3973a9c4007c4247e58360e95d02e5c Author: Paul King <pa...@asert.com.au> AuthorDate: Sun Jun 1 15:24:29 2025 +1000 GROOVY-11674: Grails reproducible build (order trait methods - minimise sort impact) --- .../java/org/codehaus/groovy/transform/trait/TraitComposer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/codehaus/groovy/transform/trait/TraitComposer.java b/src/main/java/org/codehaus/groovy/transform/trait/TraitComposer.java index ece38707f8..af7aba2e64 100644 --- a/src/main/java/org/codehaus/groovy/transform/trait/TraitComposer.java +++ b/src/main/java/org/codehaus/groovy/transform/trait/TraitComposer.java @@ -125,7 +125,7 @@ public abstract class TraitComposer { ClassNode staticFieldHelperClassNode = helpers.getStaticFieldHelper(); Map<String, ClassNode> genericsSpec = GenericsUtils.createGenericsSpec(trait, GenericsUtils.createGenericsSpec(cNode)); - List<MethodNode> hMethods = helperClassNode.getMethods(); + List<MethodNode> hMethods = new ArrayList<>(helperClassNode.getMethods()); if (!hMethods.isEmpty()) { hMethods.sort(Comparator.comparing(MethodNodeUtils::methodDescriptorWithoutReturnType)); } @@ -178,7 +178,7 @@ public abstract class TraitComposer { // implementation of methods List<MethodNode> declaredMethods = new LinkedList<>(); int pos = 0; // keep direct getters at start but in declaration order - List<MethodNode> fhMethods = fieldHelperClassNode.getMethods(); + List<MethodNode> fhMethods = new ArrayList<>(fieldHelperClassNode.getMethods()); if (!fhMethods.isEmpty()) { fhMethods.sort(Comparator.comparing(MethodNodeUtils::methodDescriptorWithoutReturnType)); } @@ -191,7 +191,7 @@ public abstract class TraitComposer { } if (staticFieldHelperClassNode != null) { - List<MethodNode> sfhMethods = staticFieldHelperClassNode.getMethods(); + List<MethodNode> sfhMethods = new ArrayList<>(staticFieldHelperClassNode.getMethods()); if (!sfhMethods.isEmpty()) { sfhMethods.sort(Comparator.comparing(MethodNodeUtils::methodDescriptorWithoutReturnType)); }