Author: pgier Date: Thu Feb 24 16:43:47 2011 New Revision: 1074207 URL: http://svn.apache.org/viewvc?rev=1074207&view=rev Log: [MDEPLOY-48] Refactor handling of sources and javadocs to work with Maven 2.x
Modified: maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployFileMojo.java maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plugin/deploy/DeployFileMojoTest.java Modified: maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployFileMojo.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployFileMojo.java?rev=1074207&r1=1074206&r2=1074207&view=diff ============================================================================== --- maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployFileMojo.java (original) +++ maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployFileMojo.java Thu Feb 24 16:43:47 2011 @@ -30,6 +30,8 @@ import org.apache.maven.model.io.xpp3.Ma import org.apache.maven.model.io.xpp3.MavenXpp3Writer; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.project.MavenProject; +import org.apache.maven.project.MavenProjectHelper; import org.apache.maven.project.artifact.ProjectArtifactMetadata; import org.apache.maven.project.validation.ModelValidationResult; import org.apache.maven.project.validation.ModelValidator; @@ -44,6 +46,8 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.Reader; import java.io.Writer; +import java.util.Iterator; +import java.util.List; /** * Installs the artifact in the remote repository. @@ -56,6 +60,22 @@ public class DeployFileMojo extends AbstractDeployMojo { /** + * The default Maven project created when building the plugin + * + * @parameter default-value="${project}" + * @required + * @readonly + */ + private MavenProject project; + + /** + * Used for attaching the source and javadoc jars to the project. + * + * @component + */ + private MavenProjectHelper projectHelper; + + /** * GroupId of the artifact to be deployed. Retrieved from POM file if specified. * * @parameter expression="${groupId}" @@ -245,6 +265,8 @@ public class DeployFileMojo { artifact.setRelease( true ); } + + project.setArtifact( artifact ); try { @@ -257,27 +279,27 @@ public class DeployFileMojo if ( sources != null ) { - artifact = artifactFactory.createArtifactWithClassifier( groupId, artifactId, version, "jar", "sources" ); - try - { - getDeployer().deploy( sources, artifact, deploymentRepository, getLocalRepository() ); - } - catch ( ArtifactDeploymentException e ) - { - throw new MojoExecutionException( "Error deploying sources " + sources + ": " + e.getMessage(), e ); - } + projectHelper.attachArtifact( project, "jar", "sources", sources ); } if ( javadoc != null ) { - artifact = artifactFactory.createArtifactWithClassifier( groupId, artifactId, version, "jar", "javadoc" ); + projectHelper.attachArtifact( project, "jar", "javadoc", javadoc ); + } + + List attachedArtifacts = project.getAttachedArtifacts(); + + for ( Iterator i = attachedArtifacts.iterator(); i.hasNext(); ) + { + Artifact attached = ( Artifact ) i.next(); + try { - getDeployer().deploy( javadoc, artifact, deploymentRepository, getLocalRepository() ); + getDeployer().deploy( attached.getFile(), attached, deploymentRepository, getLocalRepository() ); } catch ( ArtifactDeploymentException e ) { - throw new MojoExecutionException( "Error deploying API docs " + javadoc + ": " + e.getMessage(), e ); + throw new MojoExecutionException( "Error deploying attached artifact " + attached.getFile() + ": " + e.getMessage(), e ); } } Modified: maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plugin/deploy/DeployFileMojoTest.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plugin/deploy/DeployFileMojoTest.java?rev=1074207&r1=1074206&r2=1074207&view=diff ============================================================================== --- maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plugin/deploy/DeployFileMojoTest.java (original) +++ maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plugin/deploy/DeployFileMojoTest.java Thu Feb 24 16:43:47 2011 @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.Iterator; import org.apache.maven.plugin.testing.AbstractMojoTestCase; +import org.apache.maven.plugin.testing.stubs.MavenProjectStub; import org.apache.maven.model.Model; /** @@ -39,6 +40,8 @@ public class DeployFileMojoTest private File remoteRepo; + MavenProjectStub projectStub = new MavenProjectStub(); + public void setUp() throws Exception { @@ -50,6 +53,8 @@ public class DeployFileMojoTest { remoteRepo.mkdirs(); } + + projectStub.setAttachedArtifacts( new ArrayList() ); } public void testDeployTestEnvironment() @@ -70,6 +75,8 @@ public class DeployFileMojoTest DeployFileMojo mojo = (DeployFileMojo) lookupMojo( "deploy-file", testPom ); assertNotNull( mojo ); + + setVariableValueToObject( mojo, "project", projectStub ); String groupId = (String) getVariableValueFromObject( mojo, "groupId" ); @@ -165,6 +172,8 @@ public class DeployFileMojoTest assertNotNull( mojo ); + setVariableValueToObject( mojo, "project", projectStub ); + File pomFile = ( File ) getVariableValueFromObject( mojo, "pomFile" ); assertNotNull( pomFile ); @@ -183,6 +192,8 @@ public class DeployFileMojoTest assertNotNull( mojo ); + setVariableValueToObject( mojo, "project", projectStub ); + String classifier = ( String ) getVariableValueFromObject( mojo, "classifier" ); String groupId = ( String ) getVariableValueFromObject( mojo, "groupId" ); @@ -223,6 +234,8 @@ public class DeployFileMojoTest assertNotNull( mojo ); + setVariableValueToObject( mojo, "project", projectStub ); + String groupId = (String) getVariableValueFromObject( mojo, "groupId" ); String artifactId = (String) getVariableValueFromObject( mojo, "artifactId" ); @@ -257,6 +270,8 @@ public class DeployFileMojoTest assertNotNull( mojo ); + setVariableValueToObject( mojo, "project", projectStub ); + String repositoryLayout = (String) getVariableValueFromObject( mojo, "repositoryLayout" ); String groupId = (String) getVariableValueFromObject( mojo, "groupId" );