You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by tc...@apache.org on 2012/07/10 20:41:26 UTC

svn commit: r1359830 - in /maven/plugins/trunk/maven-remote-resources-plugin: ./ src/main/java/org/apache/maven/plugin/resources/remote/

Author: tchemit
Date: Tue Jul 10 18:41:26 2012
New Revision: 1359830

URL: http://svn.apache.org/viewvc?rev=1359830&view=rev
Log:
[MRRESOURCES-63] use maven-plugin-tools' java 5 annotations

Modified:
    maven/plugins/trunk/maven-remote-resources-plugin/pom.xml
    maven/plugins/trunk/maven-remote-resources-plugin/src/main/java/org/apache/maven/plugin/resources/remote/BundleRemoteResourcesMojo.java
    maven/plugins/trunk/maven-remote-resources-plugin/src/main/java/org/apache/maven/plugin/resources/remote/ProcessRemoteResourcesMojo.java

Modified: maven/plugins/trunk/maven-remote-resources-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-remote-resources-plugin/pom.xml?rev=1359830&r1=1359829&r2=1359830&view=diff
==============================================================================
--- maven/plugins/trunk/maven-remote-resources-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-remote-resources-plugin/pom.xml Tue Jul 10 18:41:26 2012
@@ -99,6 +99,12 @@ under the License.
       <version>${mavenVersion}</version>
     </dependency>
 
+    <dependency>
+      <groupId>org.apache.maven.plugin-tools</groupId>
+      <artifactId>maven-plugin-annotations</artifactId>
+      <version>3.1</version>
+    </dependency>
+
     <!-- maven shared -->
     <dependency>
       <groupId>org.apache.maven.shared</groupId>
@@ -194,6 +200,13 @@ under the License.
     <pluginManagement>
       <plugins>
         <plugin>
+          <artifactId>maven-plugin-plugin</artifactId>
+          <version>3.1</version>
+          <configuration>
+            <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
+          </configuration>
+        </plugin>
+        <plugin>
           <artifactId>maven-surefire-plugin</artifactId>
           <configuration>
             <includes>
@@ -294,6 +307,17 @@ under the License.
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <artifactId>maven-plugin-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>generate-descriptor</id>
+            <goals>
+              <goal>descriptor</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
   

Modified: maven/plugins/trunk/maven-remote-resources-plugin/src/main/java/org/apache/maven/plugin/resources/remote/BundleRemoteResourcesMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-remote-resources-plugin/src/main/java/org/apache/maven/plugin/resources/remote/BundleRemoteResourcesMojo.java?rev=1359830&r1=1359829&r2=1359830&view=diff
==============================================================================
--- maven/plugins/trunk/maven-remote-resources-plugin/src/main/java/org/apache/maven/plugin/resources/remote/BundleRemoteResourcesMojo.java (original)
+++ maven/plugins/trunk/maven-remote-resources-plugin/src/main/java/org/apache/maven/plugin/resources/remote/BundleRemoteResourcesMojo.java Tue Jul 10 18:41:26 2012
@@ -22,6 +22,9 @@ package org.apache.maven.plugin.resource
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.resources.remote.io.xpp3.RemoteResourcesBundleXpp3Writer;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.codehaus.plexus.util.DirectoryScanner;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.StringUtils;
@@ -35,34 +38,26 @@ import java.util.List;
 
 /**
  * Bundle up resources that should be considered as a remote-resource.
- *
- * @goal bundle
- * @phase generate-resources
- * @threadSafe
  */
+@Mojo( name = "bundle", defaultPhase = LifecyclePhase.GENERATE_RESOURCES, threadSafe = true )
 public class BundleRemoteResourcesMojo
     extends AbstractMojo
 {
     public static final String RESOURCES_MANIFEST = "META-INF/maven/remote-resources.xml";
 
-    private static final String[] DEFAULT_INCLUDES = new String [] {
-                                                              "**/*.txt",
-                                                              "**/*.vm",
-                                                   };
+    private static final String[] DEFAULT_INCLUDES = new String[]{ "**/*.txt", "**/*.vm", };
 
 
     /**
      * The directory which contains the resources you want packaged up in this resource bundle.
-     *
-     * @parameter default-value="${basedir}/src/main/resources"
      */
+    @Parameter( defaultValue = "${basedir}/src/main/resources" )
     private File resourcesDirectory;
 
     /**
      * The directory where you want the resource bundle manifest written to.
-     *
-     * @parameter default-value="${project.build.outputDirectory}"
      */
+    @Parameter( defaultValue = "${project.build.outputDirectory}" )
     private File outputDirectory;
 
     /**
@@ -70,26 +65,25 @@ public class BundleRemoteResourcesMojo
      * The default includes are
      * <code>**&#47;*.txt   **&#47;*.vm</code>
      *
-     * @parameter
      * @since 1.0-alpha-5
      */
+    @Parameter
     private String[] includes;
 
     /**
      * A list of files to exclude. Can contain ant-style wildcards and double wildcards.
      *
-     * @parameter
      * @since 1.0-alpha-5
      */
+    @Parameter
     private String[] excludes;
 
     /**
      * Encoding of the bundle.
      *
      * @since 1.1
-     * @optional
-     * @parameter default-value="${project.build.sourceEncoding}"
      */
+    @Parameter( defaultValue = "${project.build.sourceEncoding}" )
     private String sourceEncoding;
 
     public void execute()
@@ -133,7 +127,6 @@ public class BundleRemoteResourcesMojo
             remoteResourcesBundle.addRemoteResource( StringUtils.replace( resource, '\\', '/' ) );
         }
 
-
         RemoteResourcesBundleXpp3Writer w = new RemoteResourcesBundleXpp3Writer();
 
         try

Modified: maven/plugins/trunk/maven-remote-resources-plugin/src/main/java/org/apache/maven/plugin/resources/remote/ProcessRemoteResourcesMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-remote-resources-plugin/src/main/java/org/apache/maven/plugin/resources/remote/ProcessRemoteResourcesMojo.java?rev=1359830&r1=1359829&r2=1359830&view=diff
==============================================================================
--- maven/plugins/trunk/maven-remote-resources-plugin/src/main/java/org/apache/maven/plugin/resources/remote/ProcessRemoteResourcesMojo.java (original)
+++ maven/plugins/trunk/maven-remote-resources-plugin/src/main/java/org/apache/maven/plugin/resources/remote/ProcessRemoteResourcesMojo.java Tue Jul 10 18:41:26 2012
@@ -37,6 +37,10 @@ import org.apache.maven.plugin.MojoExecu
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.plugin.resources.remote.io.xpp3.RemoteResourcesBundleXpp3Reader;
 import org.apache.maven.plugin.resources.remote.io.xpp3.SupplementalDataModelXpp3Reader;
+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.project.InvalidProjectModelException;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectBuilder;
@@ -110,19 +114,15 @@ import java.util.TreeMap;
  * stripped off for the final artifact name and it's  fed through velocity to have properties
  * expanded, conditions processed, etc...
  * </p>
- * <p>
+ * <p/>
  * Resources that don't end in ".vm" are copied "as is".
- * </p>
- *
- * @goal process
- * @phase generate-resources
- * @threadSafe
  */
 // NOTE: Removed the following in favor of maven-artifact-resolver library, for MRRESOURCES-41
 // If I leave this intact, interdependent projects within the reactor that haven't been built
 // (remember, this runs in the generate-resources phase) will cause the build to fail.
 //
 // @requiresDependencyResolution test
+@Mojo( name = "process", defaultPhase = LifecyclePhase.GENERATE_RESOURCES, threadSafe = true )
 public class ProcessRemoteResourcesMojo
     extends AbstractMojo
 {
@@ -145,85 +145,69 @@ public class ProcessRemoteResourcesMojo
      *   &lt;delimiter&gt;@&lt/delimiter&gt;
      * &lt;/delimiters&gt;
      * </pre>
-     * <p>
+     * <p/>
      * Since the '@' delimiter is the same on both ends, we don't need to specify '@*@' (though we can).
-     * </p>
      *
-     * @parameter
      * @since 1.1
      */
+    @Parameter
     protected List<String> filterDelimiters;
 
     /**
-     * @parameter default-value="true"
      * @since 1.1
      */
+    @Parameter( defaultValue = "true" )
     protected boolean useDefaultFilterDelimiters;
 
     /**
      * If true, only generate resources in the directory of the root project in a multimodule build.
      * Dependencies from all modules will be aggregated before resource-generation takes place.
      *
-     * @parameter default-value="false"
      * @since 1.1
      */
+    @Parameter( defaultValue = "false" )
     protected boolean runOnlyAtExecutionRoot;
 
     /**
      * Used for calculation of execution-root for {@link ProcessRemoteResourcesMojo#runOnlyAtExecutionRoot}.
-     *
-     * @parameter default-value="${basedir}"
-     * @readonly
-     * @required
      */
+    @Parameter( defaultValue = "${basedir}", readonly = true, required = true )
     protected File basedir;
 
     /**
      * The character encoding scheme to be applied when filtering resources.
-     *
-     * @parameter expression="${encoding}" default-value="${project.build.sourceEncoding}"
      */
+    @Parameter( property = "encoding", defaultValue = "${project.build.sourceEncoding}" )
     protected String encoding;
 
     /**
      * The local repository taken from Maven's runtime. Typically $HOME/.m2/repository.
-     *
-     * @parameter default-value="${localRepository}"
-     * @readonly
-     * @required
      */
+    @Parameter( defaultValue = "${localRepository}", readonly = true, required = true )
     private ArtifactRepository localRepository;
 
     /**
-     * List of Remote Repositories used by the resolver
-     *
-     * @parameter default-value="${project.remoteArtifactRepositories}"
-     * @readonly
-     * @required
+     * List of Remote Repositories used by the resolver.
      */
+    @Parameter( defaultValue = "${project.remoteArtifactRepositories}", readonly = true, required = true )
     private List<ArtifactRepository> remoteArtifactRepositories;
 
     /**
      * The current Maven project.
-     *
-     * @parameter default-value="${project}"
-     * @readonly
-     * @required
      */
+    @Component
     private MavenProject project;
 
     /**
      * The directory where processed resources will be placed for packaging.
-     *
-     * @parameter default-value="${project.build.directory}/maven-shared-archive-resources"
      */
+    @Parameter( defaultValue = "${project.build.directory}/maven-shared-archive-resources" )
     private File outputDirectory;
 
     /**
      * The directory containing extra information appended to the generated resources.
-     *
-     * @parameter default-value="${basedir}/src/main/appended-resources"
      */
+    @Parameter( defaultValue = "${basedir}/src/main/appended-resources" )
     private File appendedResourcesDirectory;
 
     /**
@@ -233,18 +217,18 @@ public class ProcessRemoteResourcesMojo
      * By default, this Mojo looks for supplemental model
      * data in the file "${appendedResourcesDirectory}/supplemental-models.xml".
      *
-     * @parameter
      * @since 1.0-alpha-5
      */
+    @Parameter
     private String[] supplementalModels;
 
     /**
      * List of artifacts that are added to the search path when looking
      * for supplementalModels
      *
-     * @parameter
      * @since 1.1
      */
+    @Parameter
     private List<String> supplementalModelArtifacts;
 
     /**
@@ -256,35 +240,30 @@ public class ProcessRemoteResourcesMojo
      * Merges supplemental data model with artifact
      * metadata.  Useful when processing artifacts with
      * incomplete POM metadata.
-     *
-     * @component
-     * @readonly
-     * @required
      */
+    @Component
     private ModelInheritanceAssembler inheritanceAssembler;
 
     /**
      * The resource bundles that will be retrieved and processed.
-     *
-     * @parameter
-     * @required
      */
+    @Parameter( required = true )
     private List<String> resourceBundles;
 
     /**
      * Skip remote-resource processing
      *
-     * @parameter expression="${remoteresources.skip}" default-value="false"
      * @since 1.0-alpha-5
      */
+    @Parameter( property = "remoteresources.skip", defaultValue = "false" )
     private boolean skip;
 
     /**
      * Attaches the resource to the project as a resource directory
      *
-     * @parameter default-value="true"
      * @since 1.0-beta-1
      */
+    @Parameter( defaultValue = "true" )
     private boolean attached = true;
 
     /**
@@ -297,154 +276,125 @@ public class ProcessRemoteResourcesMojo
      * <p/>
      * See <a href="http://maven.apache.org/ref/current/maven-project/apidocs/org/apache/maven/project/MavenProject.html">
      * the javadoc for MavenProject</a> for information about the properties on the MavenProject.
-     *
-     * @parameter
      */
+    @Parameter
     private Map<String, String> properties = new HashMap<String, String>();
 
     /**
      * Whether to include properties defined in the project when filtering resources.
      *
-     * @parameter default-value="false"
      * @since 1.2
      */
+    @Parameter( defaultValue = "false" )
     protected boolean includeProjectProperties = false;
 
     /**
      * The list of resources defined for the project.
-     *
-     * @parameter default-value="${project.build.resources}"
-     * @readonly
-     * @required
      */
+    @Parameter( defaultValue = "${project.build.resources}", readonly = true, required = true )
     private List<Resource> resources;
 
     /**
      * Artifact Resolver, needed to resolve and download the {@code resourceBundles}.
-     *
-     * @component
-     * @readonly
-     * @required
      */
+    @Component
     private ArtifactResolver artifactResolver;
 
     /**
      * Velocity component.
-     *
-     * @component
-     * @readonly
-     * @required
      */
+    @Component
     private VelocityComponent velocity;
 
     /**
      * Filtering support, for local resources that override those in the remote bundle.
-     *
-     * @component
      */
+    @Component
     private MavenFileFilter fileFilter;
 
     /**
      * Artifact factory, needed to create artifacts.
-     *
-     * @component
-     * @readonly
-     * @required
      */
+    @Component
     private ArtifactFactory artifactFactory;
 
     /**
      * The Maven session.
-     *
-     * @parameter default-value="${session}"
-     * @readonly
-     * @required
      */
+    @Component
     private MavenSession mavenSession;
 
     /**
      * ProjectBuilder, needed to create projects from the artifacts.
-     *
-     * @component role="org.apache.maven.project.MavenProjectBuilder"
-     * @required
-     * @readonly
      */
+    @Component( role = MavenProjectBuilder.class )
     private MavenProjectBuilder mavenProjectBuilder;
 
     /**
-     * @component
-     * @required
-     * @readonly
      */
+    @Component
     private ResourceManager locator;
 
 
     /**
      * Scope to include. An Empty string indicates all scopes (default).
      *
-     * @parameter expression="${includeScope}" default-value="runtime"
-     * @optional
      * @since 1.0
      */
+    @Parameter( property = "includeScope", defaultValue = "runtime" )
     protected String includeScope;
 
     /**
      * Scope to exclude. An Empty string indicates no scopes (default).
      *
-     * @parameter expression="${excludeScope}" default-value=""
-     * @optional
      * @since 1.0
      */
+    @Parameter( property = "excludeScope", defaultValue = "" )
     protected String excludeScope;
 
     /**
      * Comma separated list of Artifact names too exclude.
      *
-     * @optional
-     * @parameter expression="${excludeArtifactIds}" default-value=""
      * @since 1.0
      */
+    @Parameter( property = "excludeArtifactIds", defaultValue = "" )
     protected String excludeArtifactIds;
 
     /**
      * Comma separated list of Artifact names to include.
      *
-     * @optional
-     * @parameter expression="${includeArtifactIds}" default-value=""
      * @since 1.0
      */
+    @Parameter( property = "includeArtifactIds", defaultValue = "" )
     protected String includeArtifactIds;
 
     /**
      * Comma separated list of GroupId Names to exclude.
      *
-     * @optional
-     * @parameter expression="${excludeGroupIds}" default-value=""
      * @since 1.0
      */
+    @Parameter( property = "excludeGroupIds", defaultValue = "" )
     protected String excludeGroupIds;
 
     /**
      * Comma separated list of GroupIds to include.
      *
-     * @optional
-     * @parameter expression="${includeGroupIds}" default-value=""
      * @since 1.0
      */
+    @Parameter( property = "includeGroupIds", defaultValue = "" )
     protected String includeGroupIds;
 
     /**
      * If we should exclude transitive dependencies
      *
-     * @optional
-     * @parameter expression="${excludeTransitive}" default-value="false"
      * @since 1.0
      */
+    @Parameter( property = "excludeTransitive", defaultValue = "false" )
     protected boolean excludeTransitive;
 
     /**
-     * @component role-hint="default"
      */
+    @Component( hint = "default" )
     protected ProjectDependenciesResolver dependencyResolver;
 
     @SuppressWarnings( "unchecked" )
@@ -962,14 +912,10 @@ public class ProcessRemoteResourcesMojo
                 }
 
                 throw new MojoExecutionException( "The " + position +
-                                                      " resource bundle configured must specify a groupId, artifactId, "
-                                                      +
-                                                      " version and, optionally, type and classifier for a remote resource bundle. "
-                                                      +
-                                                      "Must be of the form <resourceBundle>groupId:artifactId:version</resourceBundle>, "
-                                                      +
-                                                      "<resourceBundle>groupId:artifactId:version:type</resourceBundle> or "
-                                                      +
+                                                      " resource bundle configured must specify a groupId, artifactId, " +
+                                                      " version and, optionally, type and classifier for a remote resource bundle. " +
+                                                      "Must be of the form <resourceBundle>groupId:artifactId:version</resourceBundle>, " +
+                                                      "<resourceBundle>groupId:artifactId:version:type</resourceBundle> or " +
                                                       "<resourceBundle>groupId:artifactId:version:type:classifier</resourceBundle>" );
             }
 
@@ -1030,8 +976,8 @@ public class ProcessRemoteResourcesMojo
                     List<MavenProject> list = mavenSession.getSortedProjects();
                     for ( MavenProject p : list )
                     {
-                        if ( s[0].equals( p.getGroupId() ) && s[1].equals( p.getArtifactId() ) && s[2].equals(
-                            p.getVersion() ) )
+                        if ( s[0].equals( p.getGroupId() ) && s[1].equals( p.getArtifactId() ) &&
+                            s[2].equals( p.getVersion() ) )
                         {
                             artifactFile = new File( p.getBuild().getOutputDirectory() );
                         }
@@ -1301,8 +1247,8 @@ public class ProcessRemoteResourcesMojo
                 if ( !f.canRead() )
                 {
                     throw new MojoExecutionException( "Supplemental data models won't be loaded. " + "File " +
-                                                          f.getAbsolutePath()
-                                                          + " cannot be read, check permissions on the file." );
+                                                          f.getAbsolutePath() +
+                                                          " cannot be read, check permissions on the file." );
                 }
 
                 getLog().debug( "Loading supplemental models from " + f.getAbsolutePath() );