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 9b7e1b8..b9cf49e 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 @@ -40,6 +40,7 @@ import org.codehaus.plexus.logging.AbstractLogEnabled; import java.io.File; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -69,8 +70,11 @@ public class JavaAnnotationsMojoDescriptorExtractor try { MojoAnnotationsScannerRequest mojoAnnotationsScannerRequest = new MojoAnnotationsScannerRequest(); - List classesDirectories = toFiles( request.getProject().getCompileClasspathElements() ); - mojoAnnotationsScannerRequest.setClassesDirectories( classesDirectories ); + + mojoAnnotationsScannerRequest.setClassesDirectories( + Arrays.asList( new File( request.getProject().getBuild().getOutputDirectory() ) ) ); + + mojoAnnotationsScannerRequest.setDependencies( request.getProject().getCompileClasspathElements() ); List mojoAnnotatedClasses = mojoAnnotationsScanner.scan( mojoAnnotationsScannerRequest ); 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 87ad59d..0a861aa 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 @@ -63,8 +63,16 @@ public class DefaultMojoAnnotationsScanner { for ( File classDirectory : request.getClassesDirectories() ) { - mojoAnnotatedClasses.addAll( scanDirectory( classDirectory, request.getIncludePatterns() ) ); + if ( classDirectory.exists() && classDirectory.isDirectory() ) + { + mojoAnnotatedClasses.addAll( scanDirectory( classDirectory, request.getIncludePatterns() ) ); + // TODO scan sources to get @since and @deprecated and description of classes and fields. + } } + + + //TODO scan dependencies to get super class annotations if exist request.getDependencies() + return mojoAnnotatedClasses; } catch ( IOException e ) diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotationsScannerRequest.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotationsScannerRequest.java index 343a571..faf1bb7 100644 --- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotationsScannerRequest.java +++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotationsScannerRequest.java @@ -35,6 +35,8 @@ public class MojoAnnotationsScannerRequest private List includePatterns = Arrays.asList( "**/*.class" ); + private List sourceDirectories = new ArrayList(); + public MojoAnnotationsScannerRequest() { // no o @@ -69,4 +71,14 @@ public class MojoAnnotationsScannerRequest { this.includePatterns = includePatterns; } + + public List getSourceDirectories() + { + return sourceDirectories; + } + + public void setSourceDirectories( List sourceDirectories ) + { + this.sourceDirectories = sourceDirectories; + } }