From 5e3bc49bf16f0637d302d2102035e0d0a7ea36d3 Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Fri, 4 May 2012 10:03:05 +0000 Subject: [PATCH] add TODO for scanning dependencies and sources too for javadoc @since, @deprecated and comments git-svn-id: https://svn.apache.org/repos/asf/maven/plugin-tools/branches/MPLUGIN-189@1333846 13f79535-47bb-0310-9956-ffa450edef68 --- .../JavaAnnotationsMojoDescriptorExtractor.java | 8 ++++++-- .../scanner/DefaultMojoAnnotationsScanner.java | 10 +++++++++- .../scanner/MojoAnnotationsScannerRequest.java | 12 ++++++++++++ 3 files changed, 27 insertions(+), 3 deletions(-) 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; + } }