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 2012/12/15 14:14:49 UTC
svn commit: r1422245 - in /maven/plugins/trunk/maven-deploy-plugin: ./
src/it/deploy-at-end-fail/ src/it/deploy-at-end-fail/module1/
src/it/deploy-at-end-pass/ src/it/deploy-at-end-pass/module1/
src/main/java/org/apache/maven/plugin/deploy/ src/test/ja...
Author: rfscholte
Date: Sat Dec 15 13:14:44 2012
New Revision: 1422245
URL: http://svn.apache.org/viewvc?rev=1422245&view=rev
Log:
[MDEPLOY-157] Add deployAtEnd option for multimodule projects
Added:
maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/
maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/invoker.properties
maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/module1/
maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/module1/pom.xml
maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/pom.xml
maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/verify.groovy
maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/
maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/module1/
maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/module1/pom.xml
maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/pom.xml
maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/verify.groovy
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/DeployMojo.java
maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plugin/deploy/DeployMojoTest.java
maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-pom/plugin-config.xml
maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-scp/plugin-config.xml
maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-test/plugin-config.xml
maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-with-attached-artifacts/plugin-config.xml
Modified: maven/plugins/trunk/maven-deploy-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/pom.xml?rev=1422245&r1=1422244&r2=1422245&view=diff
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-deploy-plugin/pom.xml Sat Dec 15 13:14:44 2012
@@ -155,8 +155,8 @@ under the License.
<artifactId>maven-invoker-plugin</artifactId>
<configuration>
<debug>true</debug>
- <projectsDirectory>src/it</projectsDirectory>
<cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
+ <cloneClean>true</cloneClean>
<pomIncludes>
<pomInclude>*/pom.xml</pomInclude>
<pomInclude>*/non-default-pom.xml</pomInclude>
Added: maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/invoker.properties
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/invoker.properties?rev=1422245&view=auto
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/invoker.properties (added)
+++ maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/invoker.properties Sat Dec 15 13:14:44 2012
@@ -0,0 +1 @@
+invoker.buildResult=failure
\ No newline at end of file
Added: maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/module1/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/module1/pom.xml?rev=1422245&view=auto
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/module1/pom.xml (added)
+++ maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/module1/pom.xml Sat Dec 15 13:14:44 2012
@@ -0,0 +1,48 @@
+<?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.deploy.dae.fail</groupId>
+ <artifactId>dae</artifactId>
+ <version>1.0</version>
+ </parent>
+ <artifactId>module1</artifactId>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.2</version>
+ <executions>
+ <execution>
+ <id>enforce</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <AlwaysFail />
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Added: maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/pom.xml?rev=1422245&view=auto
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/pom.xml (added)
+++ maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/pom.xml Sat Dec 15 13:14:44 2012
@@ -0,0 +1,100 @@
+<?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.deploy.dae.fail</groupId>
+ <artifactId>dae</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+
+ <description>
+ Tests deployment at end.
+ </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>
+ </modules>
+</project>
Added: maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/verify.groovy
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/verify.groovy?rev=1422245&view=auto
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/verify.groovy (added)
+++ maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/verify.groovy Sat Dec 15 13:14:44 2012
@@ -0,0 +1,26 @@
+/*
+ * 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/deploy/dae/fail/dae/1.0/dae-1.0.pom" ).exists() )
+assert !( new File( basedir, "module1/target/repo/org/apache/maven/its/deploy/dae/fail/module1/1.0/module1-1.0.pom" ).exists() )
+
+File buildLog = new File( basedir, 'build.log' )
+assert buildLog.exists()
+assert buildLog.text.contains( "[INFO] Deploying org.apache.maven.its.deploy.dae.fail:dae:1.0 at end" )
+
Added: maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/module1/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/module1/pom.xml?rev=1422245&view=auto
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/module1/pom.xml (added)
+++ maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/module1/pom.xml Sat Dec 15 13:14:44 2012
@@ -0,0 +1,48 @@
+<?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.deploy.dae.pass</groupId>
+ <artifactId>dae</artifactId>
+ <version>1.0</version>
+ </parent>
+ <artifactId>module1</artifactId>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.2</version>
+ <executions>
+ <execution>
+ <id>enforce</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <AlwaysPass />
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Added: maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/pom.xml?rev=1422245&view=auto
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/pom.xml (added)
+++ maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/pom.xml Sat Dec 15 13:14:44 2012
@@ -0,0 +1,100 @@
+<?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.deploy.dae.pass</groupId>
+ <artifactId>dae</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+
+ <description>
+ Tests deployment at end.
+ </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>
+ </modules>
+</project>
Added: maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/verify.groovy
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/verify.groovy?rev=1422245&view=auto
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/verify.groovy (added)
+++ maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/verify.groovy Sat Dec 15 13:14:44 2012
@@ -0,0 +1,26 @@
+/*
+ * 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/deploy/dae/pass/dae/1.0/dae-1.0.pom" ).exists()
+assert new File( basedir, "module1/target/repo/org/apache/maven/its/deploy/dae/pass/module1/1.0/module1-1.0.pom" ).exists()
+
+File buildLog = new File( basedir, 'build.log' )
+assert buildLog.exists()
+assert buildLog.text.contains( "[INFO] Deploying org.apache.maven.its.deploy.dae.pass:dae:1.0 at end" )
+
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=1422245&r1=1422244&r2=1422245&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 Sat Dec 15 13:14:44 2012
@@ -48,16 +48,12 @@ public abstract class AbstractDeployMojo
/**
* Component used to create an artifact.
- *
- * @component
*/
@Component
protected ArtifactFactory artifactFactory;
/**
* Component used to create a repository.
- *
- * @component
*/
@Component
ArtifactRepositoryFactory repositoryFactory;
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=1422245&r1=1422244&r2=1422245&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 Sat Dec 15 13:14:44 2012
@@ -57,18 +57,33 @@ public class DeployMojo
*/
@Component
private MavenProject project;
+
+ @Parameter( defaultValue = "${reactorProjects}", required = true, readonly = true )
+ private List<MavenProject> reactorProjects;
+
+ /**
+ * Whether every project should be deployed during its own deploy-phase or at the end of the multimodule build.
+ * If set to {@code true} and the build fails, none of the reactor projects is deployed
+ *
+ * @since 2.8
+ */
+ @Parameter( defaultValue = "false", property = "deployAtEnd" )
+ private boolean deployAtEnd;
/**
+ * @deprecated either use project.getArtifact() or reactorProjects.get(i).getArtifact()
*/
@Parameter( defaultValue = "${project.artifact}", required = true, readonly = true )
private Artifact artifact;
/**
+ * @deprecated either use project.getPackaging() or reactorProjects.get(i).getPackaging()
*/
@Parameter( defaultValue = "${project.packaging}", required = true, readonly = true )
private String packaging;
/**
+ * @deprecated either use project.getFile() or reactorProjects.get(i).getFile()
*/
@Parameter( defaultValue = "${project.file}", required = true, readonly = true )
private File pomFile;
@@ -83,6 +98,7 @@ public class DeployMojo
private String altDeploymentRepository;
/**
+ * @deprecated either use project.getAttachedArtifacts() or reactorProjects.get(i).getAttachedArtifacts()
*/
@Parameter( defaultValue = "${project.attachedArtifacts}", required = true, readonly = true )
private List attachedArtifacts;
@@ -105,8 +121,38 @@ public class DeployMojo
}
failIfOffline();
+
+ if( !deployAtEnd )
+ {
+ deployProject( project );
+ }
+ else
+ {
+ MavenProject lastProject = reactorProjects.get( reactorProjects.size() - 1 );
+ if( lastProject.equals( project ) )
+ {
+ for( MavenProject reactorProject : reactorProjects )
+ {
+ deployProject( reactorProject );
+ }
+ }
+ else
+ {
+ getLog().info( "Deploying " + project.getGroupId() + ":" + project.getArtifactId() +
+ ":" + project.getVersion() + " at end" );
+ }
+ }
+ }
- ArtifactRepository repo = getDeploymentRepository();
+ private void deployProject( MavenProject project )
+ throws MojoExecutionException, MojoFailureException
+ {
+ Artifact artifact = project.getArtifact();
+ String packaging = project.getPackaging();
+ File pomFile = project.getFile();
+ List attachedArtifacts = project.getAttachedArtifacts();
+
+ ArtifactRepository repo = getDeploymentRepository( project );
String protocol = repo.getProtocol();
@@ -119,6 +165,7 @@ public class DeployMojo
sshFile.mkdirs();
}
}
+
// Deploy the POM
boolean isPomArtifact = "pom".equals( packaging );
@@ -185,7 +232,7 @@ public class DeployMojo
}
}
- private ArtifactRepository getDeploymentRepository()
+ private ArtifactRepository getDeploymentRepository( MavenProject project )
throws MojoExecutionException, MojoFailureException
{
ArtifactRepository repo = null;
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=1422245&r1=1422244&r2=1422245&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 Sat Dec 15 13:14:44 2012
@@ -114,7 +114,9 @@ public class DeployMojoTest
assertTrue( file.exists() );
- artifact = ( DeployArtifactStub ) getVariableValueFromObject( mojo, "artifact" );
+ MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
+
+ artifact = ( DeployArtifactStub ) project.getArtifact();
String packaging = ( String ) getVariableValueFromObject( mojo, "packaging" );
@@ -216,7 +218,9 @@ public class DeployMojoTest
assertTrue( file.exists() );
- artifact = (DeployArtifactStub) getVariableValueFromObject( mojo, "artifact" );
+ MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
+
+ artifact = (DeployArtifactStub) project.getArtifact();
String packaging = (String) getVariableValueFromObject( mojo, "packaging" );
@@ -266,7 +270,9 @@ public class DeployMojoTest
assertEquals( "pom", packaging );
- artifact = ( DeployArtifactStub ) getVariableValueFromObject( mojo, "artifact" );
+ MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
+
+ artifact = (DeployArtifactStub) project.getArtifact();
artifact.setArtifactHandlerExtension( packaging );
@@ -323,7 +329,9 @@ public class DeployMojoTest
assertTrue( updateReleaseInfo );
- artifact = ( DeployArtifactStub ) getVariableValueFromObject( mojo, "artifact" );
+ MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
+
+ artifact = (DeployArtifactStub) project.getArtifact();
artifact.setFile( testPom );
@@ -346,7 +354,9 @@ public class DeployMojoTest
assertNotNull( mojo );
- artifact = ( DeployArtifactStub ) getVariableValueFromObject( mojo, "artifact" );
+ MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
+
+ artifact = (DeployArtifactStub) project.getArtifact();
artifact.setFile( null );
@@ -375,7 +385,9 @@ public class DeployMojoTest
assertNotNull( mojo );
- artifact = ( DeployArtifactStub ) getVariableValueFromObject( mojo, "artifact" );
+ MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
+
+ artifact = (DeployArtifactStub) project.getArtifact();
File file = new File( getBasedir(),
"target/test-classes/unit/basic-deploy-with-attached-artifacts/target/" +
@@ -489,7 +501,9 @@ public class DeployMojoTest
assertTrue( file.exists() );
- DeployArtifactStub artifact = ( DeployArtifactStub ) getVariableValueFromObject( mojo, "artifact" );
+ MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" );
+
+ artifact = (DeployArtifactStub) project.getArtifact();
artifact.setFile( file );
Modified: maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-pom/plugin-config.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-pom/plugin-config.xml?rev=1422245&r1=1422244&r2=1422245&view=diff
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-pom/plugin-config.xml (original)
+++ maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-pom/plugin-config.xml Sat Dec 15 13:14:44 2012
@@ -23,12 +23,18 @@ under the License.
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
+ <!-- derecated fields -->
<pomFile>${basedir}/src/test/resources/unit/basic-deploy-pom/plugin-config.xml</pomFile>
<packaging>pom</packaging>
<artifact implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub" />
<attachedArtifacts />
+
<localRepository>${localRepository}</localRepository>
<project implementation="org.apache.maven.plugin.deploy.stubs.MavenProjectStub">
+ <file>${basedir}/src/test/resources/unit/basic-deploy-pom/plugin-config.xml</file>
+ <packaging>pom</packaging>
+ <artifact implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub" />
+ <attachedArtifacts />
<deploymentRepository implementation="org.apache.maven.plugin.deploy.stubs.ArtifactRepositoryStub" />
</project>
<updateReleaseInfo>true</updateReleaseInfo>
Modified: maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-scp/plugin-config.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-scp/plugin-config.xml?rev=1422245&r1=1422244&r2=1422245&view=diff
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-scp/plugin-config.xml (original)
+++ maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-scp/plugin-config.xml Sat Dec 15 13:14:44 2012
@@ -23,12 +23,18 @@ under the License.
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
+ <!-- deprecated fields -->
<pomFile>${basedir}/src/test/resources/unit/basic-deploy-scp/plugin-config.xml</pomFile>
<packaging>jar</packaging>
<artifact implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub" />
<attachedArtifacts />
+
<localRepository>${localRepository}</localRepository>
<project implementation="org.apache.maven.plugin.deploy.stubs.MavenProjectStub">
+ <file>${basedir}/src/test/resources/unit/basic-deploy-scp/plugin-config.xml</file>
+ <packaging>jar</packaging>
+ <artifact implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub" />
+ <attachedArtifacts />
<deploymentRepository implementation="org.apache.maven.plugin.deploy.stubs.ArtifactRepositoryStub2" />
</project>
<updateReleaseInfo>false</updateReleaseInfo>
Modified: maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-test/plugin-config.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-test/plugin-config.xml?rev=1422245&r1=1422244&r2=1422245&view=diff
==============================================================================
Binary files - no diff available.
Modified: maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-with-attached-artifacts/plugin-config.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-with-attached-artifacts/plugin-config.xml?rev=1422245&r1=1422244&r2=1422245&view=diff
==============================================================================
--- maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-with-attached-artifacts/plugin-config.xml (original)
+++ maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deploy-with-attached-artifacts/plugin-config.xml Sat Dec 15 13:14:44 2012
@@ -23,14 +23,22 @@ under the License.
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
+ <!-- deprecated fields -->
<pomFile>${basedir}/src/test/resources/unit/basic-deploy-with-attached-artifacts/plugin-config.xml</pomFile>
<packaging>jar</packaging>
<artifact implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub" />
<attachedArtifacts>
<attachedArtifact implementation="org.apache.maven.plugin.deploy.stubs.AttachedArtifactStub" />
</attachedArtifacts>
+
<localRepository>${localRepository}</localRepository>
- <project implementation="org.apache.maven.plugin.deploy.stubs.MavenProjectStub">
+ <project implementation="org.apache.maven.plugin.deploy.stubs.MavenProjectStub">
+ <file>${basedir}/src/test/resources/unit/basic-deploy-with-attached-artifacts/plugin-config.xml</file>
+ <packaging>jar</packaging>
+ <artifact implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub" />
+ <attachedArtifacts>
+ <attachedArtifact implementation="org.apache.maven.plugin.deploy.stubs.AttachedArtifactStub" />
+ </attachedArtifacts>
<deploymentRepository implementation="org.apache.maven.plugin.deploy.stubs.ArtifactRepositoryStub" />
</project>
<updateReleaseInfo>true</updateReleaseInfo>
Re: svn commit: r1422245 - in
/maven/plugins/trunk/maven-deploy-plugin: ./ src/it/deploy-at-end-fail/
src/it/deploy-at-end-fail/module1/ src/it/deploy-at-end-pass/
src/it/deploy-at-end-pass/module1/
src/main/java/org/apache/maven/plugin/deploy/ src/test/ja...
Posted by Robert Scholte <rf...@apache.org>.
Thanks.
It was actually MRELEASE-664[1] which triggered me. That made me think
that the actually problem is in the maven-deploy-plugin.
Although it is a bit tricky, let's see when the first users really hit an
issue with it. I don't think that anyone will have problems in practice.
Anyhow, default behavior hasn't changed, so we're safe.
-Robert
[1] https://jira.codehaus.org/browse/MRELEASE-664
Op Sat, 15 Dec 2012 16:51:23 +0100 schreef Hervé BOUTEMY
<he...@free.fr>:
> wow, nice idea!
> a little bit tricky, since the effective deploy is done ate end using the
> reactor as if it was a "post-execution aggegate"
> but definitely a nice idea
>
> we need such an approach with scm-publish to be able to publish a
> multi-module
> site as part of site-deploy phase
>
> Regards,
>
> Hervé
>
> Le samedi 15 décembre 2012 13:14:49 rfscholte@apache.org a écrit :
>> Author: rfscholte
>> Date: Sat Dec 15 13:14:44 2012
>> New Revision: 1422245
>>
>> URL: http://svn.apache.org/viewvc?rev=1422245&view=rev
>> Log:
>> [MDEPLOY-157] Add deployAtEnd option for multimodule projects
>>
>> Added:
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/
>>
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/invoker.p
>> roperties
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/module1/
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/module1/p
>> om.xml
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/pom.xml
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/verify.gr
>> oovy maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/module1/
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/module1/p
>> om.xml
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/pom.xml
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/verify.gr
>> oovy Modified:
>> maven/plugins/trunk/maven-deploy-plugin/pom.xml
>>
>> maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plug
>> in/deploy/AbstractDeployMojo.java
>> maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plug
>> in/deploy/DeployMojo.java
>> maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plug
>> in/deploy/DeployMojoTest.java
>> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
>> y-pom/plugin-config.xml
>> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
>> y-scp/plugin-config.xml
>> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
>> y-test/plugin-config.xml
>> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
>> y-with-attached-artifacts/plugin-config.xml
>>
>> Modified: maven/plugins/trunk/maven-deploy-plugin/pom.xml
>> URL:
>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/pom.xm
>> l?rev=1422245&r1=1422244&r2=1422245&view=diff
>> ===========================================================================
>> === --- maven/plugins/trunk/maven-deploy-plugin/pom.xml (original)
>> +++ maven/plugins/trunk/maven-deploy-plugin/pom.xml Sat Dec 15 13:14:44
>> 2012
>> @@ -155,8 +155,8 @@ under the License.
>> <artifactId>maven-invoker-plugin</artifactId>
>> <configuration>
>> <debug>true</debug>
>> - <projectsDirectory>src/it</projectsDirectory>
>>
>> <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo> +
>> <cloneClean>true</cloneClean>
>> <pomIncludes>
>> <pomInclude>*/pom.xml</pomInclude>
>> <pomInclude>*/non-default-pom.xml</pomInclude>
>>
>> Added:
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/invoker.p
>> roperties URL:
>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it
>> /deploy-at-end-fail/invoker.properties?rev=1422245&view=auto
>> ===========================================================================
>> === ---
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/invoker.p
>> roperties (added) +++
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/invoker.p
>> roperties Sat Dec 15 13:14:44 2012 @@ -0,0 +1 @@
>> +invoker.buildResult=failure
>> \ No newline at end of file
>>
>> Added:
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/module1/p
>> om.xml URL:
>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it
>> /deploy-at-end-fail/module1/pom.xml?rev=1422245&view=auto
>> ===========================================================================
>> === ---
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/module1/p
>> om.xml (added) +++
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/module1/p
>> om.xml Sat Dec 15 13:14:44 2012 @@ -0,0 +1,48 @@
>> +<?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.deploy.dae.fail</groupId>
>> + <artifactId>dae</artifactId>
>> + <version>1.0</version>
>> + </parent>
>> + <artifactId>module1</artifactId>
>> +
>> + <build>
>> + <plugins>
>> + <plugin>
>> + <groupId>org.apache.maven.plugins</groupId>
>> + <artifactId>maven-enforcer-plugin</artifactId>
>> + <version>1.2</version>
>> + <executions>
>> + <execution>
>> + <id>enforce</id>
>> + <goals>
>> + <goal>enforce</goal>
>> + </goals>
>> + <configuration>
>> + <rules>
>> + <AlwaysFail />
>> + </rules>
>> + </configuration>
>> + </execution>
>> + </executions>
>> + </plugin>
>> + </plugins>
>> + </build>
>> +
>> +</project>
>>
>> Added:
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/pom.xml
>> URL:
>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it
>> /deploy-at-end-fail/pom.xml?rev=1422245&view=auto
>> ===========================================================================
>> === ---
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/pom.xml
>> (added) +++
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/pom.xml
>> Sat Dec 15 13:14:44 2012 @@ -0,0 +1,100 @@
>> +<?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.deploy.dae.fail</groupId>
>> + <artifactId>dae</artifactId>
>> + <version>1.0</version>
>> + <packaging>pom</packaging>
>> +
>> + <description>
>> + Tests deployment at end.
>> + </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>
>> + </modules>
>> +</project>
>>
>> Added:
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/verify.gr
>> oovy URL:
>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it
>> /deploy-at-end-fail/verify.groovy?rev=1422245&view=auto
>> ===========================================================================
>> === ---
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/verify.gr
>> oovy (added) +++
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/verify.gr
>> oovy Sat Dec 15 13:14:44 2012 @@ -0,0 +1,26 @@
>> +/*
>> + * 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/deploy/dae/fail/dae/1.0/dae-1.0.pom"
>> ).exists() ) +assert !( new File( basedir,
>> "module1/target/repo/org/apache/maven/its/deploy/dae/fail/module1/1.0/modul
>> e1-1.0.pom" ).exists() ) +
>> +File buildLog = new File( basedir, 'build.log' )
>> +assert buildLog.exists()
>> +assert buildLog.text.contains( "[INFO] Deploying
>> org.apache.maven.its.deploy.dae.fail:dae:1.0 at end" ) +
>>
>> Added:
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/module1/p
>> om.xml URL:
>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it
>> /deploy-at-end-pass/module1/pom.xml?rev=1422245&view=auto
>> ===========================================================================
>> === ---
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/module1/p
>> om.xml (added) +++
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/module1/p
>> om.xml Sat Dec 15 13:14:44 2012 @@ -0,0 +1,48 @@
>> +<?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.deploy.dae.pass</groupId>
>> + <artifactId>dae</artifactId>
>> + <version>1.0</version>
>> + </parent>
>> + <artifactId>module1</artifactId>
>> +
>> + <build>
>> + <plugins>
>> + <plugin>
>> + <groupId>org.apache.maven.plugins</groupId>
>> + <artifactId>maven-enforcer-plugin</artifactId>
>> + <version>1.2</version>
>> + <executions>
>> + <execution>
>> + <id>enforce</id>
>> + <goals>
>> + <goal>enforce</goal>
>> + </goals>
>> + <configuration>
>> + <rules>
>> + <AlwaysPass />
>> + </rules>
>> + </configuration>
>> + </execution>
>> + </executions>
>> + </plugin>
>> + </plugins>
>> + </build>
>> +
>> +</project>
>>
>> Added:
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/pom.xml
>> URL:
>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it
>> /deploy-at-end-pass/pom.xml?rev=1422245&view=auto
>> ===========================================================================
>> === ---
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/pom.xml
>> (added) +++
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/pom.xml
>> Sat Dec 15 13:14:44 2012 @@ -0,0 +1,100 @@
>> +<?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.deploy.dae.pass</groupId>
>> + <artifactId>dae</artifactId>
>> + <version>1.0</version>
>> + <packaging>pom</packaging>
>> +
>> + <description>
>> + Tests deployment at end.
>> + </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>
>> + </modules>
>> +</project>
>>
>> Added:
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/verify.gr
>> oovy URL:
>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it
>> /deploy-at-end-pass/verify.groovy?rev=1422245&view=auto
>> ===========================================================================
>> === ---
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/verify.gr
>> oovy (added) +++
>> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/verify.gr
>> oovy Sat Dec 15 13:14:44 2012 @@ -0,0 +1,26 @@
>> +/*
>> + * 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/deploy/dae/pass/dae/1.0/dae-1.0.pom"
>> ).exists() +assert new File( basedir,
>> "module1/target/repo/org/apache/maven/its/deploy/dae/pass/module1/1.0/modul
>> e1-1.0.pom" ).exists() +
>> +File buildLog = new File( basedir, 'build.log' )
>> +assert buildLog.exists()
>> +assert buildLog.text.contains( "[INFO] Deploying
>> org.apache.maven.its.deploy.dae.pass:dae:1.0 at end" ) +
>>
>> Modified:
>> maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plug
>> in/deploy/AbstractDeployMojo.java URL:
>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/ma
>> in/java/org/apache/maven/plugin/deploy/AbstractDeployMojo.java?rev=1422245&r
>> 1=1422244&r2=1422245&view=diff
>> ===========================================================================
>> === ---
>> maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plug
>> in/deploy/AbstractDeployMojo.java (original) +++
>> maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plug
>> in/deploy/AbstractDeployMojo.java Sat Dec 15 13:14:44 2012 @@ -48,16
>> +48,12
>> @@ public abstract class AbstractDeployMojo
>>
>> /**
>> * Component used to create an artifact.
>> - *
>> - * @component
>> */
>> @Component
>> protected ArtifactFactory artifactFactory;
>>
>> /**
>> * Component used to create a repository.
>> - *
>> - * @component
>> */
>> @Component
>> ArtifactRepositoryFactory repositoryFactory;
>>
>> Modified:
>> maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plug
>> in/deploy/DeployMojo.java URL:
>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/ma
>> in/java/org/apache/maven/plugin/deploy/DeployMojo.java?rev=1422245&r1=142224
>> 4&r2=1422245&view=diff
>> ===========================================================================
>> === ---
>> maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plug
>> in/deploy/DeployMojo.java (original) +++
>> maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plug
>> in/deploy/DeployMojo.java Sat Dec 15 13:14:44 2012 @@ -57,18 +57,33 @@
>> public class DeployMojo
>> */
>> @Component
>> private MavenProject project;
>> +
>> + @Parameter( defaultValue = "${reactorProjects}", required = true,
>> readonly = true ) + private List<MavenProject> reactorProjects;
>> +
>> + /**
>> + * Whether every project should be deployed during its own
>> deploy-phase
>> or at the end of the multimodule build. + * If set to {@code true}
>> and
>> the build fails, none of the reactor projects is deployed + *
>> + * @since 2.8
>> + */
>> + @Parameter( defaultValue = "false", property = "deployAtEnd" )
>> + private boolean deployAtEnd;
>>
>> /**
>> + * @deprecated either use project.getArtifact() or
>> reactorProjects.get(i).getArtifact() */
>> @Parameter( defaultValue = "${project.artifact}", required = true,
>> readonly = true ) private Artifact artifact;
>>
>> /**
>> + * @deprecated either use project.getPackaging() or
>> reactorProjects.get(i).getPackaging() */
>> @Parameter( defaultValue = "${project.packaging}", required = true,
>> readonly = true ) private String packaging;
>>
>> /**
>> + * @deprecated either use project.getFile() or
>> reactorProjects.get(i).getFile() */
>> @Parameter( defaultValue = "${project.file}", required = true,
>> readonly
>> = true ) private File pomFile;
>> @@ -83,6 +98,7 @@ public class DeployMojo
>> private String altDeploymentRepository;
>>
>> /**
>> + * @deprecated either use project.getAttachedArtifacts() or
>> reactorProjects.get(i).getAttachedArtifacts() */
>> @Parameter( defaultValue = "${project.attachedArtifacts}",
>> required =
>> true, readonly = true ) private List attachedArtifacts;
>> @@ -105,8 +121,38 @@ public class DeployMojo
>> }
>>
>> failIfOffline();
>> +
>> + if( !deployAtEnd )
>> + {
>> + deployProject( project );
>> + }
>> + else
>> + {
>> + MavenProject lastProject = reactorProjects.get(
>> reactorProjects.size() - 1 ); + if( lastProject.equals(
>> project
>> ) )
>> + {
>> + for( MavenProject reactorProject : reactorProjects )
>> + {
>> + deployProject( reactorProject );
>> + }
>> + }
>> + else
>> + {
>> + getLog().info( "Deploying " + project.getGroupId() +
>> ":" +
>> project.getArtifactId() + + ":" +
>> project.getVersion() + " at end" ); + }
>> + }
>> + }
>>
>> - ArtifactRepository repo = getDeploymentRepository();
>> + private void deployProject( MavenProject project )
>> + throws MojoExecutionException, MojoFailureException
>> + {
>> + Artifact artifact = project.getArtifact();
>> + String packaging = project.getPackaging();
>> + File pomFile = project.getFile();
>> + List attachedArtifacts = project.getAttachedArtifacts();
>> +
>> + ArtifactRepository repo = getDeploymentRepository( project );
>>
>> String protocol = repo.getProtocol();
>>
>> @@ -119,6 +165,7 @@ public class DeployMojo
>> sshFile.mkdirs();
>> }
>> }
>> +
>>
>> // Deploy the POM
>> boolean isPomArtifact = "pom".equals( packaging );
>> @@ -185,7 +232,7 @@ public class DeployMojo
>> }
>> }
>>
>> - private ArtifactRepository getDeploymentRepository()
>> + private ArtifactRepository getDeploymentRepository( MavenProject
>> project ) throws MojoExecutionException, MojoFailureException
>> {
>> ArtifactRepository repo = null;
>>
>> Modified:
>> maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plug
>> in/deploy/DeployMojoTest.java URL:
>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/te
>> st/java/org/apache/maven/plugin/deploy/DeployMojoTest.java?rev=1422245&r1=14
>> 22244&r2=1422245&view=diff
>> ===========================================================================
>> === ---
>> maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plug
>> in/deploy/DeployMojoTest.java (original) +++
>> maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plug
>> in/deploy/DeployMojoTest.java Sat Dec 15 13:14:44 2012 @@ -114,7 +114,9
>> @@
>> public class DeployMojoTest
>>
>> assertTrue( file.exists() );
>>
>> - artifact = ( DeployArtifactStub ) getVariableValueFromObject(
>> mojo,
>> "artifact" ); + MavenProject project = (MavenProject)
>> getVariableValueFromObject( mojo, "project" ); +
>> + artifact = ( DeployArtifactStub ) project.getArtifact();
>>
>> String packaging = ( String ) getVariableValueFromObject( mojo,
>> "packaging" );
>>
>> @@ -216,7 +218,9 @@ public class DeployMojoTest
>>
>> assertTrue( file.exists() );
>>
>> - artifact = (DeployArtifactStub) getVariableValueFromObject(
>> mojo,
>> "artifact" ); + MavenProject project = (MavenProject)
>> getVariableValueFromObject( mojo, "project" ); +
>> + artifact = (DeployArtifactStub) project.getArtifact();
>>
>> String packaging = (String) getVariableValueFromObject( mojo,
>> "packaging" );
>>
>> @@ -266,7 +270,9 @@ public class DeployMojoTest
>>
>> assertEquals( "pom", packaging );
>>
>> - artifact = ( DeployArtifactStub ) getVariableValueFromObject(
>> mojo,
>> "artifact" ); + MavenProject project = (MavenProject)
>> getVariableValueFromObject( mojo, "project" ); +
>> + artifact = (DeployArtifactStub) project.getArtifact();
>>
>> artifact.setArtifactHandlerExtension( packaging );
>>
>> @@ -323,7 +329,9 @@ public class DeployMojoTest
>>
>> assertTrue( updateReleaseInfo );
>>
>> - artifact = ( DeployArtifactStub ) getVariableValueFromObject(
>> mojo,
>> "artifact" ); + MavenProject project = (MavenProject)
>> getVariableValueFromObject( mojo, "project" ); +
>> + artifact = (DeployArtifactStub) project.getArtifact();
>>
>> artifact.setFile( testPom );
>>
>> @@ -346,7 +354,9 @@ public class DeployMojoTest
>>
>> assertNotNull( mojo );
>>
>> - artifact = ( DeployArtifactStub ) getVariableValueFromObject(
>> mojo,
>> "artifact" ); + MavenProject project = (MavenProject)
>> getVariableValueFromObject( mojo, "project" ); +
>> + artifact = (DeployArtifactStub) project.getArtifact();
>>
>> artifact.setFile( null );
>>
>> @@ -375,7 +385,9 @@ public class DeployMojoTest
>>
>> assertNotNull( mojo );
>>
>> - artifact = ( DeployArtifactStub ) getVariableValueFromObject(
>> mojo,
>> "artifact" ); + MavenProject project = (MavenProject)
>> getVariableValueFromObject( mojo, "project" ); +
>> + artifact = (DeployArtifactStub) project.getArtifact();
>>
>> File file = new File( getBasedir(),
>>
>> "target/test-classes/unit/basic-deploy-with-attached-artifacts/target/"
>> +
>> @@ -489,7 +501,9 @@ public class DeployMojoTest
>>
>> assertTrue( file.exists() );
>>
>> - DeployArtifactStub artifact = ( DeployArtifactStub )
>> getVariableValueFromObject( mojo, "artifact" ); + MavenProject
>> project = (MavenProject) getVariableValueFromObject( mojo, "project" );
>> +
>> + artifact = (DeployArtifactStub) project.getArtifact();
>>
>> artifact.setFile( file );
>>
>>
>> Modified:
>> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
>> y-pom/plugin-config.xml URL:
>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/te
>> st/resources/unit/basic-deploy-pom/plugin-config.xml?rev=1422245&r1=1422244&
>> r2=1422245&view=diff
>> ===========================================================================
>> === ---
>> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
>> y-pom/plugin-config.xml (original) +++
>> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
>> y-pom/plugin-config.xml Sat Dec 15 13:14:44 2012 @@ -23,12 +23,18 @@
>> under
>> the License.
>> <plugin>
>> <artifactId>maven-deploy-plugin</artifactId>
>> <configuration>
>> + <!-- derecated fields -->
>>
>> <pomFile>${basedir}/src/test/resources/unit/basic-deploy-pom/plugin-config.
>> xml</pomFile> <packaging>pom</packaging>
>> <artifact
>> implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub"
>> />
>> <attachedArtifacts />
>> +
>> <localRepository>${localRepository}</localRepository>
>> <project
>> implementation="org.apache.maven.plugin.deploy.stubs.MavenProjectStub">
>> +
>>
>> <file>${basedir}/src/test/resources/unit/basic-deploy-pom/plugin-config.xml
>> </file> + <packaging>pom</packaging>
>> + <artifact
>> implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub"
>> />
>> + <attachedArtifacts />
>> <deploymentRepository
>> implementation="org.apache.maven.plugin.deploy.stubs.ArtifactRepositoryStub
>> " /> </project>
>> <updateReleaseInfo>true</updateReleaseInfo>
>>
>> Modified:
>> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
>> y-scp/plugin-config.xml URL:
>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/te
>> st/resources/unit/basic-deploy-scp/plugin-config.xml?rev=1422245&r1=1422244&
>> r2=1422245&view=diff
>> ===========================================================================
>> === ---
>> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
>> y-scp/plugin-config.xml (original) +++
>> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
>> y-scp/plugin-config.xml Sat Dec 15 13:14:44 2012 @@ -23,12 +23,18 @@
>> under
>> the License.
>> <plugin>
>> <artifactId>maven-deploy-plugin</artifactId>
>> <configuration>
>> + <!-- deprecated fields -->
>>
>> <pomFile>${basedir}/src/test/resources/unit/basic-deploy-scp/plugin-config.
>> xml</pomFile> <packaging>jar</packaging>
>> <artifact
>> implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub"
>> />
>> <attachedArtifacts />
>> +
>> <localRepository>${localRepository}</localRepository>
>> <project
>> implementation="org.apache.maven.plugin.deploy.stubs.MavenProjectStub">
>> +
>>
>> <file>${basedir}/src/test/resources/unit/basic-deploy-scp/plugin-config.xml
>> </file> + <packaging>jar</packaging>
>> + <artifact
>> implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub"
>> />
>> + <attachedArtifacts />
>> <deploymentRepository
>> implementation="org.apache.maven.plugin.deploy.stubs.ArtifactRepositoryStub
>> 2" /> </project>
>> <updateReleaseInfo>false</updateReleaseInfo>
>>
>> Modified:
>> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
>> y-test/plugin-config.xml URL:
>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/te
>> st/resources/unit/basic-deploy-test/plugin-config.xml?rev=1422245&r1=1422244
>> &r2=1422245&view=diff
>> ===========================================================================
>> === Binary files - no diff available.
>>
>> Modified:
>> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
>> y-with-attached-artifacts/plugin-config.xml URL:
>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/te
>> st/resources/unit/basic-deploy-with-attached-artifacts/plugin-config.xml?rev
>> =1422245&r1=1422244&r2=1422245&view=diff
>> ===========================================================================
>> === ---
>> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
>> y-with-attached-artifacts/plugin-config.xml (original) +++
>> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
>> y-with-attached-artifacts/plugin-config.xml Sat Dec 15 13:14:44 2012 @@
>> -23,14 +23,22 @@ under the License.
>> <plugin>
>> <artifactId>maven-deploy-plugin</artifactId>
>> <configuration>
>> + <!-- deprecated fields -->
>>
>> <pomFile>${basedir}/src/test/resources/unit/basic-deploy-with-attached-arti
>> facts/plugin-config.xml</pomFile> <packaging>jar</packaging>
>> <artifact
>> implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub"
>> />
>> <attachedArtifacts>
>> <attachedArtifact
>> implementation="org.apache.maven.plugin.deploy.stubs.AttachedArtifactStub"
>> /> </attachedArtifacts>
>> +
>> <localRepository>${localRepository}</localRepository>
>> - <project
>> implementation="org.apache.maven.plugin.deploy.stubs.MavenProjectStub">
>> +
>> <project
>> implementation="org.apache.maven.plugin.deploy.stubs.MavenProjectStub">
>> +
>>
>> <file>${basedir}/src/test/resources/unit/basic-deploy-with-attached-artifac
>> ts/plugin-config.xml</file> + <packaging>jar</packaging>
>> + <artifact
>> implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub"
>> />
>> + <attachedArtifacts>
>> + <attachedArtifact
>> implementation="org.apache.maven.plugin.deploy.stubs.AttachedArtifactStub"
>> /> + </attachedArtifacts>
>> <deploymentRepository
>> implementation="org.apache.maven.plugin.deploy.stubs.ArtifactRepositoryStub
>> " /> </project>
>> <updateReleaseInfo>true</updateReleaseInfo>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: svn commit: r1422245 - in /maven/plugins/trunk/maven-deploy-plugin: ./ src/it/deploy-at-end-fail/ src/it/deploy-at-end-fail/module1/ src/it/deploy-at-end-pass/ src/it/deploy-at-end-pass/module1/ src/main/java/org/apache/maven/plugin/deploy/ src/test/ja...
Posted by Hervé BOUTEMY <he...@free.fr>.
wow, nice idea!
a little bit tricky, since the effective deploy is done ate end using the
reactor as if it was a "post-execution aggegate"
but definitely a nice idea
we need such an approach with scm-publish to be able to publish a multi-module
site as part of site-deploy phase
Regards,
Hervé
Le samedi 15 décembre 2012 13:14:49 rfscholte@apache.org a écrit :
> Author: rfscholte
> Date: Sat Dec 15 13:14:44 2012
> New Revision: 1422245
>
> URL: http://svn.apache.org/viewvc?rev=1422245&view=rev
> Log:
> [MDEPLOY-157] Add deployAtEnd option for multimodule projects
>
> Added:
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/
>
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/invoker.p
> roperties
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/module1/
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/module1/p
> om.xml
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/pom.xml
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/verify.gr
> oovy maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/module1/
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/module1/p
> om.xml
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/pom.xml
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/verify.gr
> oovy Modified:
> maven/plugins/trunk/maven-deploy-plugin/pom.xml
>
> maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plug
> in/deploy/AbstractDeployMojo.java
> maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plug
> in/deploy/DeployMojo.java
> maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plug
> in/deploy/DeployMojoTest.java
> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
> y-pom/plugin-config.xml
> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
> y-scp/plugin-config.xml
> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
> y-test/plugin-config.xml
> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
> y-with-attached-artifacts/plugin-config.xml
>
> Modified: maven/plugins/trunk/maven-deploy-plugin/pom.xml
> URL:
> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/pom.xm
> l?rev=1422245&r1=1422244&r2=1422245&view=diff
> ===========================================================================
> === --- maven/plugins/trunk/maven-deploy-plugin/pom.xml (original)
> +++ maven/plugins/trunk/maven-deploy-plugin/pom.xml Sat Dec 15 13:14:44 2012
> @@ -155,8 +155,8 @@ under the License.
> <artifactId>maven-invoker-plugin</artifactId>
> <configuration>
> <debug>true</debug>
> - <projectsDirectory>src/it</projectsDirectory>
>
> <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo> +
> <cloneClean>true</cloneClean>
> <pomIncludes>
> <pomInclude>*/pom.xml</pomInclude>
> <pomInclude>*/non-default-pom.xml</pomInclude>
>
> Added:
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/invoker.p
> roperties URL:
> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it
> /deploy-at-end-fail/invoker.properties?rev=1422245&view=auto
> ===========================================================================
> === ---
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/invoker.p
> roperties (added) +++
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/invoker.p
> roperties Sat Dec 15 13:14:44 2012 @@ -0,0 +1 @@
> +invoker.buildResult=failure
> \ No newline at end of file
>
> Added:
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/module1/p
> om.xml URL:
> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it
> /deploy-at-end-fail/module1/pom.xml?rev=1422245&view=auto
> ===========================================================================
> === ---
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/module1/p
> om.xml (added) +++
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/module1/p
> om.xml Sat Dec 15 13:14:44 2012 @@ -0,0 +1,48 @@
> +<?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.deploy.dae.fail</groupId>
> + <artifactId>dae</artifactId>
> + <version>1.0</version>
> + </parent>
> + <artifactId>module1</artifactId>
> +
> + <build>
> + <plugins>
> + <plugin>
> + <groupId>org.apache.maven.plugins</groupId>
> + <artifactId>maven-enforcer-plugin</artifactId>
> + <version>1.2</version>
> + <executions>
> + <execution>
> + <id>enforce</id>
> + <goals>
> + <goal>enforce</goal>
> + </goals>
> + <configuration>
> + <rules>
> + <AlwaysFail />
> + </rules>
> + </configuration>
> + </execution>
> + </executions>
> + </plugin>
> + </plugins>
> + </build>
> +
> +</project>
>
> Added:
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/pom.xml
> URL:
> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it
> /deploy-at-end-fail/pom.xml?rev=1422245&view=auto
> ===========================================================================
> === ---
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/pom.xml
> (added) +++
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/pom.xml
> Sat Dec 15 13:14:44 2012 @@ -0,0 +1,100 @@
> +<?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.deploy.dae.fail</groupId>
> + <artifactId>dae</artifactId>
> + <version>1.0</version>
> + <packaging>pom</packaging>
> +
> + <description>
> + Tests deployment at end.
> + </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>
> + </modules>
> +</project>
>
> Added:
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/verify.gr
> oovy URL:
> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it
> /deploy-at-end-fail/verify.groovy?rev=1422245&view=auto
> ===========================================================================
> === ---
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/verify.gr
> oovy (added) +++
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-fail/verify.gr
> oovy Sat Dec 15 13:14:44 2012 @@ -0,0 +1,26 @@
> +/*
> + * 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/deploy/dae/fail/dae/1.0/dae-1.0.pom"
> ).exists() ) +assert !( new File( basedir,
> "module1/target/repo/org/apache/maven/its/deploy/dae/fail/module1/1.0/modul
> e1-1.0.pom" ).exists() ) +
> +File buildLog = new File( basedir, 'build.log' )
> +assert buildLog.exists()
> +assert buildLog.text.contains( "[INFO] Deploying
> org.apache.maven.its.deploy.dae.fail:dae:1.0 at end" ) +
>
> Added:
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/module1/p
> om.xml URL:
> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it
> /deploy-at-end-pass/module1/pom.xml?rev=1422245&view=auto
> ===========================================================================
> === ---
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/module1/p
> om.xml (added) +++
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/module1/p
> om.xml Sat Dec 15 13:14:44 2012 @@ -0,0 +1,48 @@
> +<?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.deploy.dae.pass</groupId>
> + <artifactId>dae</artifactId>
> + <version>1.0</version>
> + </parent>
> + <artifactId>module1</artifactId>
> +
> + <build>
> + <plugins>
> + <plugin>
> + <groupId>org.apache.maven.plugins</groupId>
> + <artifactId>maven-enforcer-plugin</artifactId>
> + <version>1.2</version>
> + <executions>
> + <execution>
> + <id>enforce</id>
> + <goals>
> + <goal>enforce</goal>
> + </goals>
> + <configuration>
> + <rules>
> + <AlwaysPass />
> + </rules>
> + </configuration>
> + </execution>
> + </executions>
> + </plugin>
> + </plugins>
> + </build>
> +
> +</project>
>
> Added:
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/pom.xml
> URL:
> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it
> /deploy-at-end-pass/pom.xml?rev=1422245&view=auto
> ===========================================================================
> === ---
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/pom.xml
> (added) +++
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/pom.xml
> Sat Dec 15 13:14:44 2012 @@ -0,0 +1,100 @@
> +<?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.deploy.dae.pass</groupId>
> + <artifactId>dae</artifactId>
> + <version>1.0</version>
> + <packaging>pom</packaging>
> +
> + <description>
> + Tests deployment at end.
> + </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>
> + </modules>
> +</project>
>
> Added:
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/verify.gr
> oovy URL:
> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/it
> /deploy-at-end-pass/verify.groovy?rev=1422245&view=auto
> ===========================================================================
> === ---
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/verify.gr
> oovy (added) +++
> maven/plugins/trunk/maven-deploy-plugin/src/it/deploy-at-end-pass/verify.gr
> oovy Sat Dec 15 13:14:44 2012 @@ -0,0 +1,26 @@
> +/*
> + * 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/deploy/dae/pass/dae/1.0/dae-1.0.pom"
> ).exists() +assert new File( basedir,
> "module1/target/repo/org/apache/maven/its/deploy/dae/pass/module1/1.0/modul
> e1-1.0.pom" ).exists() +
> +File buildLog = new File( basedir, 'build.log' )
> +assert buildLog.exists()
> +assert buildLog.text.contains( "[INFO] Deploying
> org.apache.maven.its.deploy.dae.pass:dae:1.0 at end" ) +
>
> Modified:
> maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plug
> in/deploy/AbstractDeployMojo.java URL:
> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/ma
> in/java/org/apache/maven/plugin/deploy/AbstractDeployMojo.java?rev=1422245&r
> 1=1422244&r2=1422245&view=diff
> ===========================================================================
> === ---
> maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plug
> in/deploy/AbstractDeployMojo.java (original) +++
> maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plug
> in/deploy/AbstractDeployMojo.java Sat Dec 15 13:14:44 2012 @@ -48,16 +48,12
> @@ public abstract class AbstractDeployMojo
>
> /**
> * Component used to create an artifact.
> - *
> - * @component
> */
> @Component
> protected ArtifactFactory artifactFactory;
>
> /**
> * Component used to create a repository.
> - *
> - * @component
> */
> @Component
> ArtifactRepositoryFactory repositoryFactory;
>
> Modified:
> maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plug
> in/deploy/DeployMojo.java URL:
> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/ma
> in/java/org/apache/maven/plugin/deploy/DeployMojo.java?rev=1422245&r1=142224
> 4&r2=1422245&view=diff
> ===========================================================================
> === ---
> maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plug
> in/deploy/DeployMojo.java (original) +++
> maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plug
> in/deploy/DeployMojo.java Sat Dec 15 13:14:44 2012 @@ -57,18 +57,33 @@
> public class DeployMojo
> */
> @Component
> private MavenProject project;
> +
> + @Parameter( defaultValue = "${reactorProjects}", required = true,
> readonly = true ) + private List<MavenProject> reactorProjects;
> +
> + /**
> + * Whether every project should be deployed during its own deploy-phase
> or at the end of the multimodule build. + * If set to {@code true} and
> the build fails, none of the reactor projects is deployed + *
> + * @since 2.8
> + */
> + @Parameter( defaultValue = "false", property = "deployAtEnd" )
> + private boolean deployAtEnd;
>
> /**
> + * @deprecated either use project.getArtifact() or
> reactorProjects.get(i).getArtifact() */
> @Parameter( defaultValue = "${project.artifact}", required = true,
> readonly = true ) private Artifact artifact;
>
> /**
> + * @deprecated either use project.getPackaging() or
> reactorProjects.get(i).getPackaging() */
> @Parameter( defaultValue = "${project.packaging}", required = true,
> readonly = true ) private String packaging;
>
> /**
> + * @deprecated either use project.getFile() or
> reactorProjects.get(i).getFile() */
> @Parameter( defaultValue = "${project.file}", required = true, readonly
> = true ) private File pomFile;
> @@ -83,6 +98,7 @@ public class DeployMojo
> private String altDeploymentRepository;
>
> /**
> + * @deprecated either use project.getAttachedArtifacts() or
> reactorProjects.get(i).getAttachedArtifacts() */
> @Parameter( defaultValue = "${project.attachedArtifacts}", required =
> true, readonly = true ) private List attachedArtifacts;
> @@ -105,8 +121,38 @@ public class DeployMojo
> }
>
> failIfOffline();
> +
> + if( !deployAtEnd )
> + {
> + deployProject( project );
> + }
> + else
> + {
> + MavenProject lastProject = reactorProjects.get(
> reactorProjects.size() - 1 ); + if( lastProject.equals( project
> ) )
> + {
> + for( MavenProject reactorProject : reactorProjects )
> + {
> + deployProject( reactorProject );
> + }
> + }
> + else
> + {
> + getLog().info( "Deploying " + project.getGroupId() + ":" +
> project.getArtifactId() + + ":" +
> project.getVersion() + " at end" ); + }
> + }
> + }
>
> - ArtifactRepository repo = getDeploymentRepository();
> + private void deployProject( MavenProject project )
> + throws MojoExecutionException, MojoFailureException
> + {
> + Artifact artifact = project.getArtifact();
> + String packaging = project.getPackaging();
> + File pomFile = project.getFile();
> + List attachedArtifacts = project.getAttachedArtifacts();
> +
> + ArtifactRepository repo = getDeploymentRepository( project );
>
> String protocol = repo.getProtocol();
>
> @@ -119,6 +165,7 @@ public class DeployMojo
> sshFile.mkdirs();
> }
> }
> +
>
> // Deploy the POM
> boolean isPomArtifact = "pom".equals( packaging );
> @@ -185,7 +232,7 @@ public class DeployMojo
> }
> }
>
> - private ArtifactRepository getDeploymentRepository()
> + private ArtifactRepository getDeploymentRepository( MavenProject
> project ) throws MojoExecutionException, MojoFailureException
> {
> ArtifactRepository repo = null;
>
> Modified:
> maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plug
> in/deploy/DeployMojoTest.java URL:
> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/te
> st/java/org/apache/maven/plugin/deploy/DeployMojoTest.java?rev=1422245&r1=14
> 22244&r2=1422245&view=diff
> ===========================================================================
> === ---
> maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plug
> in/deploy/DeployMojoTest.java (original) +++
> maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plug
> in/deploy/DeployMojoTest.java Sat Dec 15 13:14:44 2012 @@ -114,7 +114,9 @@
> public class DeployMojoTest
>
> assertTrue( file.exists() );
>
> - artifact = ( DeployArtifactStub ) getVariableValueFromObject( mojo,
> "artifact" ); + MavenProject project = (MavenProject)
> getVariableValueFromObject( mojo, "project" ); +
> + artifact = ( DeployArtifactStub ) project.getArtifact();
>
> String packaging = ( String ) getVariableValueFromObject( mojo,
> "packaging" );
>
> @@ -216,7 +218,9 @@ public class DeployMojoTest
>
> assertTrue( file.exists() );
>
> - artifact = (DeployArtifactStub) getVariableValueFromObject( mojo,
> "artifact" ); + MavenProject project = (MavenProject)
> getVariableValueFromObject( mojo, "project" ); +
> + artifact = (DeployArtifactStub) project.getArtifact();
>
> String packaging = (String) getVariableValueFromObject( mojo,
> "packaging" );
>
> @@ -266,7 +270,9 @@ public class DeployMojoTest
>
> assertEquals( "pom", packaging );
>
> - artifact = ( DeployArtifactStub ) getVariableValueFromObject( mojo,
> "artifact" ); + MavenProject project = (MavenProject)
> getVariableValueFromObject( mojo, "project" ); +
> + artifact = (DeployArtifactStub) project.getArtifact();
>
> artifact.setArtifactHandlerExtension( packaging );
>
> @@ -323,7 +329,9 @@ public class DeployMojoTest
>
> assertTrue( updateReleaseInfo );
>
> - artifact = ( DeployArtifactStub ) getVariableValueFromObject( mojo,
> "artifact" ); + MavenProject project = (MavenProject)
> getVariableValueFromObject( mojo, "project" ); +
> + artifact = (DeployArtifactStub) project.getArtifact();
>
> artifact.setFile( testPom );
>
> @@ -346,7 +354,9 @@ public class DeployMojoTest
>
> assertNotNull( mojo );
>
> - artifact = ( DeployArtifactStub ) getVariableValueFromObject( mojo,
> "artifact" ); + MavenProject project = (MavenProject)
> getVariableValueFromObject( mojo, "project" ); +
> + artifact = (DeployArtifactStub) project.getArtifact();
>
> artifact.setFile( null );
>
> @@ -375,7 +385,9 @@ public class DeployMojoTest
>
> assertNotNull( mojo );
>
> - artifact = ( DeployArtifactStub ) getVariableValueFromObject( mojo,
> "artifact" ); + MavenProject project = (MavenProject)
> getVariableValueFromObject( mojo, "project" ); +
> + artifact = (DeployArtifactStub) project.getArtifact();
>
> File file = new File( getBasedir(),
>
> "target/test-classes/unit/basic-deploy-with-attached-artifacts/target/" +
> @@ -489,7 +501,9 @@ public class DeployMojoTest
>
> assertTrue( file.exists() );
>
> - DeployArtifactStub artifact = ( DeployArtifactStub )
> getVariableValueFromObject( mojo, "artifact" ); + MavenProject
> project = (MavenProject) getVariableValueFromObject( mojo, "project" ); +
> + artifact = (DeployArtifactStub) project.getArtifact();
>
> artifact.setFile( file );
>
>
> Modified:
> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
> y-pom/plugin-config.xml URL:
> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/te
> st/resources/unit/basic-deploy-pom/plugin-config.xml?rev=1422245&r1=1422244&
> r2=1422245&view=diff
> ===========================================================================
> === ---
> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
> y-pom/plugin-config.xml (original) +++
> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
> y-pom/plugin-config.xml Sat Dec 15 13:14:44 2012 @@ -23,12 +23,18 @@ under
> the License.
> <plugin>
> <artifactId>maven-deploy-plugin</artifactId>
> <configuration>
> + <!-- derecated fields -->
>
> <pomFile>${basedir}/src/test/resources/unit/basic-deploy-pom/plugin-config.
> xml</pomFile> <packaging>pom</packaging>
> <artifact
> implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub" />
> <attachedArtifacts />
> +
> <localRepository>${localRepository}</localRepository>
> <project
> implementation="org.apache.maven.plugin.deploy.stubs.MavenProjectStub"> +
>
> <file>${basedir}/src/test/resources/unit/basic-deploy-pom/plugin-config.xml
> </file> + <packaging>pom</packaging>
> + <artifact
> implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub" />
> + <attachedArtifacts />
> <deploymentRepository
> implementation="org.apache.maven.plugin.deploy.stubs.ArtifactRepositoryStub
> " /> </project>
> <updateReleaseInfo>true</updateReleaseInfo>
>
> Modified:
> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
> y-scp/plugin-config.xml URL:
> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/te
> st/resources/unit/basic-deploy-scp/plugin-config.xml?rev=1422245&r1=1422244&
> r2=1422245&view=diff
> ===========================================================================
> === ---
> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
> y-scp/plugin-config.xml (original) +++
> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
> y-scp/plugin-config.xml Sat Dec 15 13:14:44 2012 @@ -23,12 +23,18 @@ under
> the License.
> <plugin>
> <artifactId>maven-deploy-plugin</artifactId>
> <configuration>
> + <!-- deprecated fields -->
>
> <pomFile>${basedir}/src/test/resources/unit/basic-deploy-scp/plugin-config.
> xml</pomFile> <packaging>jar</packaging>
> <artifact
> implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub" />
> <attachedArtifacts />
> +
> <localRepository>${localRepository}</localRepository>
> <project
> implementation="org.apache.maven.plugin.deploy.stubs.MavenProjectStub"> +
>
> <file>${basedir}/src/test/resources/unit/basic-deploy-scp/plugin-config.xml
> </file> + <packaging>jar</packaging>
> + <artifact
> implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub" />
> + <attachedArtifacts />
> <deploymentRepository
> implementation="org.apache.maven.plugin.deploy.stubs.ArtifactRepositoryStub
> 2" /> </project>
> <updateReleaseInfo>false</updateReleaseInfo>
>
> Modified:
> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
> y-test/plugin-config.xml URL:
> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/te
> st/resources/unit/basic-deploy-test/plugin-config.xml?rev=1422245&r1=1422244
> &r2=1422245&view=diff
> ===========================================================================
> === Binary files - no diff available.
>
> Modified:
> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
> y-with-attached-artifacts/plugin-config.xml URL:
> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/te
> st/resources/unit/basic-deploy-with-attached-artifacts/plugin-config.xml?rev
> =1422245&r1=1422244&r2=1422245&view=diff
> ===========================================================================
> === ---
> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
> y-with-attached-artifacts/plugin-config.xml (original) +++
> maven/plugins/trunk/maven-deploy-plugin/src/test/resources/unit/basic-deplo
> y-with-attached-artifacts/plugin-config.xml Sat Dec 15 13:14:44 2012 @@
> -23,14 +23,22 @@ under the License.
> <plugin>
> <artifactId>maven-deploy-plugin</artifactId>
> <configuration>
> + <!-- deprecated fields -->
>
> <pomFile>${basedir}/src/test/resources/unit/basic-deploy-with-attached-arti
> facts/plugin-config.xml</pomFile> <packaging>jar</packaging>
> <artifact
> implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub" />
> <attachedArtifacts>
> <attachedArtifact
> implementation="org.apache.maven.plugin.deploy.stubs.AttachedArtifactStub"
> /> </attachedArtifacts>
> +
> <localRepository>${localRepository}</localRepository>
> - <project
> implementation="org.apache.maven.plugin.deploy.stubs.MavenProjectStub"> +
> <project
> implementation="org.apache.maven.plugin.deploy.stubs.MavenProjectStub"> +
>
> <file>${basedir}/src/test/resources/unit/basic-deploy-with-attached-artifac
> ts/plugin-config.xml</file> + <packaging>jar</packaging>
> + <artifact
> implementation="org.apache.maven.plugin.deploy.stubs.DeployArtifactStub" />
> + <attachedArtifacts>
> + <attachedArtifact
> implementation="org.apache.maven.plugin.deploy.stubs.AttachedArtifactStub"
> /> + </attachedArtifacts>
> <deploymentRepository
> implementation="org.apache.maven.plugin.deploy.stubs.ArtifactRepositoryStub
> " /> </project>
> <updateReleaseInfo>true</updateReleaseInfo>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org