|
|
5d2637 |
From c3ac93da0ffa924b76c01bd1119e9e5fdf538cb0 Mon Sep 17 00:00:00 2001
|
|
|
5d2637 |
From: Michael Simacek <msimacek@redhat.com>
|
|
|
5d2637 |
Date: Mon, 16 Mar 2015 14:29:21 +0100
|
|
|
5d2637 |
Subject: [PATCH 1/3] Avoid duplicate MOJO parameters
|
|
|
5d2637 |
|
|
|
5d2637 |
---
|
|
|
5d2637 |
.../JavaAnnotationsMojoDescriptorExtractor.java | 24 ++++++++++++++++++++--
|
|
|
5d2637 |
1 file changed, 22 insertions(+), 2 deletions(-)
|
|
|
5d2637 |
|
|
|
5d2637 |
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor.java
|
|
|
5d2637 |
index 231f623..a034dc2 100644
|
|
|
5d2637 |
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor.java
|
|
|
5d2637 |
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor.java
|
|
|
5d2637 |
@@ -29,6 +29,7 @@ import java.util.Collection;
|
|
|
5d2637 |
import java.util.Collections;
|
|
|
5d2637 |
import java.util.HashMap;
|
|
|
5d2637 |
import java.util.HashSet;
|
|
|
5d2637 |
+import java.util.Iterator;
|
|
|
5d2637 |
import java.util.List;
|
|
|
5d2637 |
import java.util.Map;
|
|
|
5d2637 |
import java.util.Set;
|
|
|
5d2637 |
@@ -573,7 +574,7 @@ public class JavaAnnotationsMojoDescriptorExtractor
|
|
|
5d2637 |
parameter.setSince( parameterAnnotationContent.getSince() );
|
|
|
5d2637 |
parameter.setRequired( parameterAnnotationContent.required() );
|
|
|
5d2637 |
|
|
|
5d2637 |
- mojoDescriptor.addParameter( parameter );
|
|
|
5d2637 |
+ addParameter( mojoDescriptor, parameter );
|
|
|
5d2637 |
}
|
|
|
5d2637 |
|
|
|
5d2637 |
// Component annotations
|
|
|
5d2637 |
@@ -614,7 +615,7 @@ public class JavaAnnotationsMojoDescriptorExtractor
|
|
|
5d2637 |
//parameter.setRequired( ... );
|
|
|
5d2637 |
parameter.setEditable( false );
|
|
|
5d2637 |
|
|
|
5d2637 |
- mojoDescriptor.addParameter( parameter );
|
|
|
5d2637 |
+ addParameter( mojoDescriptor, parameter );
|
|
|
5d2637 |
}
|
|
|
5d2637 |
|
|
|
5d2637 |
mojoDescriptor.setPluginDescriptor( pluginDescriptor );
|
|
|
5d2637 |
@@ -624,6 +625,25 @@ public class JavaAnnotationsMojoDescriptorExtractor
|
|
|
5d2637 |
return mojoDescriptors;
|
|
|
5d2637 |
}
|
|
|
5d2637 |
|
|
|
5d2637 |
+ private void addParameter( ExtendedMojoDescriptor mojoDescriptor,
|
|
|
5d2637 |
+ org.apache.maven.plugin.descriptor.Parameter parameter )
|
|
|
5d2637 |
+ throws DuplicateParameterException
|
|
|
5d2637 |
+ {
|
|
|
5d2637 |
+ if ( mojoDescriptor.getParameters() != null )
|
|
|
5d2637 |
+ {
|
|
|
5d2637 |
+ for ( Iterator it = mojoDescriptor.getParameters().iterator(); it.hasNext(); )
|
|
|
5d2637 |
+ {
|
|
|
5d2637 |
+ if ( it.next().equals( parameter ) )
|
|
|
5d2637 |
+ {
|
|
|
5d2637 |
+ getLogger().warn( "Duplicate parameter " + parameter.getName() + " field in MOJO descriptor" );
|
|
|
5d2637 |
+ it.remove();
|
|
|
5d2637 |
+ }
|
|
|
5d2637 |
+ }
|
|
|
5d2637 |
+ }
|
|
|
5d2637 |
+
|
|
|
5d2637 |
+ mojoDescriptor.addParameter( parameter );
|
|
|
5d2637 |
+ }
|
|
|
5d2637 |
+
|
|
|
5d2637 |
protected ExecuteAnnotationContent findExecuteInParentHierarchy( MojoAnnotatedClass mojoAnnotatedClass,
|
|
|
5d2637 |
Map<String, MojoAnnotatedClass> mojoAnnotatedClasses )
|
|
|
5d2637 |
{
|
|
|
5d2637 |
--
|
|
|
5d2637 |
2.7.4
|
|
|
5d2637 |
|