diff --git a/maven-plugin-annotations/src/main/java/org/apache/maven/plugins/annotations/Mojo.java b/maven-plugin-annotations/src/main/java/org/apache/maven/plugins/annotations/Mojo.java
index 9f667e3..e442310 100644
--- a/maven-plugin-annotations/src/main/java/org/apache/maven/plugins/annotations/Mojo.java
+++ b/maven-plugin-annotations/src/main/java/org/apache/maven/plugins/annotations/Mojo.java
@@ -52,13 +52,13 @@
 
     /**
      * the required dependency resolution scope.
-     * @return 
+     * @return the required dependency resolution scope
      */
     ResolutionScope requiresDependencyResolution() default ResolutionScope.NONE;
 
     /**
      * the required dependency collection scope.
-     * @return 
+     * @return the required dependency collection scope 
      */
     ResolutionScope requiresDependencyCollection() default ResolutionScope.NONE;
 
@@ -76,31 +76,31 @@
 
     /**
      * does your mojo requires a project to be executed?
-     * @return
+     * @return requires a project
      */
     boolean requiresProject() default true;
 
     /**
      * does your mojo requires a reporting context to be executed?
-     * @return
+     * @return requires a reporting context
      */
     boolean requiresReports() default false;
 
     /**
      * if the Mojo uses the Maven project and its child modules.
-     * @return
+     * @return uses the Maven project and its child modules
      */
     boolean aggregator() default false;
 
     /**
      * can this Mojo be invoked directly only?
-     * @return
+     * @return invoked directly only
      */
     boolean requiresDirectInvocation() default false;
 
     /**
      * does this Mojo need to be online to be executed?
-     * @return
+     * @return need to be online
      */
     boolean requiresOnline() default false;
 
@@ -108,13 +108,13 @@
 
     /**
      * own configurator class.
-     * @return
+     * @return own configurator class
      */
     String configurator() default "";
 
     /**
      * is your mojo thread safe (since Maven 3.x)?
-     * @return
+     * @return is thread safe
      */
     boolean threadSafe() default false;
 }
diff --git a/maven-plugin-plugin/src/it/annotation-with-inheritance-from-deps/src/main/java/org/apache/maven/plugin/coreit/FirstMojo.java b/maven-plugin-plugin/src/it/annotation-with-inheritance-from-deps/src/main/java/org/apache/maven/plugin/coreit/FirstMojo.java
index 3ce0801..3acb9b1 100644
--- a/maven-plugin-plugin/src/it/annotation-with-inheritance-from-deps/src/main/java/org/apache/maven/plugin/coreit/FirstMojo.java
+++ b/maven-plugin-plugin/src/it/annotation-with-inheritance-from-deps/src/main/java/org/apache/maven/plugin/coreit/FirstMojo.java
@@ -26,7 +26,7 @@
 import org.apache.maven.plugins.annotations.LifecyclePhase;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.tools.plugin.annotations.FooMojo;
+import org.apache.maven.tools.plugin.extractor.annotations.FooMojo;
 import org.apache.maven.project.MavenProjectHelper;
 
 /**
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/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor.java
similarity index 97%
rename from maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.java
rename to maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor.java
index 48303f8..a9c8ccf 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/extractor/annotations/JavaAnnotationsMojoDescriptorExtractor.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.annotations;
+package org.apache.maven.tools.plugin.extractor.annotations;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -49,15 +49,15 @@
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.tools.plugin.ExtendedMojoDescriptor;
 import org.apache.maven.tools.plugin.PluginToolsRequest;
-import org.apache.maven.tools.plugin.annotations.datamodel.ComponentAnnotationContent;
-import org.apache.maven.tools.plugin.annotations.datamodel.ExecuteAnnotationContent;
-import org.apache.maven.tools.plugin.annotations.datamodel.MojoAnnotationContent;
-import org.apache.maven.tools.plugin.annotations.datamodel.ParameterAnnotationContent;
-import org.apache.maven.tools.plugin.annotations.scanner.MojoAnnotatedClass;
-import org.apache.maven.tools.plugin.annotations.scanner.MojoAnnotationsScanner;
-import org.apache.maven.tools.plugin.annotations.scanner.MojoAnnotationsScannerRequest;
 import org.apache.maven.tools.plugin.extractor.ExtractionException;
 import org.apache.maven.tools.plugin.extractor.MojoDescriptorExtractor;
+import org.apache.maven.tools.plugin.extractor.annotations.datamodel.ComponentAnnotationContent;
+import org.apache.maven.tools.plugin.extractor.annotations.datamodel.ExecuteAnnotationContent;
+import org.apache.maven.tools.plugin.extractor.annotations.datamodel.MojoAnnotationContent;
+import org.apache.maven.tools.plugin.extractor.annotations.datamodel.ParameterAnnotationContent;
+import org.apache.maven.tools.plugin.extractor.annotations.scanner.MojoAnnotatedClass;
+import org.apache.maven.tools.plugin.extractor.annotations.scanner.MojoAnnotationsScanner;
+import org.apache.maven.tools.plugin.extractor.annotations.scanner.MojoAnnotationsScannerRequest;
 import org.apache.maven.tools.plugin.util.PluginUtils;
 import org.codehaus.plexus.archiver.UnArchiver;
 import org.codehaus.plexus.archiver.manager.ArchiverManager;
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/AnnotatedContent.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/AnnotatedContent.java
similarity index 95%
rename from maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/AnnotatedContent.java
rename to maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/AnnotatedContent.java
index c74dd18..54494e0 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/AnnotatedContent.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/AnnotatedContent.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.annotations.datamodel;
+package org.apache.maven.tools.plugin.extractor.annotations.datamodel;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/AnnotatedField.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/AnnotatedField.java
similarity index 95%
rename from maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/AnnotatedField.java
rename to maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/AnnotatedField.java
index a38a14e..9ac1ed0 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/AnnotatedField.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/AnnotatedField.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.annotations.datamodel;
+package org.apache.maven.tools.plugin.extractor.annotations.datamodel;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/ComponentAnnotationContent.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/ComponentAnnotationContent.java
similarity index 96%
rename from maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/ComponentAnnotationContent.java
rename to maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/ComponentAnnotationContent.java
index 26d9ada..4eabbb6 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/ComponentAnnotationContent.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/ComponentAnnotationContent.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.annotations.datamodel;
+package org.apache.maven.tools.plugin.extractor.annotations.datamodel;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/ExecuteAnnotationContent.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/ExecuteAnnotationContent.java
similarity index 96%
rename from maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/ExecuteAnnotationContent.java
rename to maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/ExecuteAnnotationContent.java
index aecbc1b..f95ed3d 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/ExecuteAnnotationContent.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/ExecuteAnnotationContent.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.annotations.datamodel;
+package org.apache.maven.tools.plugin.extractor.annotations.datamodel;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/MojoAnnotationContent.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/MojoAnnotationContent.java
similarity index 98%
rename from maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/MojoAnnotationContent.java
rename to maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/MojoAnnotationContent.java
index 87018f3..33104cb 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/MojoAnnotationContent.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/MojoAnnotationContent.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.annotations.datamodel;
+package org.apache.maven.tools.plugin.extractor.annotations.datamodel;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/ParameterAnnotationContent.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/ParameterAnnotationContent.java
similarity index 98%
rename from maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/ParameterAnnotationContent.java
rename to maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/ParameterAnnotationContent.java
index a40c12e..919aaa4 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/datamodel/ParameterAnnotationContent.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/datamodel/ParameterAnnotationContent.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.annotations.datamodel;
+package org.apache.maven.tools.plugin.extractor.annotations.datamodel;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
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/extractor/annotations/scanner/DefaultMojoAnnotationsScanner.java
similarity index 93%
rename from maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/DefaultMojoAnnotationsScanner.java
rename to maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/DefaultMojoAnnotationsScanner.java
index 731b824..8796274 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/extractor/annotations/scanner/DefaultMojoAnnotationsScanner.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.annotations.scanner;
+package org.apache.maven.tools.plugin.extractor.annotations.scanner;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -24,14 +24,14 @@
 import org.apache.maven.plugins.annotations.Execute;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.tools.plugin.annotations.datamodel.ComponentAnnotationContent;
-import org.apache.maven.tools.plugin.annotations.datamodel.ExecuteAnnotationContent;
-import org.apache.maven.tools.plugin.annotations.datamodel.MojoAnnotationContent;
-import org.apache.maven.tools.plugin.annotations.datamodel.ParameterAnnotationContent;
-import org.apache.maven.tools.plugin.annotations.scanner.visitors.MojoAnnotationVisitor;
-import org.apache.maven.tools.plugin.annotations.scanner.visitors.MojoClassVisitor;
-import org.apache.maven.tools.plugin.annotations.scanner.visitors.MojoFieldVisitor;
 import org.apache.maven.tools.plugin.extractor.ExtractionException;
+import org.apache.maven.tools.plugin.extractor.annotations.datamodel.ComponentAnnotationContent;
+import org.apache.maven.tools.plugin.extractor.annotations.datamodel.ExecuteAnnotationContent;
+import org.apache.maven.tools.plugin.extractor.annotations.datamodel.MojoAnnotationContent;
+import org.apache.maven.tools.plugin.extractor.annotations.datamodel.ParameterAnnotationContent;
+import org.apache.maven.tools.plugin.extractor.annotations.scanner.visitors.MojoAnnotationVisitor;
+import org.apache.maven.tools.plugin.extractor.annotations.scanner.visitors.MojoClassVisitor;
+import org.apache.maven.tools.plugin.extractor.annotations.scanner.visitors.MojoFieldVisitor;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.util.DirectoryScanner;
 import org.codehaus.plexus.util.IOUtil;
@@ -115,7 +115,7 @@
      * @param archiveFile
      * @param artifact
      * @param excludeMojo     for dependencies, we exclude Mojo annotations found
-     * @return
+     * @return annotated classes found
      * @throws IOException
      * @throws ExtractionException
      */
@@ -152,7 +152,7 @@
      * @param includePatterns
      * @param artifact
      * @param excludeMojo     for dependencies, we exclude Mojo annotations found
-     * @return
+     * @return annotated classes found
      * @throws IOException
      * @throws ExtractionException
      */
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/MojoAnnotatedClass.java
similarity index 89%
rename from maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.java
rename to maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/MojoAnnotatedClass.java
index b775890..fb3a409 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/MojoAnnotatedClass.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.annotations.scanner;
+package org.apache.maven.tools.plugin.extractor.annotations.scanner;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -20,10 +20,10 @@
  */
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.tools.plugin.annotations.datamodel.ComponentAnnotationContent;
-import org.apache.maven.tools.plugin.annotations.datamodel.ExecuteAnnotationContent;
-import org.apache.maven.tools.plugin.annotations.datamodel.MojoAnnotationContent;
-import org.apache.maven.tools.plugin.annotations.datamodel.ParameterAnnotationContent;
+import org.apache.maven.tools.plugin.extractor.annotations.datamodel.ComponentAnnotationContent;
+import org.apache.maven.tools.plugin.extractor.annotations.datamodel.ExecuteAnnotationContent;
+import org.apache.maven.tools.plugin.extractor.annotations.datamodel.MojoAnnotationContent;
+import org.apache.maven.tools.plugin.extractor.annotations.datamodel.ParameterAnnotationContent;
 
 import java.util.HashMap;
 import java.util.Map;
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/extractor/annotations/scanner/MojoAnnotationsScanner.java
similarity index 96%
rename from maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotationsScanner.java
rename to maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/MojoAnnotationsScanner.java
index 4808d28..a5add2f 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/extractor/annotations/scanner/MojoAnnotationsScanner.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.annotations.scanner;
+package org.apache.maven.tools.plugin.extractor.annotations.scanner;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
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/extractor/annotations/scanner/MojoAnnotationsScannerRequest.java
similarity index 97%
rename from maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotationsScannerRequest.java
rename to maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/MojoAnnotationsScannerRequest.java
index 5864dc4..b61bca3 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/extractor/annotations/scanner/MojoAnnotationsScannerRequest.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.annotations.scanner;
+package org.apache.maven.tools.plugin.extractor.annotations.scanner;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/visitors/MojoAnnotationVisitor.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoAnnotationVisitor.java
similarity index 96%
rename from maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/visitors/MojoAnnotationVisitor.java
rename to maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoAnnotationVisitor.java
index 2993553..a273ce5 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/visitors/MojoAnnotationVisitor.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoAnnotationVisitor.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.annotations.scanner.visitors;
+package org.apache.maven.tools.plugin.extractor.annotations.scanner.visitors;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/visitors/MojoClassVisitor.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoClassVisitor.java
similarity index 95%
rename from maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/visitors/MojoClassVisitor.java
rename to maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoClassVisitor.java
index f2333d4..88c96ee 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/visitors/MojoClassVisitor.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoClassVisitor.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.annotations.scanner.visitors;
+package org.apache.maven.tools.plugin.extractor.annotations.scanner.visitors;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -19,8 +19,8 @@
  * under the License.
  */
 
-import org.apache.maven.tools.plugin.annotations.scanner.MojoAnnotatedClass;
-import org.apache.maven.tools.plugin.annotations.scanner.MojoAnnotationsScanner;
+import org.apache.maven.tools.plugin.extractor.annotations.scanner.MojoAnnotatedClass;
+import org.apache.maven.tools.plugin.extractor.annotations.scanner.MojoAnnotationsScanner;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.util.StringUtils;
 import org.objectweb.asm.AnnotationVisitor;
diff --git a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/visitors/MojoFieldVisitor.java b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoFieldVisitor.java
similarity index 93%
rename from maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/visitors/MojoFieldVisitor.java
rename to maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoFieldVisitor.java
index 4a61a01..26bbac3 100644
--- a/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/annotations/scanner/visitors/MojoFieldVisitor.java
+++ b/maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoFieldVisitor.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.annotations.scanner.visitors;
+package org.apache.maven.tools.plugin.extractor.annotations.scanner.visitors;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -19,7 +19,7 @@
  * under the License.
  */
 
-import org.apache.maven.tools.plugin.annotations.scanner.MojoAnnotationsScanner;
+import org.apache.maven.tools.plugin.extractor.annotations.scanner.MojoAnnotationsScanner;
 import org.codehaus.plexus.logging.Logger;
 import org.objectweb.asm.AnnotationVisitor;
 import org.objectweb.asm.Attribute;
diff --git a/maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/annotations/FooMojo.java b/maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/extractor/annotations/FooMojo.java
similarity index 97%
rename from maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/annotations/FooMojo.java
rename to maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/extractor/annotations/FooMojo.java
index 1921d9a..673f8b1 100644
--- a/maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/annotations/FooMojo.java
+++ b/maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/extractor/annotations/FooMojo.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.annotations;
+package org.apache.maven.tools.plugin.extractor.annotations;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
diff --git a/maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/annotations/TestAnnotationsReader.java b/maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/extractor/annotations/TestAnnotationsReader.java
similarity index 87%
rename from maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/annotations/TestAnnotationsReader.java
rename to maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/extractor/annotations/TestAnnotationsReader.java
index a4738bd..17a24bf 100644
--- a/maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/annotations/TestAnnotationsReader.java
+++ b/maven-plugin-tools-annotations/src/test/java/org/apache/maven/tools/plugin/extractor/annotations/TestAnnotationsReader.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.annotations;
+package org.apache.maven.tools.plugin.extractor.annotations;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -24,11 +24,11 @@
 import org.apache.maven.plugins.annotations.LifecyclePhase;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.project.MavenProject;
-import org.apache.maven.tools.plugin.annotations.datamodel.ComponentAnnotationContent;
-import org.apache.maven.tools.plugin.annotations.datamodel.ParameterAnnotationContent;
-import org.apache.maven.tools.plugin.annotations.scanner.MojoAnnotatedClass;
-import org.apache.maven.tools.plugin.annotations.scanner.MojoAnnotationsScanner;
-import org.apache.maven.tools.plugin.annotations.scanner.MojoAnnotationsScannerRequest;
+import org.apache.maven.tools.plugin.extractor.annotations.datamodel.ComponentAnnotationContent;
+import org.apache.maven.tools.plugin.extractor.annotations.datamodel.ParameterAnnotationContent;
+import org.apache.maven.tools.plugin.extractor.annotations.scanner.MojoAnnotatedClass;
+import org.apache.maven.tools.plugin.extractor.annotations.scanner.MojoAnnotationsScanner;
+import org.apache.maven.tools.plugin.extractor.annotations.scanner.MojoAnnotationsScannerRequest;
 import org.codehaus.plexus.PlexusTestCase;
 import org.fest.assertions.Assertions;
 
diff --git a/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/PluginToolsRequest.java b/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/PluginToolsRequest.java
index e2a38b2..be555a8 100644
--- a/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/PluginToolsRequest.java
+++ b/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/PluginToolsRequest.java
@@ -85,7 +85,7 @@
     PluginToolsRequest setSkipErrorNoDescriptorsFound( boolean skipErrorNoDescriptorsFound );
 
     /**
-     * @return
+     * @return <code>true</code> if no descriptor found should not cause a failure
      * @since 3.0
      */
     boolean isSkipErrorNoDescriptorsFound();
@@ -93,21 +93,21 @@
     /**
      * Returns the list of {@link Artifact} used in class path scanning for annotations
      *
-     * @return
+     * @return the dependencies
      * @since 3.0
      */
     Set<Artifact> getDependencies();
 
     /**
      * @param dependencies
-     * @return
+     * @return This request.
      * @since 3.0
      */
     PluginToolsRequest setDependencies( Set<Artifact> dependencies );
 
     /**
      *
-     * @return
+     * @return the remote repositories
      * @since 3.0
      */
     List<ArtifactRepository> getRemoteRepos();
@@ -115,14 +115,14 @@
     /**
      *
      * @param remoteRepos
-     * @return
+     * @return This request.
      * @since 3.0
      */
     PluginToolsRequest setRemoteRepos( List<ArtifactRepository> remoteRepos );
 
     /**
      *
-     * @return
+     * @return the local artifact repository
      * @since 3.0
      */
     ArtifactRepository getLocal();
@@ -130,7 +130,7 @@
     /**
      *
      * @param local
-     * @return
+     * @return This request.
      * @since 3.0
      */
     PluginToolsRequest setLocal( ArtifactRepository local );
diff --git a/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/scanner/DefaultMojoScanner.java b/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/scanner/DefaultMojoScanner.java
index 20f2248..ef2db8c 100644
--- a/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/scanner/DefaultMojoScanner.java
+++ b/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/scanner/DefaultMojoScanner.java
@@ -91,7 +91,7 @@
                 throw new ExtractionException( "No mojo extractor with id: " + extractorId );
             }
 
-            logger.info( "Applying mojo extractor with id: " + extractorId );
+            logger.debug( "Applying mojo extractor with id: " + extractorId );
 
             List<MojoDescriptor> extractorDescriptors = extractor.execute( request );
 
diff --git a/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java b/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java
index ee461e4..67e55db 100644
--- a/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java
+++ b/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java
@@ -51,9 +51,6 @@
  * corresponding <code>plugin-help.xml</code> help content for {@link PluginHelpGenerator}.
  *
  * @version $Id$
- * @todo add example usage tag that can be shown in the doco
- * @todo need to add validation directives so that systems embedding maven2 can
- * get validation directives to help users in IDEs.
  */
 public class PluginDescriptorGenerator
     implements Generator
diff --git a/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginXdocGenerator.java b/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginXdocGenerator.java
index 122191f..820c573 100644
--- a/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginXdocGenerator.java
+++ b/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginXdocGenerator.java
@@ -46,7 +46,6 @@
  * Generate xdoc documentation for each mojo.
  *
  * @version $Id$
- * @todo add example usage tag that can be shown in the doco
  */
 public class PluginXdocGenerator
     implements Generator
diff --git a/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaJavadocMojoDescriptorExtractor.java b/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/javadoc/JavaJavadocMojoDescriptorExtractor.java
similarity index 81%
rename from maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaJavadocMojoDescriptorExtractor.java
rename to maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/javadoc/JavaJavadocMojoDescriptorExtractor.java
index 22537c7..137d90d 100644
--- a/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaJavadocMojoDescriptorExtractor.java
+++ b/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/javadoc/JavaJavadocMojoDescriptorExtractor.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.extractor.java;
+package org.apache.maven.tools.plugin.extractor.javadoc;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -59,8 +59,6 @@
  * <a href="http://maven.apache.org/developers/mojo-api-specification.html">
  * http://maven.apache.org/developers/mojo-api-specification.html</a>
  *
- * @todo need to add validation directives so that systems embedding maven2 can
- * get validation directives to help users in IDEs.
  * @version $Id$
  * @see org.apache.maven.plugin.descriptor.MojoDescriptor
  */
@@ -69,94 +67,6 @@
     extends AbstractLogEnabled
     implements MojoDescriptorExtractor, JavadocMojoAnnotation
 {
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#INSTANTIATION_STRATEGY} instead of. */
-    public static final String MAVEN_PLUGIN_INSTANTIATION = JavadocMojoAnnotation.INSTANTIATION_STRATEGY;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#CONFIGURATOR} instead of. */
-    public static final String CONFIGURATOR = JavadocMojoAnnotation.CONFIGURATOR;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#PARAMETER} instead of. */
-    public static final String PARAMETER = JavadocMojoAnnotation.PARAMETER;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#PARAMETER_EXPRESSION} instead of. */
-    public static final String PARAMETER_EXPRESSION = JavadocMojoAnnotation.PARAMETER_EXPRESSION;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#PARAMETER_DEFAULT_VALUE} instead of. */
-    public static final String PARAMETER_DEFAULT_VALUE = JavadocMojoAnnotation.PARAMETER_DEFAULT_VALUE;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#PARAMETER_ALIAS} instead of. */
-    public static final String PARAMETER_ALIAS = JavadocMojoAnnotation.PARAMETER_ALIAS;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#SINCE} instead of. */
-    public static final String SINCE = JavadocMojoAnnotation.SINCE;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#PARAMETER_IMPLEMENTATION} instead of. */
-    public static final String PARAMETER_IMPLEMENTATION = JavadocMojoAnnotation.PARAMETER_IMPLEMENTATION;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#REQUIRED} instead of. */
-    public static final String REQUIRED = JavadocMojoAnnotation.REQUIRED;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#DEPRECATED} instead of. */
-    public static final String DEPRECATED = JavadocMojoAnnotation.DEPRECATED;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#READONLY} instead of. */
-    public static final String READONLY = JavadocMojoAnnotation.READONLY;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#GOAL} instead of. */
-    public static final String GOAL = JavadocMojoAnnotation.GOAL;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#PHASE} instead of. */
-    public static final String PHASE = JavadocMojoAnnotation.PHASE;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#EXECUTE} instead of. */
-    public static final String EXECUTE = JavadocMojoAnnotation.EXECUTE;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#EXECUTE_LIFECYCLE} instead of. */
-    public static final String EXECUTE_LIFECYCLE = JavadocMojoAnnotation.EXECUTE_LIFECYCLE;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#EXECUTE_PHASE} instead of. */
-    public static final String EXECUTE_PHASE = JavadocMojoAnnotation.EXECUTE_PHASE;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#EXECUTE_GOAL} instead of. */
-    public static final String EXECUTE_GOAL = JavadocMojoAnnotation.EXECUTE_GOAL;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#DESCRIPTION} instead of. */
-    public static final String GOAL_DESCRIPTION = JavadocMojoAnnotation.DESCRIPTION;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#REQUIRES_DEPENDENCY_RESOLUTION} instead of. */
-    public static final String GOAL_REQUIRES_DEPENDENCY_RESOLUTION =
-        JavadocMojoAnnotation.REQUIRES_DEPENDENCY_RESOLUTION;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#REQUIRES_PROJECT} instead of. */
-    public static final String GOAL_REQUIRES_PROJECT = JavadocMojoAnnotation.REQUIRES_PROJECT;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#REQUIRES_REPORTS} instead of. */
-    public static final String GOAL_REQUIRES_REPORTS = JavadocMojoAnnotation.REQUIRES_REPORTS;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#AGGREGATOR} instead of. */
-    public static final String GOAL_IS_AGGREGATOR = JavadocMojoAnnotation.AGGREGATOR;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#REQUIRES_ONLINE} instead of. */
-    public static final String GOAL_REQUIRES_ONLINE = JavadocMojoAnnotation.REQUIRES_ONLINE;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#INHERIT_BY_DEFAULT} instead of. */
-    public static final String GOAL_INHERIT_BY_DEFAULT = JavadocMojoAnnotation.INHERIT_BY_DEFAULT;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#MULTI_EXECUTION_STRATEGY} instead of. */
-    public static final String GOAL_MULTI_EXECUTION_STRATEGY = JavadocMojoAnnotation.MULTI_EXECUTION_STRATEGY;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#REQUIRES_DIRECT_INVOCATION} instead of. */
-    public static final String GOAL_REQUIRES_DIRECT_INVOCATION = JavadocMojoAnnotation.REQUIRES_DIRECT_INVOCATION;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#COMPONENT} instead of. */
-    public static final String COMPONENT = JavadocMojoAnnotation.COMPONENT;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#COMPONENT_ROLE} instead of. */
-    public static final String COMPONENT_ROLE = JavadocMojoAnnotation.COMPONENT_ROLE;
-
-    /** @deprecated since 2.4, use {@link JavadocMojoAnnotation#COMPONENT_ROLEHINT} instead of. */
-    public static final String COMPONENT_ROLEHINT = JavadocMojoAnnotation.COMPONENT_ROLEHINT;
-
     /**
      * @param parameter not null
      * @param i positive number
diff --git a/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavadocMojoAnnotation.java b/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/javadoc/JavadocMojoAnnotation.java
similarity index 99%
rename from maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavadocMojoAnnotation.java
rename to maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/javadoc/JavadocMojoAnnotation.java
index ae6e44e..0959241 100644
--- a/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavadocMojoAnnotation.java
+++ b/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/javadoc/JavadocMojoAnnotation.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.extractor.java;
+package org.apache.maven.tools.plugin.extractor.javadoc;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
diff --git a/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractorTest.java b/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/javadoc/JavaMojoDescriptorExtractorTest.java
similarity index 97%
rename from maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractorTest.java
rename to maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/javadoc/JavaMojoDescriptorExtractorTest.java
index cf2dbf1..bef1c10 100644
--- a/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractorTest.java
+++ b/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/javadoc/JavaMojoDescriptorExtractorTest.java
@@ -1,4 +1,4 @@
-package org.apache.maven.tools.plugin.extractor.java;
+package org.apache.maven.tools.plugin.extractor.javadoc;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -23,6 +23,7 @@
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
+
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Model;
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
@@ -33,6 +34,7 @@
 import org.apache.maven.tools.plugin.DefaultPluginToolsRequest;
 import org.apache.maven.tools.plugin.ExtendedMojoDescriptor;
 import org.apache.maven.tools.plugin.PluginToolsRequest;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavaJavadocMojoDescriptorExtractor;
 import org.apache.maven.tools.plugin.generator.Generator;
 import org.apache.maven.tools.plugin.generator.PluginDescriptorGenerator;
 import org.apache.maven.tools.plugin.util.PluginUtils;
@@ -42,6 +44,7 @@
 import org.codehaus.plexus.util.FileUtils;
 
 import junit.framework.TestCase;
+
 import org.custommonkey.xmlunit.Diff;
 import org.custommonkey.xmlunit.XMLUnit;
 import org.w3c.dom.Document;
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoAggregatorTypeTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoAggregatorTypeTaglet.java
index f30fe5d..170bbc8 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoAggregatorTypeTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoAggregatorTypeTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoComponentFieldTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoComponentFieldTaglet.java
index c6456f9..e3fd730 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoComponentFieldTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoComponentFieldTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoConfiguratorTypeTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoConfiguratorTypeTaglet.java
index 56ccc8c..c68c289 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoConfiguratorTypeTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoConfiguratorTypeTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoExecuteTypeTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoExecuteTypeTaglet.java
index 3c974b9..8c53dc8 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoExecuteTypeTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoExecuteTypeTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoExecutionStrategyTypeTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoExecutionStrategyTypeTaglet.java
index 1ce4437..088ef7e 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoExecutionStrategyTypeTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoExecutionStrategyTypeTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoGoalTypeTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoGoalTypeTaglet.java
index 579a125..6704932 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoGoalTypeTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoGoalTypeTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoInheritByDefaultTypeTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoInheritByDefaultTypeTaglet.java
index 7422cb3..e4041c1 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoInheritByDefaultTypeTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoInheritByDefaultTypeTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoInstantiationStrategyTypeTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoInstantiationStrategyTypeTaglet.java
index 6f70c64..678ecbe 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoInstantiationStrategyTypeTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoInstantiationStrategyTypeTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoParameterFieldTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoParameterFieldTaglet.java
index 1966d21..67b8bcc 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoParameterFieldTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoParameterFieldTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoPhaseTypeTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoPhaseTypeTaglet.java
index 3b3ec99..70def11 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoPhaseTypeTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoPhaseTypeTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoReadOnlyFieldTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoReadOnlyFieldTaglet.java
index 7be0e14..49fd8fb 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoReadOnlyFieldTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoReadOnlyFieldTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiredFieldTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiredFieldTaglet.java
index 925e3d3..bc46d88 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiredFieldTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiredFieldTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresDependencyCollectionTypeTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresDependencyCollectionTypeTaglet.java
index bdc9f9c..1ff1f8c 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresDependencyCollectionTypeTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresDependencyCollectionTypeTaglet.java
@@ -20,7 +20,8 @@
  */
 
 import com.sun.tools.doclets.Taglet;
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import java.util.Map;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresDependencyResolutionTypeTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresDependencyResolutionTypeTaglet.java
index 7b62b41..bd82524 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresDependencyResolutionTypeTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresDependencyResolutionTypeTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresDirectInvocationTypeTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresDirectInvocationTypeTaglet.java
index 7ee9734..5d9322b 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresDirectInvocationTypeTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresDirectInvocationTypeTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresOnLineTypeTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresOnLineTypeTaglet.java
index 815aca3..7a9520f 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresOnLineTypeTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresOnLineTypeTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresProjectTypeTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresProjectTypeTaglet.java
index f1bb7f3..715091a 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresProjectTypeTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresProjectTypeTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresReportsTypeTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresReportsTypeTaglet.java
index 447be10..b5ed8d9 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresReportsTypeTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoRequiresReportsTypeTaglet.java
@@ -21,7 +21,7 @@
 
 import java.util.Map;
 
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import com.sun.tools.doclets.Taglet;
 
diff --git a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoThreadSafeTypeTaglet.java b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoThreadSafeTypeTaglet.java
index aa89e26..7406d91 100644
--- a/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoThreadSafeTypeTaglet.java
+++ b/maven-plugin-tools-javadoc/src/main/java/org/apache/maven/tools/plugin/javadoc/MojoThreadSafeTypeTaglet.java
@@ -20,7 +20,8 @@
  */
 
 import com.sun.tools.doclets.Taglet;
-import org.apache.maven.tools.plugin.extractor.java.JavadocMojoAnnotation;
+
+import org.apache.maven.tools.plugin.extractor.javadoc.JavadocMojoAnnotation;
 
 import java.util.Map;
 
diff --git a/maven-plugin-tools-ant/pom.xml b/maven-script/maven-plugin-tools-ant/pom.xml
similarity index 97%
rename from maven-plugin-tools-ant/pom.xml
rename to maven-script/maven-plugin-tools-ant/pom.xml
index 7c47815..62bc329 100644
--- a/maven-plugin-tools-ant/pom.xml
+++ b/maven-script/maven-plugin-tools-ant/pom.xml
@@ -24,7 +24,7 @@
 
   <parent>
     <groupId>org.apache.maven.plugin-tools</groupId>
-    <artifactId>maven-plugin-tools</artifactId>
+    <artifactId>maven-script</artifactId>
     <version>3.4</version>
   </parent>
 
diff --git a/maven-plugin-tools-ant/src/main/java/org/apache/maven/tools/plugin/extractor/ant/AntMojoDescriptorExtractor.java b/maven-script/maven-plugin-tools-ant/src/main/java/org/apache/maven/tools/plugin/extractor/ant/AntMojoDescriptorExtractor.java
similarity index 100%
rename from maven-plugin-tools-ant/src/main/java/org/apache/maven/tools/plugin/extractor/ant/AntMojoDescriptorExtractor.java
rename to maven-script/maven-plugin-tools-ant/src/main/java/org/apache/maven/tools/plugin/extractor/ant/AntMojoDescriptorExtractor.java
diff --git a/maven-plugin-tools-ant/src/site/apt/index.apt b/maven-script/maven-plugin-tools-ant/src/site/apt/index.apt
similarity index 100%
rename from maven-plugin-tools-ant/src/site/apt/index.apt
rename to maven-script/maven-plugin-tools-ant/src/site/apt/index.apt
diff --git a/maven-plugin-tools-ant/src/site/site.xml b/maven-script/maven-plugin-tools-ant/src/site/site.xml
similarity index 100%
rename from maven-plugin-tools-ant/src/site/site.xml
rename to maven-script/maven-plugin-tools-ant/src/site/site.xml
diff --git a/maven-plugin-tools-ant/src/test/java/org/apache/maven/tools/plugin/extractor/ant/AntMojoDescriptorExtractorTest.java b/maven-script/maven-plugin-tools-ant/src/test/java/org/apache/maven/tools/plugin/extractor/ant/AntMojoDescriptorExtractorTest.java
similarity index 100%
rename from maven-plugin-tools-ant/src/test/java/org/apache/maven/tools/plugin/extractor/ant/AntMojoDescriptorExtractorTest.java
rename to maven-script/maven-plugin-tools-ant/src/test/java/org/apache/maven/tools/plugin/extractor/ant/AntMojoDescriptorExtractorTest.java
diff --git a/maven-plugin-tools-ant/src/test/resources/basic/test.build.xml b/maven-script/maven-plugin-tools-ant/src/test/resources/basic/test.build.xml
similarity index 100%
rename from maven-plugin-tools-ant/src/test/resources/basic/test.build.xml
rename to maven-script/maven-plugin-tools-ant/src/test/resources/basic/test.build.xml
diff --git a/maven-plugin-tools-ant/src/test/resources/basic/test.mojos.xml b/maven-script/maven-plugin-tools-ant/src/test/resources/basic/test.mojos.xml
similarity index 100%
rename from maven-plugin-tools-ant/src/test/resources/basic/test.mojos.xml
rename to maven-script/maven-plugin-tools-ant/src/test/resources/basic/test.mojos.xml
diff --git a/maven-plugin-tools-beanshell/pom.xml b/maven-script/maven-plugin-tools-beanshell/pom.xml
similarity index 97%
rename from maven-plugin-tools-beanshell/pom.xml
rename to maven-script/maven-plugin-tools-beanshell/pom.xml
index 8e55d56..367c96d 100644
--- a/maven-plugin-tools-beanshell/pom.xml
+++ b/maven-script/maven-plugin-tools-beanshell/pom.xml
@@ -24,7 +24,7 @@
 
   <parent>
     <groupId>org.apache.maven.plugin-tools</groupId>
-    <artifactId>maven-plugin-tools</artifactId>
+    <artifactId>maven-script</artifactId>
     <version>3.4</version>
   </parent>
 
diff --git a/maven-plugin-tools-beanshell/src/main/java/org/apache/maven/tools/plugin/extractor/beanshell/BeanshellMojoDescriptorExtractor.java b/maven-script/maven-plugin-tools-beanshell/src/main/java/org/apache/maven/tools/plugin/extractor/beanshell/BeanshellMojoDescriptorExtractor.java
similarity index 95%
rename from maven-plugin-tools-beanshell/src/main/java/org/apache/maven/tools/plugin/extractor/beanshell/BeanshellMojoDescriptorExtractor.java
rename to maven-script/maven-plugin-tools-beanshell/src/main/java/org/apache/maven/tools/plugin/extractor/beanshell/BeanshellMojoDescriptorExtractor.java
index 3b80923..8b43c43 100644
--- a/maven-plugin-tools-beanshell/src/main/java/org/apache/maven/tools/plugin/extractor/beanshell/BeanshellMojoDescriptorExtractor.java
+++ b/maven-script/maven-plugin-tools-beanshell/src/main/java/org/apache/maven/tools/plugin/extractor/beanshell/BeanshellMojoDescriptorExtractor.java
@@ -41,10 +41,6 @@
  * Extracts Mojo descriptors from <a href="http://www.beanshell.org/">BeanShell</a> sources.
  *
  * @version $Id$
- * @todo share constants
- * @todo add example usage tag that can be shown in the doco
- * @todo need to add validation directives so that systems embedding maven2 can
- * get validation directives to help users in IDEs.
  */
 @Component( role = MojoDescriptorExtractor.class, hint = "bsh" )
 public class BeanshellMojoDescriptorExtractor
diff --git a/maven-plugin-tools-beanshell/src/main/resources/extractor.bsh b/maven-script/maven-plugin-tools-beanshell/src/main/resources/extractor.bsh
similarity index 100%
rename from maven-plugin-tools-beanshell/src/main/resources/extractor.bsh
rename to maven-script/maven-plugin-tools-beanshell/src/main/resources/extractor.bsh
diff --git a/maven-plugin-tools-beanshell/src/site/apt/index.apt b/maven-script/maven-plugin-tools-beanshell/src/site/apt/index.apt
similarity index 100%
rename from maven-plugin-tools-beanshell/src/site/apt/index.apt
rename to maven-script/maven-plugin-tools-beanshell/src/site/apt/index.apt
diff --git a/maven-plugin-tools-beanshell/src/site/site.xml b/maven-script/maven-plugin-tools-beanshell/src/site/site.xml
similarity index 100%
rename from maven-plugin-tools-beanshell/src/site/site.xml
rename to maven-script/maven-plugin-tools-beanshell/src/site/site.xml
diff --git a/maven-plugin-tools-model/pom.xml b/maven-script/maven-plugin-tools-model/pom.xml
similarity index 98%
rename from maven-plugin-tools-model/pom.xml
rename to maven-script/maven-plugin-tools-model/pom.xml
index 5c0b37a..d538fa3 100644
--- a/maven-plugin-tools-model/pom.xml
+++ b/maven-script/maven-plugin-tools-model/pom.xml
@@ -24,7 +24,7 @@
 
   <parent>
     <groupId>org.apache.maven.plugin-tools</groupId>
-    <artifactId>maven-plugin-tools</artifactId>
+    <artifactId>maven-script</artifactId>
     <version>3.4</version>
   </parent>
 
diff --git a/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParseException.java b/maven-script/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParseException.java
similarity index 100%
rename from maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParseException.java
rename to maven-script/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParseException.java
diff --git a/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParser.java b/maven-script/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParser.java
similarity index 100%
rename from maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParser.java
rename to maven-script/maven-plugin-tools-model/src/main/java/org/apache/maven/plugin/tools/model/PluginMetadataParser.java
diff --git a/maven-plugin-tools-model/src/main/mdo/plugin-metadata.mdo b/maven-script/maven-plugin-tools-model/src/main/mdo/plugin-metadata.mdo
similarity index 100%
rename from maven-plugin-tools-model/src/main/mdo/plugin-metadata.mdo
rename to maven-script/maven-plugin-tools-model/src/main/mdo/plugin-metadata.mdo
diff --git a/maven-plugin-tools-model/src/site/apt/index.apt b/maven-script/maven-plugin-tools-model/src/site/apt/index.apt
similarity index 100%
rename from maven-plugin-tools-model/src/site/apt/index.apt
rename to maven-script/maven-plugin-tools-model/src/site/apt/index.apt
diff --git a/maven-plugin-tools-model/src/site/site.xml b/maven-script/maven-plugin-tools-model/src/site/site.xml
similarity index 100%
rename from maven-plugin-tools-model/src/site/site.xml
rename to maven-script/maven-plugin-tools-model/src/site/site.xml
diff --git a/maven-plugin-tools-model/src/test/java/org/apache/maven/plugin/tools/model/PluginMetadataParserTest.java b/maven-script/maven-plugin-tools-model/src/test/java/org/apache/maven/plugin/tools/model/PluginMetadataParserTest.java
similarity index 100%
rename from maven-plugin-tools-model/src/test/java/org/apache/maven/plugin/tools/model/PluginMetadataParserTest.java
rename to maven-script/maven-plugin-tools-model/src/test/java/org/apache/maven/plugin/tools/model/PluginMetadataParserTest.java
diff --git a/maven-plugin-tools-model/src/test/resources/test.mojos.xml b/maven-script/maven-plugin-tools-model/src/test/resources/test.mojos.xml
similarity index 100%
rename from maven-plugin-tools-model/src/test/resources/test.mojos.xml
rename to maven-script/maven-plugin-tools-model/src/test/resources/test.mojos.xml
diff --git a/maven-plugin-tools-model/src/test/resources/test2.mojos.xml b/maven-script/maven-plugin-tools-model/src/test/resources/test2.mojos.xml
similarity index 100%
rename from maven-plugin-tools-model/src/test/resources/test2.mojos.xml
rename to maven-script/maven-plugin-tools-model/src/test/resources/test2.mojos.xml
diff --git a/maven-script/maven-script-beanshell/src/main/java/org/apache/maven/script/beanshell/BeanshellMojoAdapter.java b/maven-script/maven-script-beanshell/src/main/java/org/apache/maven/script/beanshell/BeanshellMojoAdapter.java
index 8ec8cad..c716f9e 100644
--- a/maven-script/maven-script-beanshell/src/main/java/org/apache/maven/script/beanshell/BeanshellMojoAdapter.java
+++ b/maven-script/maven-script-beanshell/src/main/java/org/apache/maven/script/beanshell/BeanshellMojoAdapter.java
@@ -30,8 +30,6 @@
 /**
  * Mojo adapter for a Beanshell Mojo.
  *
- * @todo should log be passed in, or rely on getLog() ?
- *
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  * @version $Id$
  */
diff --git a/maven-script/pom.xml b/maven-script/pom.xml
index 9021215..52658a6 100644
--- a/maven-script/pom.xml
+++ b/maven-script/pom.xml
@@ -33,8 +33,11 @@
   <description>Maven Script Mojo Support lets developer write Maven plugins/goals with scripting languages instead of compiled Java.</description>
 
   <modules>
+    <module>maven-plugin-tools-ant</module>
     <module>maven-script-ant</module>
+    <module>maven-plugin-tools-beanshell</module>
     <module>maven-script-beanshell</module>
+    <module>maven-plugin-tools-model</module>
   </modules>
 
 
diff --git a/pom.xml b/pom.xml
index 4f5c55d..e9db0d4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,17 +63,14 @@
   </prerequisites>
 
   <modules>
-    <module>maven-plugin-plugin</module>
     <module>maven-plugin-tools-generators</module>
     <module>maven-plugin-tools-api</module>
     <module>maven-plugin-tools-java</module>
     <module>maven-plugin-tools-annotations</module>
     <module>maven-plugin-tools-javadoc</module>
     <module>maven-plugin-annotations</module>
-    <module>maven-plugin-tools-ant</module>
-    <module>maven-plugin-tools-beanshell</module>
-    <module>maven-plugin-tools-model</module>
     <module>maven-script</module>
+    <module>maven-plugin-plugin</module><!-- keep at end since ITs require every extractors -->
   </modules>
 
   <scm>
@@ -298,9 +295,36 @@
             <artifactId>maven-javadoc-plugin</artifactId>
             <configuration>
               <linksource>true</linksource>
-              <links combine.children="append">
-                <link>http://sonatype.github.com/sonatype-aether/apidocs/</link>
-              </links>
+              <groups>
+                <group>
+                  <title>Plugin Tools' Maven Plugin Plugin</title>
+                  <packages>org.apache.maven.plugin.plugin*</packages>
+                </group>
+                <group>
+                  <title>Plugin Tools Extractor API</title>
+                  <packages>org.apache.maven.tools.plugin:org.apache.maven.tools.plugin.extractor:org.apache.maven.tools.plugin.scanner:org.apache.maven.tools.plugin.util</packages>
+                </group>
+                <group>
+                  <title>Plugin Tools Generators</title>
+                  <packages>org.apache.maven.tools.plugin.generator</packages>
+                </group>
+                <group>
+                  <title>Java Annotations Support: Annotations + Extractor</title>
+                  <packages>org.apache.maven.plugins.annotations:org.apache.maven.tools.plugin.extractor.annotations*</packages>
+                </group>
+                <group>
+                  <title>Javadoc Support: Javadoc Tags Extractor + Taglets</title>
+                  <packages>org.apache.maven.tools.plugin.extractor.javadoc:org.apache.maven.tools.plugin.javadoc</packages>
+                </group>
+                <group>
+                  <title>Beanshell Support: Extractor + Runtime</title>
+                  <packages>org.apache.maven.tools.plugin.extractor.beanshell:org.apache.maven.script.beanshell</packages>
+                </group>
+                <group>
+                  <title>Apache Ant Support : Metadata + Extractor + Runtime</title>
+                  <packages>org.apache.maven.tools.plugin.extractor.ant:org.apache.maven.script.ant:org.apache.maven.plugin.tools.model*</packages>
+                </group>
+              </groups>
             </configuration>
             <reportSets>
               <reportSet>
diff --git a/src/site/resources/images/plugin-tools-deps.png b/src/site/resources/images/plugin-tools-deps.png
index 607d1c4..0da46f9 100644
--- a/src/site/resources/images/plugin-tools-deps.png
+++ b/src/site/resources/images/plugin-tools-deps.png
Binary files differ
diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml
index 93e6d5a..73b30a3 100644
--- a/src/site/xdoc/index.xml
+++ b/src/site/xdoc/index.xml
@@ -38,28 +38,27 @@
       like Ant or Beanshell.</p>
 
       <p>
-        <img src="images/plugin-tools-deps.png" width="826" height="491" border="0" usemap="#PluginTools_dependencies" />
+        <img src="images/plugin-tools-deps.png" width="759" height="474" border="0" usemap="#PluginTools_dependencies" />
         <map name="PluginTools_dependencies">
-          <area shape="rect" coords="279,0,508,38"    alt="maven-plugin-plugin"      href="./maven-plugin-plugin" />
-          <area shape="rect" coords="31,101,223,138"  alt="plugin-tools-api"         href="./maven-plugin-tools-api"/>
-          <area shape="rect" coords="62,163,251,200"  alt="plugin-tools-java"        href="./maven-plugin-tools-java"/>
-          <area shape="rect" coords="312,163,539,200" alt="plugin-tools-javadoc"     href="./maven-plugin-tools-javadoc"/>
-          <area shape="rect" coords="61,225,319,262"  alt="plugin-tools-annotations" href="./maven-plugin-tools-annotations"/>
-          <area shape="rect" coords="339,225,539,262" alt="plugin-annotations"       href="./maven-plugin-annotations"/>
-          <area shape="rect" coords="61,286,320,324"  alt="plugin-tools-beanshell"   href="./maven-plugin-tools-beanshell"/>
-          <area shape="rect" coords="348,286,605,324" alt="maven-script-beanshell"   href="./maven-script/maven-script-beanshell"/>
-          <area shape="rect" coords="61,348,244,386"  alt="plugin-tools-ant"         href="./maven-plugin-tools-ant"/>
-          <area shape="rect" coords="423,348,605,386" alt="maven-script-ant"         href="./maven-script/maven-script-ant"/>
-          <area shape="rect" coords="339,277,623,421" alt="maven-script"             href="./maven-script"/>
-          <area shape="rect" coords="43,410,261,447"  alt="plugin-tools-model"       href="./maven-plugin-tools-model"/>
-          <area shape="rect" coords="538,101,804,139" alt="plugin-tools-generators"  href="./maven-plugin-tools-generators"/>
-          <area shape="rect" coords="380,454,584,490" alt="maven-plugin-api"         href="/ref/current/maven-plugin-api/"/>
-          <area shape="rect" coords="556,163,633,200" alt="qdox"                     href="http://qdox.codehaus.org/"/>
-          <area shape="rect" coords="555,225,634,262" alt="asm"                      href="http://asm.ow2.org/"/>
-          <area shape="rect" coords="657,142,825,178" alt="Doxia"                    href="/doxia/"/>
-          <area shape="rect" coords="657,181,825,218" alt="plexus-velocity"          href="http://plexus.codehaus.org/plexus-components/plexus-velocity/"/>
-          <area shape="rect" coords="652,287,777,324" alt="beanshell"                href="http://www.beanshell.org/"/>
-          <area shape="rect" coords="651,348,730,386" alt="ant"                      href="http://ant.apache.maven/"/>
+          <area shape="rect" coords="256,0,467,34"    alt="maven-plugin-plugin"      href="./maven-plugin-plugin" />
+          <area shape="rect" coords="28,95,205,131"   alt="plugin-tools-api"         href="./maven-plugin-tools-api"/>
+          <area shape="rect" coords="287,154,496,190" alt="plugin-tools-javadoc"     href="./maven-plugin-tools-javadoc"/>
+          <area shape="rect" coords="44,146,508,198"  alt="plugin-tools-java"        href="./maven-plugin-tools-java"/>
+          <area shape="rect" coords="311,213,496,248" alt="plugin-annotations"       href="./maven-plugin-annotations"/>
+          <area shape="rect" coords="44,204,508,256"  alt="plugin-tools-annotations" href="./maven-plugin-tools-annotations"/>
+          <area shape="rect" coords="55,270,293,306"  alt="plugin-tools-beanshell"   href="./maven-plugin-tools-beanshell"/>
+          <area shape="rect" coords="319,271,557,306" alt="maven-script-beanshell"   href="./maven-script/maven-script-beanshell"/>
+          <area shape="rect" coords="56,329,223,365"  alt="plugin-tools-ant"         href="./maven-plugin-tools-ant"/>
+          <area shape="rect" coords="388,329,557,365" alt="maven-script-ant"         href="./maven-script/maven-script-ant"/>
+          <area shape="rect" coords="48,388,231,424"  alt="plugin-tools-model"       href="./maven-plugin-tools-model"/>
+          <area shape="rect" coords="514,95,759,131"  alt="plugin-tools-generators"  href="./maven-plugin-tools-generators"/>
+          <area shape="rect" coords="44,263,570,432"  alt="maven-script"             href="./maven-script"/>
+          <area shape="rect" coords="340,438,529,474" alt="maven-plugin-api"         href="/ref/current/maven-plugin-api/"/>
+          <area shape="rect" coords="510,154,582,190" alt="qdox"                     href="http://qdox.codehaus.org/"/>
+          <area shape="rect" coords="510,212,583,248" alt="asm"                      href="http://asm.ow2.org/"/>
+          <area shape="rect" coords="656,134,747,169" alt="Doxia"                    href="/doxia/"/>
+          <area shape="rect" coords="599,271,715,306" alt="Beanshell"                href="http://www.beanshell.org/"/>
+          <area shape="rect" coords="600,329,670,366" alt="Ant"                      href="http://ant.apache.maven/"/>
         </map>
       </p>
 
@@ -75,11 +74,11 @@
         </tr>      
         <tr>
           <td><a href="./maven-plugin-tools-api/index.html">maven-plugin-tools-api</a></td>
-          <td>Descriptor extractor API, used by maven-plugin-plugin to extract Plugin information.</td>
+          <td>Extractor API, used by maven-plugin-plugin to extract Mojo information.</td>
         </tr>      
         <tr>
           <td>&nbsp;&nbsp;<a href="./maven-plugin-tools-java/index.html">maven-plugin-tools-java</a></td>
-          <td>Descriptor extractor for plugins written in Java annotated with Mojo Javadoc Tags.</td>
+          <td>Extractor for plugins written in Java annotated with Mojo Javadoc Tags.</td>
         </tr>      
         <tr>
           <td>&nbsp;&nbsp;&nbsp;&nbsp;<a href="./maven-plugin-tools-javadoc/index.html">maven-plugin-tools-javadoc</a></td>
@@ -87,36 +86,36 @@
         </tr>      
         <tr>
           <td>&nbsp;&nbsp;<a href="./maven-plugin-tools-annotations/index.html">maven-plugin-tools-annotations</a></td>
-          <td>Descriptor extractor for plugins written in Java with Java 5 annotations.</td>
+          <td>Extractor for plugins written in Java with Java 5 annotations.</td>
         </tr>      
         <tr>
           <td>&nbsp;&nbsp;&nbsp;&nbsp;<a href="./maven-plugin-annotations/index.html">maven-plugin-annotations</a></td>
           <td>Provides the Java 5 annotations to use in Mojos.</td>
         </tr>      
         <tr>
-          <td>&nbsp;&nbsp;<a href="./maven-plugin-tools-beanshell/index.html">maven-plugin-tools-beanshell</a></td>
-          <td>Descriptor extractor for plugins written in Beanshell.</td>
-        </tr>      
-        <tr>
-          <td>&nbsp;&nbsp;<a href="./maven-plugin-tools-ant/index.html">maven-plugin-tools-ant</a></td>
-          <td>Descriptor extractor for plugins written in Ant.</td>
-        </tr>      
-        <tr>
-          <td><a href="./maven-plugin-tools-model/index.html">maven-plugin-tools-model</a></td>
-          <td>API to play with the Maven Plugin Metadata Model for script-based plugins.</td>
-        </tr>      
-        <tr>
           <td><a href="./maven-script/index.html">maven-script</a></td>
           <td>Maven Script Mojo Support lets developer write Maven plugins/goals with scripting languages instead of compiled Java.</td>
         </tr>      
         <tr>
+          <td>&nbsp;&nbsp;<a href="./maven-script/maven-plugin-tools-beanshell/index.html">maven-plugin-tools-beanshell</a></td>
+          <td>Extractor for plugins written in Beanshell.</td>
+        </tr>      
+        <tr>
           <td>&nbsp;&nbsp;<a href="./maven-script/maven-script-beanshell/index.html">maven-script-beanshell</a></td>
           <td>Maven Beanshell Mojo Support, ie write Maven plugins with Beanshell scripts.</td>
         </tr>      
         <tr>
-          <td>&nbsp;&nbsp;<a href="./maven-script/maven-script-ant/index.html">maven-script-ant</a></td>
+          <td>&nbsp;&nbsp;<a href="./maven-plugin-tools-ant/index.html">maven-plugin-tools-ant</a></td>
+          <td>Extractor for plugins written in Ant.</td>
+        </tr>      
+        <tr>
+          <td>&nbsp;&nbsp;<a href="./maven-script/maven-script/maven-script-ant/index.html">maven-script-ant</a></td>
           <td>Maven Ant Mojo Support, ie write Maven plugins with Ant script.</td>
         </tr>      
+        <tr>
+          <td>&nbsp;&nbsp;<a href="./maven-script/maven-plugin-tools-model/index.html">maven-plugin-tools-model</a></td>
+          <td>Plugin Metadata Model for script-based plugins.</td>
+        </tr>      
       </table>
 
       <subsection name="See Also">
diff --git a/src/site/xdoc/plugin-tools-deps.odg b/src/site/xdoc/plugin-tools-deps.odg
index a5c161b..9d6bf47 100644
--- a/src/site/xdoc/plugin-tools-deps.odg
+++ b/src/site/xdoc/plugin-tools-deps.odg
Binary files differ
