You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by pg...@apache.org on 2010/05/25 16:10:59 UTC

svn commit: r948050 - in /maven/plugins/trunk/maven-antrun-plugin/src/main/java/org/apache/maven: ant/tasks/AttachArtifactTask.java plugin/antrun/AbstractAntMojo.java

Author: pgier
Date: Tue May 25 14:10:58 2010
New Revision: 948050

URL: http://svn.apache.org/viewvc?rev=948050&view=rev
Log:
[MANTRUN-100] Use the Maven project helper instead of accessing the DefaultArtifactHandler.

Modified:
    maven/plugins/trunk/maven-antrun-plugin/src/main/java/org/apache/maven/ant/tasks/AttachArtifactTask.java
    maven/plugins/trunk/maven-antrun-plugin/src/main/java/org/apache/maven/plugin/antrun/AbstractAntMojo.java

Modified: maven/plugins/trunk/maven-antrun-plugin/src/main/java/org/apache/maven/ant/tasks/AttachArtifactTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-antrun-plugin/src/main/java/org/apache/maven/ant/tasks/AttachArtifactTask.java?rev=948050&r1=948049&r2=948050&view=diff
==============================================================================
--- maven/plugins/trunk/maven-antrun-plugin/src/main/java/org/apache/maven/ant/tasks/AttachArtifactTask.java (original)
+++ maven/plugins/trunk/maven-antrun-plugin/src/main/java/org/apache/maven/ant/tasks/AttachArtifactTask.java Tue May 25 14:10:58 2010
@@ -7,6 +7,7 @@ import org.apache.maven.artifact.handler
 import org.apache.maven.artifact.handler.DefaultArtifactHandler;
 import org.apache.maven.plugin.antrun.AbstractAntMojo;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectHelper;
 import org.apache.maven.project.artifact.AttachedArtifact;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
@@ -41,6 +42,11 @@ public class AttachArtifactTask extends 
     private String mavenProjectRefId = AbstractAntMojo.DEFAULT_MAVEN_PROJECT_REFID;
 
     /**
+     * The refId of the maven project helper component.
+     */
+    private String mavenProjectHelperRefId = AbstractAntMojo.DEFAULT_MAVEN_PROJECT_HELPER_REFID;
+
+    /**
      * The file to attach.
      */
     private File file;
@@ -77,7 +83,7 @@ public class AttachArtifactTask extends 
             type = FileUtils.getExtension( file.getName() );
         }
         
-        MavenProject mavenProject = (MavenProject) this.getProject().getReference( "maven.project" );
+        MavenProject mavenProject = (MavenProject) this.getProject().getReference( mavenProjectRefId );
 
         if ( classifier == null )
         {
@@ -85,12 +91,14 @@ public class AttachArtifactTask extends 
         }
         else
         {
-            ArtifactHandler handler = new DefaultArtifactHandler( type );
-            Artifact artifact = new AttachedArtifact(mavenProject.getArtifact(), type, classifier, handler);
-            artifact.setFile( file );
-            artifact.setResolved( true );
+            if ( this.getProject().getReference( mavenProjectHelperRefId ) == null )
+            {
+                throw new BuildException( "Maven project helper reference not found: " + mavenProjectHelperRefId );
+            }
+
             log( "Attaching " + file + " as an attached artifact", Project.MSG_VERBOSE );
-            mavenProject.addAttachedArtifact( artifact );
+            MavenProjectHelper projectHelper = (MavenProjectHelper)getProject().getReference( mavenProjectHelperRefId );
+            projectHelper.attachArtifact( mavenProject, type, classifier, file );
         }
     }
 

Modified: maven/plugins/trunk/maven-antrun-plugin/src/main/java/org/apache/maven/plugin/antrun/AbstractAntMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-antrun-plugin/src/main/java/org/apache/maven/plugin/antrun/AbstractAntMojo.java?rev=948050&r1=948049&r2=948050&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 May 25 14:10:58 2010
@@ -34,6 +34,7 @@ import org.apache.maven.plugin.AbstractM
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.antrun.components.AntTargetConverter;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectHelper;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.DefaultLogger;
 import org.apache.tools.ant.Project;
@@ -61,6 +62,11 @@ public abstract class AbstractAntMojo
     public final static String DEFAULT_MAVEN_PROJECT_REFID = "maven.project";
 
     /**
+     * The refid used to store the Maven project object in the Ant build.
+     */
+    public final static String DEFAULT_MAVEN_PROJECT_HELPER_REFID = "maven.project.helper";
+
+    /**
      * The path to The XML file containing the definition of the Maven tasks.
      */
     public final static String ANTLIB = "org/apache/maven/ant/tasks/antlib.xml";
@@ -79,6 +85,13 @@ public abstract class AbstractAntMojo
     private MavenProject project;
 
     /**
+     * The Maven project helper object
+     *
+     * @component
+     */
+    private MavenProjectHelper projectHelper;
+
+    /**
      * The plugin dependencies.
      *
      * @parameter expression="${plugin.artifacts}"
@@ -183,6 +196,7 @@ public abstract class AbstractAntMojo
             antProject.addReference( "maven.plugin.classpath", getPathFromArtifacts( pluginArtifacts, antProject ) );
             
             antProject.addReference( DEFAULT_MAVEN_PROJECT_REFID, getMavenProject() );
+            antProject.addReference( DEFAULT_MAVEN_PROJECT_HELPER_REFID, projectHelper );
             antProject.addReference( "maven.local.repository", localRepository );
             initMavenTasks( antProject );