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>@attainAlways</code>.
* <br/>
* <b>Note</b>: Should be defined in a Mojo Type.
+ * @deprecated use <code>@executionStrategy 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>"role-hint"</configurator>
<instantiationStrategy>singleton</instantiationStrategy>
- <executionStrategy>once-per-session</executionStrategy>
+ <executionStrategy>always</executionStrategy>
<deprecated>deprecation text test</deprecated>
<requiresDependencyCollection>test</requiresDependencyCollection>
<threadSafe>true</threadSafe>