[MTOOLCHAINS-4] use maven-plugin-tools' java 5 annotations 


git-svn-id: https://svn.apache.org/repos/asf/maven/plugins/trunk@1359834 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index 97b0857..272b924 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>maven-plugins</artifactId>
     <groupId>org.apache.maven.plugins</groupId>
-    <version>21</version>
+    <version>22</version>
     <relativePath>../maven-plugins/pom.xml</relativePath>
   </parent>
 
@@ -65,6 +65,11 @@
       <version>${mavenVersion}</version>
     </dependency>
     <dependency>
+      <groupId>org.apache.maven.plugin-tools</groupId>
+      <artifactId>maven-plugin-annotations</artifactId>
+      <version>3.1</version>
+    </dependency>
+    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>3.8.1</version>
@@ -72,6 +77,34 @@
     </dependency>
   </dependencies>
 
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-plugin-plugin</artifactId>
+          <version>3.1</version>
+          <configuration>
+            <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+
+    <plugins>
+      <plugin>
+        <artifactId>maven-plugin-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>generate-descriptor</id>
+            <goals>
+              <goal>descriptor</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+
+  </build>
   <reporting>
     <plugins>
       <plugin>
diff --git a/src/main/java/org/apache/maven/plugin/toolchain/ToolchainMojo.java b/src/main/java/org/apache/maven/plugin/toolchain/ToolchainMojo.java
index ce62feb..dc2ecfe 100644
--- a/src/main/java/org/apache/maven/plugin/toolchain/ToolchainMojo.java
+++ b/src/main/java/org/apache/maven/plugin/toolchain/ToolchainMojo.java
@@ -19,51 +19,48 @@
  * under the License.
  */
 
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+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.toolchain.MisconfiguredToolchainException;
+import org.apache.maven.toolchain.ToolchainManagerPrivate;
+import org.apache.maven.toolchain.ToolchainPrivate;
+
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.toolchain.MisconfiguredToolchainException;
-import org.apache.maven.toolchain.ToolchainManagerPrivate;
-import org.apache.maven.toolchain.ToolchainPrivate;
 
 /**
- * @goal toolchain
- * @phase validate
- * @configurator override
- *
  * @author mkleint
  */
+@Mojo( name = "toolchain", defaultPhase = LifecyclePhase.VALIDATE )
 public class ToolchainMojo
     extends AbstractMojo
 {
 
     /**
-     *
-     * @component
      */
+    @Component
     private ToolchainManagerPrivate toolchainManager;
 
     /**
      * The current build session instance. This is used for
      * toolchain manager API calls.
-     *
-     * @parameter expression="${session}"
-     * @required
-     * @readonly
      */
+    @Component
     private MavenSession session;
 
     /**
-     * @parameter
-     * @required
      */
+    @Parameter( required = true )
     private Toolchains toolchains;
 
     public ToolchainMojo()