You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2012/05/08 23:01:11 UTC

svn commit: r1335765 - in /maven/plugin-tools/branches/MPLUGIN-189: maven-plugin-plugin/src/it/annotation-with-inheritance-reactor/ maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/ maven-plugin-tools-annotations/s...

Author: olamy
Date: Tue May  8 21:01:10 2012
New Revision: 1335765

URL: http://svn.apache.org/viewvc?rev=1335765&view=rev
Log:
store the origin artifact of the annotation for later use

Modified:
    maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-plugin/src/it/annotation-with-inheritance-reactor/verify.groovy
    maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java
    maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/AnnotatedContent.java
    maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/DefaultMojoAnnotationsScanner.java
    maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.java
    maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotationsScannerRequest.java
    maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/annotations/TestAnnotationsReader.java

Modified: maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-plugin/src/it/annotation-with-inheritance-reactor/verify.groovy
URL: http://svn.apache.org/viewvc/maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-plugin/src/it/annotation-with-inheritance-reactor/verify.groovy?rev=1335765&r1=1335764&r2=1335765&view=diff
==============================================================================
--- maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-plugin/src/it/annotation-with-inheritance-reactor/verify.groovy (original)
+++ maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-plugin/src/it/annotation-with-inheritance-reactor/verify.groovy Tue May  8 21:01:10 2012
@@ -6,6 +6,8 @@ assert descriptorFile.isFile()
 
 def pluginDescriptor = new XmlParser().parse( descriptorFile );
 
+assert pluginDescriptor.mojos.mojo.size() == 3
+
 def mojo = pluginDescriptor.mojos.mojo.findAll{ it.goal.text() == "first"}[0]
 
 assert mojo.goal.text() == 'first'

Modified: maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java
URL: http://svn.apache.org/viewvc/maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java?rev=1335765&r1=1335764&r2=1335765&view=diff
==============================================================================
--- maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java (original)
+++ maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java Tue May  8 21:01:10 2012
@@ -82,6 +82,8 @@ public class JavaAnnotationsMojoDescript
 
         mojoAnnotationsScannerRequest.setDependencies( request.getDependencies() );
 
+        mojoAnnotationsScannerRequest.setProject( request.getProject() );
+
         Map<String, MojoAnnotatedClass> mojoAnnotatedClasses =
             mojoAnnotationsScanner.scan( mojoAnnotationsScannerRequest );
 

Modified: maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/AnnotatedContent.java
URL: http://svn.apache.org/viewvc/maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/AnnotatedContent.java?rev=1335765&r1=1335764&r2=1335765&view=diff
==============================================================================
--- maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/AnnotatedContent.java (original)
+++ maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/AnnotatedContent.java Tue May  8 21:01:10 2012
@@ -18,12 +18,15 @@ package org.apache.maven.tools.plugin.an
  * under the License.
  */
 
+import org.apache.maven.artifact.Artifact;
+
 /**
  * @author Olivier Lamy
  * @since 3.0
  */
 public class AnnotatedContent
 {
+
     private String description;
 
     private String since;
@@ -59,4 +62,5 @@ public class AnnotatedContent
     {
         this.deprecated = deprecated;
     }
+
 }

Modified: maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/DefaultMojoAnnotationsScanner.java
URL: http://svn.apache.org/viewvc/maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/DefaultMojoAnnotationsScanner.java?rev=1335765&r1=1335764&r2=1335765&view=diff
==============================================================================
--- maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/DefaultMojoAnnotationsScanner.java (original)
+++ maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/DefaultMojoAnnotationsScanner.java Tue May  8 21:01:10 2012
@@ -74,11 +74,13 @@ public class DefaultMojoAnnotationsScann
                 {
                     if ( dependencyFile.isDirectory() )
                     {
-                        mojoAnnotatedClasses.putAll( scanDirectory( dependencyFile, request.getIncludePatterns() ) );
+                        mojoAnnotatedClasses.putAll(
+                            scanDirectory( dependencyFile, request.getIncludePatterns(), dependency ) );
                     }
                     else
                     {
-                        mojoAnnotatedClasses.putAll( scanFile( dependencyFile, request.getIncludePatterns() ) );
+                        mojoAnnotatedClasses.putAll(
+                            scanFile( dependencyFile, request.getIncludePatterns(), dependency ) );
                     }
                 }
             }
@@ -87,7 +89,8 @@ public class DefaultMojoAnnotationsScann
             {
                 if ( classDirectory.exists() && classDirectory.isDirectory() )
                 {
-                    mojoAnnotatedClasses.putAll( scanDirectory( classDirectory, request.getIncludePatterns() ) );
+                    mojoAnnotatedClasses.putAll( scanDirectory( classDirectory, request.getIncludePatterns(),
+                                                                request.getProject().getArtifact() ) );
                 }
             }
 
@@ -99,7 +102,8 @@ public class DefaultMojoAnnotationsScann
         }
     }
 
-    protected Map<String, MojoAnnotatedClass> scanFile( File archiveFile, List<String> includePatterns )
+    protected Map<String, MojoAnnotatedClass> scanFile( File archiveFile, List<String> includePatterns,
+                                                        Artifact artifact )
         throws IOException, ExtractionException
     {
         if ( !archiveFile.exists() )
@@ -127,6 +131,7 @@ public class DefaultMojoAnnotationsScann
                         getLogger().debug(
                             "found MojoAnnotatedClass:" + mojoClassVisitor.getMojoAnnotatedClass().getClassName() + ":"
                                 + mojoClassVisitor.getMojoAnnotatedClass() );
+                        mojoClassVisitor.getMojoAnnotatedClass().setArtifact( artifact );
                         mojoAnnotatedClasses.put( mojoClassVisitor.getMojoAnnotatedClass().getClassName(),
                                                   mojoClassVisitor.getMojoAnnotatedClass() );
                     }
@@ -140,7 +145,8 @@ public class DefaultMojoAnnotationsScann
         return mojoAnnotatedClasses;
     }
 
-    protected Map<String, MojoAnnotatedClass> scanDirectory( File classDirectory, List<String> includePatterns )
+    protected Map<String, MojoAnnotatedClass> scanDirectory( File classDirectory, List<String> includePatterns,
+                                                             Artifact artifact )
         throws IOException, ExtractionException
     {
         if ( !classDirectory.exists() )
@@ -176,6 +182,7 @@ public class DefaultMojoAnnotationsScann
                         getLogger().debug(
                             "found MojoAnnotatedClass:" + mojoClassVisitor.getMojoAnnotatedClass().getClassName() + ":"
                                 + mojoClassVisitor.getMojoAnnotatedClass() );
+                        mojoClassVisitor.getMojoAnnotatedClass().setArtifact( artifact );
                         mojoAnnotatedClasses.put( mojoClassVisitor.getMojoAnnotatedClass().getClassName(),
                                                   mojoClassVisitor.getMojoAnnotatedClass() );
                     }

Modified: maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.java
URL: http://svn.apache.org/viewvc/maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.java?rev=1335765&r1=1335764&r2=1335765&view=diff
==============================================================================
--- maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.java (original)
+++ maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.java Tue May  8 21:01:10 2012
@@ -18,6 +18,7 @@ package org.apache.maven.tools.plugin.an
  * under the License.
  */
 
+import org.apache.maven.artifact.Artifact;
 import org.apache.maven.tools.plugin.annotations.datamodel.ComponentAnnotationContent;
 import org.apache.maven.tools.plugin.annotations.datamodel.ExecuteAnnotationContent;
 import org.apache.maven.tools.plugin.annotations.datamodel.MojoAnnotationContent;
@@ -50,6 +51,11 @@ public class MojoAnnotatedClass
      */
     private Map<String, ComponentAnnotationContent> components;
 
+    /**
+     * artifact which contains this annotation
+     */
+    private Artifact artifact;
+
     public MojoAnnotatedClass()
     {
         // no op
@@ -129,6 +135,15 @@ public class MojoAnnotatedClass
         return this;
     }
 
+    public Artifact getArtifact()
+    {
+        return artifact;
+    }
+
+    public void setArtifact( Artifact artifact )
+    {
+        this.artifact = artifact;
+    }
 
     @Override
     public String toString()

Modified: maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotationsScannerRequest.java
URL: http://svn.apache.org/viewvc/maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotationsScannerRequest.java?rev=1335765&r1=1335764&r2=1335765&view=diff
==============================================================================
--- maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotationsScannerRequest.java (original)
+++ maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotationsScannerRequest.java Tue May  8 21:01:10 2012
@@ -19,6 +19,8 @@ package org.apache.maven.tools.plugin.an
  */
 
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.artifact.ProjectArtifactMetadata;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -41,6 +43,8 @@ public class MojoAnnotationsScannerReque
 
     private List<File> sourceDirectories = new ArrayList<File>();
 
+    private MavenProject project;
+
     public MojoAnnotationsScannerRequest()
     {
         // no o
@@ -85,4 +89,14 @@ public class MojoAnnotationsScannerReque
     {
         this.sourceDirectories = sourceDirectories;
     }
+
+    public MavenProject getProject()
+    {
+        return project;
+    }
+
+    public void setProject( MavenProject project )
+    {
+        this.project = project;
+    }
 }

Modified: maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/annotations/TestAnnotationsReader.java
URL: http://svn.apache.org/viewvc/maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/annotations/TestAnnotationsReader.java?rev=1335765&r1=1335764&r2=1335765&view=diff
==============================================================================
--- maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/annotations/TestAnnotationsReader.java (original)
+++ maven/plugin-tools/branches/MPLUGIN-189/maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/annotations/TestAnnotationsReader.java Tue May  8 21:01:10 2012
@@ -22,6 +22,7 @@ import org.apache.maven.plugin.AbstractM
 import org.apache.maven.plugins.annotations.Execute;
 import org.apache.maven.plugins.annotations.LifecyclePhase;
 import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.project.MavenProject;
 import org.apache.maven.tools.plugin.annotations.datamodel.ComponentAnnotationContent;
 import org.apache.maven.tools.plugin.annotations.datamodel.ParameterAnnotationContent;
 import org.apache.maven.tools.plugin.annotations.scanner.MojoAnnotatedClass;
@@ -50,6 +51,7 @@ public class TestAnnotationsReader
         MojoAnnotationsScannerRequest request = new MojoAnnotationsScannerRequest();
         request.setClassesDirectories( Collections.singletonList( new File( "target/test-classes" ) ) );
         request.setIncludePatterns( Arrays.asList( "**/FooMojo.class" ) );
+        request.setProject( new MavenProject(  ) );
 
         Map<String, MojoAnnotatedClass> mojoAnnotatedClasses = mojoAnnotationsScanner.scan( request );