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 2011/02/24 17:43:47 UTC

svn commit: r1074207 - in /maven/plugins/trunk/maven-deploy-plugin/src: main/java/org/apache/maven/plugin/deploy/DeployFileMojo.java test/java/org/apache/maven/plugin/deploy/DeployFileMojoTest.java

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