You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2013/10/11 18:38:03 UTC
svn commit: r1531347 - in /maven/plugins/trunk/maven-deploy-plugin: ./
src/it/MDEPLOY-170_deploy-at-end-configperproject/
src/it/MDEPLOY-170_deploy-at-end-configperproject/module1/
src/it/MDEPLOY-170_deploy-at-end-configperproject/module2/ src/main/jav...
Author: rfscholte
Date: Fri Oct 11 16:38:02 2013
New Revision: 1531347
URL: http://svn.apache.org/r1531347
Log:
[MDEPLOY-170] Plugin configuration on module level is ignored when deployAtEnd
Added:
maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/
maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/module1/
maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/module1/pom.xml
maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/module2/
maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/module2/pom.xml
maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/pom.xml
maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/verify.groovy
maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployRequest.java
Modified:
maven/plugins/trunk/maven-deploy-plugin/pom.xml
maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/AbstractDeployMojo.java
maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployFileMojo.java
maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployMojo.java
maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plugin/deploy/DeployMojoTest.java
Modified: maven/plugins/trunk/maven-deploy-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/pom.xml?rev=1531347&r1=1531346&r2=1531347&view=diff
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-deploy-plugin/pom.xml Fri Oct 11 16:38:02 2013
@@ -30,7 +30,7 @@ under the License.
</parent>
<artifactId>maven-deploy-plugin</artifactId>
- <version>2.9-SNAPSHOT</version>
+ <version>2.8.1-SNAPSHOT</version>
<packaging>maven-plugin</packaging>
<name>Apache Maven Deploy Plugin</name>
Added: maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/module1/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/module1/pom.xml?rev=1531347&view=auto
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/module1/pom.xml (added)
+++ maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/module1/pom.xml Fri Oct 11 16:38:02 2013
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
+ license agreements. See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership. The ASF licenses this file to
+ you under the Apache License, Version 2.0 (the "License"); you may not use
+ this file except in compliance with the License. You may obtain a copy of
+ the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
+ by applicable law or agreed to in writing, software distributed under the
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+ OF ANY KIND, either express or implied. See the License for the specific
+ language governing permissions and limitations under the License. -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mdeploy-170</groupId>
+ <artifactId>configperproject</artifactId>
+ <version>1.0</version>
+ </parent>
+ <artifactId>module1</artifactId>
+
+</project>
Added: maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/module2/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/module2/pom.xml?rev=1531347&view=auto
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/module2/pom.xml (added)
+++ maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/module2/pom.xml Fri Oct 11 16:38:02 2013
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
+ license agreements. See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership. The ASF licenses this file to
+ you under the Apache License, Version 2.0 (the "License"); you may not use
+ this file except in compliance with the License. You may obtain a copy of
+ the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
+ by applicable law or agreed to in writing, software distributed under the
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+ OF ANY KIND, either express or implied. See the License for the specific
+ language governing permissions and limitations under the License. -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mdeploy-170</groupId>
+ <artifactId>configperproject</artifactId>
+ <version>1.0</version>
+ </parent>
+ <artifactId>module2</artifactId>
+ <packaging>pom</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>@project.version@</version>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Added: maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/pom.xml?rev=1531347&view=auto
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/pom.xml (added)
+++ maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/pom.xml Fri Oct 11 16:38:02 2013
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mdeploy-170</groupId>
+ <artifactId>configperproject</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+
+ <description>
+ Tests deployment at end with with different plugin configurations.
+ </description>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ </properties>
+
+ <distributionManagement>
+ <repository>
+ <id>it</id>
+ <url>file:///${basedir}/target/repo</url>
+ <uniqueVersion>false</uniqueVersion>
+ </repository>
+ </distributionManagement>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>@project.version@</version>
+ <configuration>
+ <deployAtEnd>true</deployAtEnd>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>2.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>2.0.4</version>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.3.1</version>
+ </plugin>
+ </plugins>
+ </build>
+
+ <modules>
+ <module>module1</module>
+ <module>module2</module>
+ </modules>
+</project>
Added: maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/verify.groovy
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/verify.groovy?rev=1531347&view=auto
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/verify.groovy (added)
+++ maven/plugins/trunk/maven-deploy-plugin/src/it/MDEPLOY-170_deploy-at-end-configperproject/verify.groovy Fri Oct 11 16:38:02 2013
@@ -0,0 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+assert new File( basedir, "target/repo/org/apache/maven/its/mdeploy-170/configperproject/1.0/configperproject-1.0.pom" ).exists()
+assert new File( basedir, "module1/target/repo/org/apache/maven/its/mdeploy-170/module1/1.0/module1-1.0.pom" ).exists()
+assert !( new File( basedir, "module2/target/repo/org/apache/maven/its/mdeploy-170/module2/1.0/module2-1.0.pom" ).exists() )
Modified: maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/AbstractDeployMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/AbstractDeployMojo.java?rev=1531347&r1=1531346&r2=1531347&view=diff
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/AbstractDeployMojo.java (original)
+++ maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/AbstractDeployMojo.java Fri Oct 11 16:38:02 2013
@@ -134,6 +134,16 @@ public abstract class AbstractDeployMojo
return layout;
}
+ boolean isUpdateReleaseInfo()
+ {
+ return updateReleaseInfo;
+ }
+
+ int getRetryFailedDeploymentCount()
+ {
+ return retryFailedDeploymentCount;
+ }
+
/**
* Deploy an artifact from a particular file.
*
@@ -141,21 +151,22 @@ public abstract class AbstractDeployMojo
* @param artifact the artifact definition
* @param deploymentRepository the repository to deploy to
* @param localRepository the local repository to install into
+ * @param retryFailedDeploymentCount TODO
* @throws ArtifactDeploymentException if an error occurred deploying the artifact
*/
protected void deploy( File source, Artifact artifact, ArtifactRepository deploymentRepository,
- ArtifactRepository localRepository )
+ ArtifactRepository localRepository, int retryFailedDeploymentCount )
throws ArtifactDeploymentException
{
- int retryFailedDeploymentCount = Math.max( 1, Math.min( 10, this.retryFailedDeploymentCount ) );
+ int retryFailedDeploymentCounter = Math.max( 1, Math.min( 10, retryFailedDeploymentCount ) );
ArtifactDeploymentException exception = null;
- for ( int count = 0; count < retryFailedDeploymentCount; count++ )
+ for ( int count = 0; count < retryFailedDeploymentCounter; count++ )
{
try
{
if ( count > 0 )
{
- getLog().info( "Retrying deployment attempt " + ( count + 1 ) + " of " + retryFailedDeploymentCount );
+ getLog().info( "Retrying deployment attempt " + ( count + 1 ) + " of " + retryFailedDeploymentCounter );
}
getDeployer().deploy( source, artifact, deploymentRepository, localRepository );
exception = null;
@@ -163,7 +174,7 @@ public abstract class AbstractDeployMojo
}
catch ( ArtifactDeploymentException e )
{
- if ( count + 1 < retryFailedDeploymentCount )
+ if ( count + 1 < retryFailedDeploymentCounter )
{
getLog().warn( "Encountered issue during deployment: " + e.getLocalizedMessage() );
getLog().debug( e );
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=1531347&r1=1531346&r2=1531347&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 Fri Oct 11 16:38:02 2013
@@ -273,7 +273,7 @@ public class DeployFileMojo
try
{
- deploy( file, artifact, deploymentRepository, getLocalRepository() );
+ deploy( file, artifact, deploymentRepository, getLocalRepository(), getRetryFailedDeploymentCount() );
}
catch ( ArtifactDeploymentException e )
{
@@ -379,7 +379,7 @@ public class DeployFileMojo
{
try
{
- deploy( attached.getFile(), attached, deploymentRepository, getLocalRepository() );
+ deploy( attached.getFile(), attached, deploymentRepository, getLocalRepository(), getRetryFailedDeploymentCount() );
}
catch ( ArtifactDeploymentException e )
{
Modified: maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployMojo.java?rev=1531347&r1=1531346&r2=1531347&view=diff
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployMojo.java (original)
+++ maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployMojo.java Fri Oct 11 16:38:02 2013
@@ -35,6 +35,8 @@ import org.apache.maven.project.MavenPro
import org.apache.maven.project.artifact.ProjectArtifactMetadata;
import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.regex.Matcher;
@@ -58,6 +60,9 @@ public class DeployMojo
* When building with multiple threads, reaching the last project doesn't have to mean that all projects are ready to be deployed
*/
private static final AtomicInteger readyProjectsCounter = new AtomicInteger();
+
+ private static final List<DeployRequest> deployRequests =
+ Collections.synchronizedList( new ArrayList<DeployRequest>() );
/**
*/
@@ -146,45 +151,60 @@ public class DeployMojo
public void execute()
throws MojoExecutionException, MojoFailureException
{
- int projectsReady = readyProjectsCounter.incrementAndGet();
+ boolean projectsReady = readyProjectsCounter.incrementAndGet() == reactorProjects.size();
if ( skip )
{
getLog().info( "Skipping artifact deployment" );
- return;
}
+ else
+ {
+ failIfOffline();
- failIfOffline();
+ DeployRequest currentExecutionDeployRequest =
+ new DeployRequest().setProject( project ).setUpdateReleaseInfo( isUpdateReleaseInfo() ).setRetryFailedDeploymentCount( getRetryFailedDeploymentCount() ).setAltReleaseDeploymentRepository( altReleaseDeploymentRepository ).setAltSnapshotDeploymentRepository( altSnapshotDeploymentRepository ).setAltDeploymentRepository( altDeploymentRepository );
- if ( !deployAtEnd )
- {
- deployProject( project );
- }
- else if ( projectsReady < reactorProjects.size() )
- {
- getLog().info( "Deploying " + project.getGroupId() + ":" + project.getArtifactId() + ":"
- + project.getVersion() + " at end" );
+ if ( !deployAtEnd )
+ {
+ deployProject( currentExecutionDeployRequest );
+ }
+ else
+ {
+ deployRequests.add( currentExecutionDeployRequest );
+ if ( !projectsReady )
+ {
+ getLog().info( "Deploying " + project.getGroupId() + ":" + project.getArtifactId() + ":"
+ + project.getVersion() + " at end" );
+ }
+ }
}
- else
+
+ if ( projectsReady )
{
- for ( MavenProject reactorProject : reactorProjects )
+ synchronized ( deployRequests )
{
- deployProject( reactorProject );
+ while( !deployRequests.isEmpty() )
+ {
+ deployProject( deployRequests.remove( 0 ) );
+ }
}
}
}
- private void deployProject( MavenProject project )
+ private void deployProject( DeployRequest request )
throws MojoExecutionException, MojoFailureException
{
- Artifact artifact = project.getArtifact();
- String packaging = project.getPackaging();
- File pomFile = project.getFile();
+ Artifact artifact = request.getProject().getArtifact();
+ String packaging = request.getProject().getPackaging();
+ File pomFile = request.getProject().getFile();
@SuppressWarnings( "unchecked" )
- List<Artifact> attachedArtifacts = project.getAttachedArtifacts();
+ List<Artifact> attachedArtifacts = request.getProject().getAttachedArtifacts();
- ArtifactRepository repo = getDeploymentRepository( project );
+ ArtifactRepository repo =
+ getDeploymentRepository( request.getProject(), request.getAltDeploymentRepository(),
+ request.getAltReleaseDeploymentRepository(),
+ request.getAltSnapshotDeploymentRepository() );
String protocol = repo.getProtocol();
@@ -206,16 +226,18 @@ public class DeployMojo
artifact.addMetadata( metadata );
}
- if ( updateReleaseInfo )
+ if ( request.isUpdateReleaseInfo() )
{
artifact.setRelease( true );
}
+
+ int retryFailedDeploymentCount = request.getRetryFailedDeploymentCount();
try
{
if ( isPomArtifact )
{
- deploy( pomFile, artifact, repo, getLocalRepository() );
+ deploy( pomFile, artifact, repo, getLocalRepository(), retryFailedDeploymentCount );
}
else
{
@@ -223,7 +245,7 @@ public class DeployMojo
if ( file != null && file.isFile() )
{
- deploy( file, artifact, repo, getLocalRepository() );
+ deploy( file, artifact, repo, getLocalRepository(), retryFailedDeploymentCount );
}
else if ( !attachedArtifacts.isEmpty() )
{
@@ -233,12 +255,12 @@ public class DeployMojo
artifactFactory.createProjectArtifact( artifact.getGroupId(), artifact.getArtifactId(),
artifact.getBaseVersion() );
pomArtifact.setFile( pomFile );
- if ( updateReleaseInfo )
+ if ( request.isUpdateReleaseInfo() )
{
pomArtifact.setRelease( true );
}
- deploy( pomFile, pomArtifact, repo, getLocalRepository() );
+ deploy( pomFile, pomArtifact, repo, getLocalRepository(), retryFailedDeploymentCount );
// propagate the timestamped version to the main artifact for the attached artifacts to pick it up
artifact.setResolvedVersion( pomArtifact.getVersion() );
@@ -252,7 +274,7 @@ public class DeployMojo
for ( Artifact attached : attachedArtifacts )
{
- deploy( attached.getFile(), attached, repo, getLocalRepository() );
+ deploy( attached.getFile(), attached, repo, getLocalRepository(), retryFailedDeploymentCount );
}
}
catch ( ArtifactDeploymentException e )
@@ -261,7 +283,7 @@ public class DeployMojo
}
}
- ArtifactRepository getDeploymentRepository( MavenProject project )
+ ArtifactRepository getDeploymentRepository( MavenProject project, String altDeploymentRepository, String altReleaseDeploymentRepository, String altSnapshotDeploymentRepository )
throws MojoExecutionException, MojoFailureException
{
ArtifactRepository repo = null;
Added: maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployRequest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployRequest.java?rev=1531347&view=auto
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployRequest.java (added)
+++ maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployRequest.java Fri Oct 11 16:38:02 2013
@@ -0,0 +1,149 @@
+package org.apache.maven.plugin.deploy;
+
+import org.apache.maven.project.MavenProject;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ *
+ * @author Robert Scholte
+ * @since 2.8.1
+ */
+class DeployRequest
+{
+
+ // From AbstractDeployMojo
+
+ private boolean updateReleaseInfo;
+
+ private int retryFailedDeploymentCount;
+
+ // From DeployMojo
+
+ private MavenProject project;
+
+ private String altDeploymentRepository;
+
+ private String altSnapshotDeploymentRepository;
+
+ private String altReleaseDeploymentRepository;
+
+ /**
+ * @return the updateReleaseInfo
+ */
+ public boolean isUpdateReleaseInfo()
+ {
+ return updateReleaseInfo;
+ }
+
+ /**
+ * @param updateReleaseInfo the updateReleaseInfo to set
+ */
+ public DeployRequest setUpdateReleaseInfo( boolean updateReleaseInfo )
+ {
+ this.updateReleaseInfo = updateReleaseInfo;
+ return this;
+ }
+
+ /**
+ * @return the retryFailedDeploymentCount
+ */
+ public int getRetryFailedDeploymentCount()
+ {
+ return retryFailedDeploymentCount;
+ }
+
+ /**
+ * @param retryFailedDeploymentCount the retryFailedDeploymentCount to set
+ */
+ public DeployRequest setRetryFailedDeploymentCount( int retryFailedDeploymentCount )
+ {
+ this.retryFailedDeploymentCount = retryFailedDeploymentCount;
+ return this;
+ }
+
+ /**
+ * @return the project
+ */
+ public MavenProject getProject()
+ {
+ return project;
+ }
+
+ /**
+ * @param project the project to set
+ */
+ public DeployRequest setProject( MavenProject project )
+ {
+ this.project = project;
+ return this;
+ }
+
+ /**
+ * @return the altDeploymentRepository
+ */
+ public String getAltDeploymentRepository()
+ {
+ return altDeploymentRepository;
+ }
+
+ /**
+ * @param altDeploymentRepository the altDeploymentRepository to set
+ */
+ public DeployRequest setAltDeploymentRepository( String altDeploymentRepository )
+ {
+ this.altDeploymentRepository = altDeploymentRepository;
+ return this;
+ }
+
+ /**
+ * @return the altSnapshotDeploymentRepository
+ */
+ public String getAltSnapshotDeploymentRepository()
+ {
+ return altSnapshotDeploymentRepository;
+ }
+
+ /**
+ * @param altSnapshotDeploymentRepository the altSnapshotDeploymentRepository to set
+ */
+ public DeployRequest setAltSnapshotDeploymentRepository( String altSnapshotDeploymentRepository )
+ {
+ this.altSnapshotDeploymentRepository = altSnapshotDeploymentRepository;
+ return this;
+ }
+
+ /**
+ * @return the altReleaseDeploymentRepository
+ */
+ public String getAltReleaseDeploymentRepository()
+ {
+ return altReleaseDeploymentRepository;
+ }
+
+ /**
+ * @param altReleaseDeploymentRepository the altReleaseDeploymentRepository to set
+ */
+ public DeployRequest setAltReleaseDeploymentRepository( String altReleaseDeploymentRepository )
+ {
+ this.altReleaseDeploymentRepository = altReleaseDeploymentRepository;
+ return this;
+ }
+}
Modified: maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plugin/deploy/DeployMojoTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plugin/deploy/DeployMojoTest.java?rev=1531347&r1=1531346&r2=1531347&view=diff
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plugin/deploy/DeployMojoTest.java (original)
+++ maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plugin/deploy/DeployMojoTest.java Fri Oct 11 16:38:02 2013
@@ -122,6 +122,8 @@ public class DeployMojoTest
MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
+ setVariableValueToObject( mojo, "reactorProjects", Collections.singletonList( project ) );
+
artifact = ( DeployArtifactStub ) project.getArtifact();
String packaging = project.getPackaging();
@@ -223,6 +225,8 @@ public class DeployMojoTest
assertTrue( file.exists() );
MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
+
+ setVariableValueToObject( mojo, "reactorProjects", Collections.singletonList( project ) );
artifact = (DeployArtifactStub) project.getArtifact();
@@ -276,6 +280,8 @@ public class DeployMojoTest
MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
+ setVariableValueToObject( mojo, "reactorProjects", Collections.singletonList( project ) );
+
artifact = (DeployArtifactStub) project.getArtifact();
artifact.setArtifactHandlerExtension( packaging );
@@ -334,6 +340,8 @@ public class DeployMojoTest
MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
+ setVariableValueToObject( mojo, "reactorProjects", Collections.singletonList( project ) );
+
artifact = (DeployArtifactStub) project.getArtifact();
artifact.setFile( testPom );
@@ -359,6 +367,8 @@ public class DeployMojoTest
MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
+ setVariableValueToObject( mojo, "reactorProjects", Collections.singletonList( project ) );
+
artifact = (DeployArtifactStub) project.getArtifact();
artifact.setFile( null );
@@ -390,6 +400,8 @@ public class DeployMojoTest
MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
+ setVariableValueToObject( mojo, "reactorProjects", Collections.singletonList( project ) );
+
artifact = (DeployArtifactStub) project.getArtifact();
File file = new File( getBasedir(),
@@ -505,6 +517,8 @@ public class DeployMojoTest
MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
+ setVariableValueToObject( mojo, "reactorProjects", Collections.singletonList( project ) );
+
artifact = (DeployArtifactStub) project.getArtifact();
artifact.setFile( file );
@@ -538,8 +552,6 @@ public class DeployMojoTest
{
DeployMojo mojo = new DeployMojo();
- setVariableValueToObject( mojo, "altSnapshotDeploymentRepository", "altSnapshotDeploymentRepository::default::http://localhost" );
-
ArtifactRepositoryLayout repositoryLayout = mock( ArtifactRepositoryLayout.class );
setVariableValueToObject( mojo, "repositoryLayouts", Collections.singletonMap( "default", repositoryLayout ) );
@@ -550,15 +562,13 @@ public class DeployMojoTest
project.setVersion( "1.0-SNAPSHOT" );
- assertEquals( repository, mojo.getDeploymentRepository( project ) );
+ assertEquals( repository, mojo.getDeploymentRepository( project, null, null, "altSnapshotDeploymentRepository::default::http://localhost" ) );
}
public void testAltReleaseDeploymentRepository() throws Exception
{
DeployMojo mojo = new DeployMojo();
- setVariableValueToObject( mojo, "altReleaseDeploymentRepository", "altReleaseDeploymentRepository::default::http://localhost" );
-
ArtifactRepositoryLayout repositoryLayout = mock( ArtifactRepositoryLayout.class );
setVariableValueToObject( mojo, "repositoryLayouts", Collections.singletonMap( "default", repositoryLayout ) );
@@ -569,7 +579,7 @@ public class DeployMojoTest
project.setVersion( "1.0" );
- assertEquals( repository, mojo.getDeploymentRepository( project ) );
+ assertEquals( repository, mojo.getDeploymentRepository( project, null, "altReleaseDeploymentRepository::default::http://localhost", null ) );
}