This is an automated email from the ASF dual-hosted git repository.

emilles pushed a commit to branch GROOVY_5_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/GROOVY_5_0_X by this push:
     new 894fff4e73 GROOVY-11900: grab adds static constructor to annotation 
definition
894fff4e73 is described below

commit 894fff4e73cd787214479c88a7fb8c039f6e7e2d
Author: Paul King <[email protected]>
AuthorDate: Sun Apr 5 06:25:55 2026 +1000

    GROOVY-11900: grab adds static constructor to annotation definition
---
 src/main/java/groovy/grape/GrabAnnotationTransformation.java      | 2 ++
 src/main/java/org/codehaus/groovy/classgen/AnnotationVisitor.java | 5 +++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/main/java/groovy/grape/GrabAnnotationTransformation.java 
b/src/main/java/groovy/grape/GrabAnnotationTransformation.java
index 887b0a3591..23c752231c 100644
--- a/src/main/java/groovy/grape/GrabAnnotationTransformation.java
+++ b/src/main/java/groovy/grape/GrabAnnotationTransformation.java
@@ -204,6 +204,8 @@ public class GrabAnnotationTransformation extends 
ClassCodeVisitorSupport implem
         Collection<Map<String,Object>> grabExcludeMaps = new ArrayList<>();
 
         for (ClassNode classNode : sourceUnit.getAST().getClasses()) {
+            if (classNode.isAnnotationDefinition()) continue; // GROOVY-11900
+
             grabAnnotations         = new ArrayList<>();
             grabExcludeAnnotations  = new ArrayList<>();
             grabConfigAnnotations   = new ArrayList<>();
diff --git a/src/main/java/org/codehaus/groovy/classgen/AnnotationVisitor.java 
b/src/main/java/org/codehaus/groovy/classgen/AnnotationVisitor.java
index fc99c529e4..dc48dea7b7 100644
--- a/src/main/java/org/codehaus/groovy/classgen/AnnotationVisitor.java
+++ b/src/main/java/org/codehaus/groovy/classgen/AnnotationVisitor.java
@@ -134,8 +134,9 @@ public class AnnotationVisitor {
     private boolean checkIfMandatoryAnnotationValuesPassed(final 
AnnotationNode node) {
         boolean ok = true;
         for (MethodNode mn : node.getClassNode().getMethods()) {
-            if (!mn.hasAnnotationDefault() && 
!node.getMembers().containsKey(mn.getName()) && 
!"dataVariableNames".equals(mn.getName())) {
-                // TODO: https://github.com/spockframework/spock/issues/1549   
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+            // "dataVariableNames" was an incorrectly set up variable in 
Spock, now removed, but exclusion kept for legacy versions
+            // 
https://github.com/spockframework/spock/pull/1596/changes/513bb6e7e19
+            if (!mn.hasAnnotationDefault() && !mn.isStaticConstructor() && 
!node.getMembers().containsKey(mn.getName()) && 
!"dataVariableNames".equals(mn.getName())) {
                 addError("No explicit/default value found for annotation 
attribute '" + mn.getName() + "'", node);
                 ok = false;
             }

Reply via email to