diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java index 2eac28e..8b17b9c 100644 --- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java +++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java @@ -69,6 +69,7 @@ import java.util.TreeSet; /** * JavaMojoDescriptorExtractor, a MojoDescriptor extractor to read descriptors from java classes with annotations. + * Notice that source files are also parsed to get description, since and deprecation information. * * @author Olivier Lamy * @since 3.0 @@ -185,13 +186,9 @@ public class JavaAnnotationsMojoDescriptorExtractor private boolean isMojoAnnnotatedClassCandidate( MojoAnnotatedClass mojoAnnotatedClass ) { - if ( mojoAnnotatedClass == null ) - { - return false; - } - return ( !mojoAnnotatedClass.getComponents().isEmpty() || !mojoAnnotatedClass.getParameters().isEmpty() - || mojoAnnotatedClass.getExecute() != null || mojoAnnotatedClass.getMojo() != null ); - + return mojoAnnotatedClass != null + && !( mojoAnnotatedClass.getComponents().isEmpty() && mojoAnnotatedClass.getParameters().isEmpty() + && mojoAnnotatedClass.getExecute() == null && mojoAnnotatedClass.getMojo() == null ); } protected Map discoverClassesFromSourcesJar( Artifact artifact, PluginToolsRequest request, @@ -612,7 +609,6 @@ public class JavaAnnotationsMojoDescriptorExtractor protected ExecuteAnnotationContent findExecuteInParentHierarchy( MojoAnnotatedClass mojoAnnotatedClass, Map mojoAnnotatedClasses ) { - if ( mojoAnnotatedClass.getExecute() != null ) { return mojoAnnotatedClass.getExecute(); diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/DefaultMojoAnnotationsScanner.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/DefaultMojoAnnotationsScanner.java index 516e294..acd813c 100644 --- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/DefaultMojoAnnotationsScanner.java +++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/DefaultMojoAnnotationsScanner.java @@ -143,6 +143,7 @@ public class DefaultMojoAnnotationsScanner { IOUtil.close( archiveStream ); } + return mojoAnnotatedClasses; } diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotationsScanner.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotationsScanner.java index 7ea94c7..6ab8b60 100644 --- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotationsScanner.java +++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotationsScanner.java @@ -41,6 +41,13 @@ public interface MojoAnnotationsScanner final List FIELD_LEVEL_ANNOTATIONS = Arrays.asList( Parameter.class.getName(), Component.class.getName() ); + /** + * Scan classes for mojo annotations. + * + * @param request + * @return map of mojo-annotated classes keyed by full class name + * @throws ExtractionException + */ Map scan( MojoAnnotationsScannerRequest request ) throws ExtractionException; }