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 );