You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ca...@apache.org on 2005/11/30 03:29:23 UTC

svn commit: r349863 - in /maven/plugins/trunk/maven-antrun-plugin/src: main/java/org/apache/maven/plugin/antrun/AbstractAntMojo.java site/apt/usage.apt

Author: carlos
Date: Tue Nov 29 18:29:20 2005
New Revision: 349863

URL: http://svn.apache.org/viewcvs?rev=349863&view=rev
Log:
Added maven.plugin.classpath reference
PR: MNG-1702

Modified:
    maven/plugins/trunk/maven-antrun-plugin/src/main/java/org/apache/maven/plugin/antrun/AbstractAntMojo.java
    maven/plugins/trunk/maven-antrun-plugin/src/site/apt/usage.apt

Modified: maven/plugins/trunk/maven-antrun-plugin/src/main/java/org/apache/maven/plugin/antrun/AbstractAntMojo.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-antrun-plugin/src/main/java/org/apache/maven/plugin/antrun/AbstractAntMojo.java?rev=349863&r1=349862&r2=349863&view=diff
==============================================================================
--- maven/plugins/trunk/maven-antrun-plugin/src/main/java/org/apache/maven/plugin/antrun/AbstractAntMojo.java (original)
+++ maven/plugins/trunk/maven-antrun-plugin/src/main/java/org/apache/maven/plugin/antrun/AbstractAntMojo.java Tue Nov 29 18:29:20 2005
@@ -16,6 +16,13 @@
  * limitations under the License.
  */
 
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.DependencyResolutionRequiredException;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.project.MavenProject;
@@ -26,14 +33,22 @@
 import org.apache.tools.ant.types.Path;
 import org.codehaus.plexus.util.StringUtils;
 
-import java.io.File;
-
 /**
  * @author <a href="mailto:kenney@apache.org">Kenney Westerhof</a>
  */
 public abstract class AbstractAntMojo
     extends AbstractMojo
 {
+    
+    /**
+     * The plugin dependencies.
+     *
+     * @parameter expression="${plugin.artifacts}"
+     * @required
+     * @readonly
+     */
+    private List artifacts;
+    
     protected void executeTasks( Target antTasks, MavenProject mavenProject )
         throws MojoExecutionException
     {
@@ -65,6 +80,23 @@
             p = new Path( antProject );
             p.setPath( StringUtils.join( mavenProject.getTestClasspathElements().iterator(), File.pathSeparator ) );
             antProject.addReference( "maven.test.classpath", p );
+
+            /* set maven.plugin.classpath with plugin dependencies */
+            List list = new ArrayList( artifacts.size() );
+
+            for ( Iterator i = artifacts.iterator(); i.hasNext(); )
+            {
+                Artifact a = (Artifact) i.next();
+                File file = a.getFile();
+                if ( file == null )
+                {
+                    throw new DependencyResolutionRequiredException( a );
+                }
+                list.add( file.getPath() );
+            }
+            p = new Path( antProject );
+            p.setPath( StringUtils.join( list.iterator(), File.pathSeparator ) );
+            antProject.addReference( "maven.plugin.classpath", p );
 
             getLog().info( "Executing tasks" );
 

Modified: maven/plugins/trunk/maven-antrun-plugin/src/site/apt/usage.apt
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-antrun-plugin/src/site/apt/usage.apt?rev=349863&r1=349862&r2=349863&view=diff
==============================================================================
--- maven/plugins/trunk/maven-antrun-plugin/src/site/apt/usage.apt (original)
+++ maven/plugins/trunk/maven-antrun-plugin/src/site/apt/usage.apt Tue Nov 29 18:29:20 2005
@@ -52,7 +52,19 @@
   lifecycle phase. You can add a script to each lifecycle phase,
   by duplicating the <<<\<execution/\>>>> section and specifying
   a new phase.
+
   
+  You can use these classpath references:
+  
+  * <<<maven.dependency.classpath>>>
+
+  * <<<maven.compile.classpath>>>
+
+  * <<<maven.runtime.classpath>>>
+
+  * <<<maven.test.classpath>>>
+
+  * <<<maven.plugin.classpath>>>
   
   Below you can see how to indicate that ant has generated some more java
   source that needs to be included in the compilation phase. Note that the