Author: hboutemy
Date: Sat Dec 17 16:03:52 2011
New Revision: 1215517

URL: http://svn.apache.org/viewvc?rev=1215517&view=rev
Log:
[MPLUGIN-190@ added @executionStrategy support and deprecated @attainAlways

Modified:
    
maven/plugin-tools/trunk/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoAnnotation.java
    
maven/plugin-tools/trunk/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.java
    
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractorTest.java
    
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/source/plugin-expected.xml

Modified: 
maven/plugin-tools/trunk/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoAnnotation.java
URL: 
http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoAnnotation.java?rev=1215517&r1=1215516&r2=1215517&view=diff
==============================================================================
--- 
maven/plugin-tools/trunk/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoAnnotation.java
 (original)
+++ 
maven/plugin-tools/trunk/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoAnnotation.java
 Sat Dec 17 16:03:52 2011
@@ -160,6 +160,7 @@ public interface JavaMojoAnnotation
      * Refer to <code>&#64;attainAlways</code>.
      * <br/>
      * <b>Note</b>: Should be defined in a Mojo Type.
+     * @deprecated use <code>&#64executionStrategy always</code> instead
      */
     String MULTI_EXECUTION_STRATEGY = "attainAlways";
 

Modified: 
maven/plugin-tools/trunk/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.java
URL: 
http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.java?rev=1215517&r1=1215516&r2=1215517&view=diff
==============================================================================
--- 
maven/plugin-tools/trunk/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.java
 (original)
+++ 
maven/plugin-tools/trunk/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.java
 Sat Dec 17 16:03:52 2011
@@ -271,15 +271,25 @@ public class JavaMojoDescriptorExtractor
         {
             mojoDescriptor.setInstantiationStrategy( tag.getValue() );
         }
+
+        // executionStrategy (and deprecated @attainAlways)
         tag = findInClassHierarchy( javaClass, 
JavaMojoAnnotation.MULTI_EXECUTION_STRATEGY );
         if ( tag != null )
         {
+            getLogger().warn( "@" + 
JavaMojoAnnotation.MULTI_EXECUTION_STRATEGY + " in "
+                                  + javaClass.getFullyQualifiedName() + " is 
deprecated: please use '@"
+                                  + JavaMojoAnnotation.EXECUTION_STATEGY + " 
always' instead.");
             mojoDescriptor.setExecutionStrategy( 
MojoDescriptor.MULTI_PASS_EXEC_STRATEGY );
         }
         else
         {
             mojoDescriptor.setExecutionStrategy( 
MojoDescriptor.SINGLE_PASS_EXEC_STRATEGY );
         }
+        tag = findInClassHierarchy( javaClass, 
JavaMojoAnnotation.EXECUTION_STATEGY );
+        if ( tag != null )
+        {
+            mojoDescriptor.setExecutionStrategy( tag.getValue() );
+        }
 
         // Phase name
         DocletTag phase = findInClassHierarchy( javaClass, 
JavaMojoAnnotation.PHASE );

Modified: 
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractorTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractorTest.java?rev=1215517&r1=1215516&r2=1215517&view=diff
==============================================================================
--- 
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractorTest.java
 (original)
+++ 
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractorTest.java
 Sat Dec 17 16:03:52 2011
@@ -155,6 +155,14 @@ public class JavaMojoDescriptorExtractor
         return descriptor.getMojos();
     }
 
+    public void testShouldFindTwoMojoDescriptorsInTestSourceDirectory()
+        throws Exception
+    {
+        List<MojoDescriptor> results = extract( "source" );
+
+        assertEquals( "Extracted mojos", 2, results.size() );
+    }
+
     public void testShouldPropagateImplementationParameter()
         throws Exception
     {

Modified: 
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/source/plugin-expected.xml
URL: 
http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/source/plugin-expected.xml?rev=1215517&r1=1215516&r2=1215517&view=diff
==============================================================================
--- 
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/source/plugin-expected.xml
 (original)
+++ 
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/source/plugin-expected.xml
 Sat Dec 17 16:03:52 2011
@@ -76,7 +76,7 @@
       <language>java</language>
       <configurator>&quot;role-hint&quot;</configurator>
       <instantiationStrategy>singleton</instantiationStrategy>
-      <executionStrategy>once-per-session</executionStrategy>
+      <executionStrategy>always</executionStrategy>
       <deprecated>deprecation text test</deprecated>
       <requiresDependencyCollection>test</requiresDependencyCollection>
       <threadSafe>true</threadSafe>


Reply via email to