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;
}