mirror of https://github.com/apache/maven.git
Resolving: MNG-878, MNG-921
o Verified that plugins are added to the list in the model when invoked from the command line (878) o Reformatted ModelUtils after the profiles-cloning addition o Added cache-flush for the plugin map in MavenProject o Moved dependencies for subproject/subproject2 into the parent-project POM, inside a profile o Added activation property for this new profile into the test.sh script o Added explicit activation inside of release:perform's m2 invocation for all profile-ids active in the release-plugin's execution. o Added code to remove the dynamic parts of the POM from the release-pom.xml...it's not meant to be a dynamic version of a POM. git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@290336 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
74de0709de
commit
ec8d262f16
|
@ -53,9 +53,8 @@
|
|||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>2.0-beta-1</version>
|
||||
<groupId>org.codehaus.modello</groupId>
|
||||
<artifactId>modello-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
@ -64,9 +63,40 @@
|
|||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-project-info-reports-plugin</artifactId>
|
||||
<version>2.0-alpha-1</version>
|
||||
<version>2.0-beta-1</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</reporting>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>env-test</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>env</name>
|
||||
<value>test</value>
|
||||
</property>
|
||||
</activation>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-artifact</artifactId>
|
||||
<version>2.0-beta-1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-artifact-manager</artifactId>
|
||||
<version>2.0-beta-1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<directory>alt-target</directory>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -8,19 +8,4 @@
|
|||
|
||||
<artifactId>project-sub1</artifactId>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-artifact</artifactId>
|
||||
<version>2.0-beta-1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-artifact-manager</artifactId>
|
||||
<version>2.0-beta-1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -14,30 +14,6 @@
|
|||
<artifactId>project-sub1</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-artifact</artifactId>
|
||||
<version>2.0-beta-1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-artifact-manager</artifactId>
|
||||
<version>2.0-beta-1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>env-test</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>env</name>
|
||||
<value>test</value>
|
||||
</property>
|
||||
</activation>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -18,11 +18,7 @@ cd project.checkout
|
|||
|
||||
rm -Rf target
|
||||
|
||||
#. ~/shell-switches/m2-debug-on
|
||||
#echo "Enabling debugging options. Please attach the debugger."
|
||||
m2 -e release:prepare -Denv=test
|
||||
|
||||
export MAVEN_OPTS=
|
||||
m2 -e release:prepare
|
||||
|
||||
m2 -e release:perform
|
||||
m2 -e release:perform -Denv=test
|
||||
|
||||
|
|
|
@ -16,9 +16,11 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import org.apache.maven.model.Profile;
|
||||
import org.apache.maven.plugin.MojoExecutionException;
|
||||
import org.apache.maven.plugins.release.helpers.ReleaseProgressTracker;
|
||||
import org.apache.maven.plugins.release.helpers.ScmHelper;
|
||||
import org.apache.maven.project.MavenProject;
|
||||
import org.codehaus.plexus.util.cli.CommandLineException;
|
||||
import org.codehaus.plexus.util.cli.CommandLineUtils;
|
||||
import org.codehaus.plexus.util.cli.Commandline;
|
||||
|
@ -26,6 +28,8 @@
|
|||
import org.codehaus.plexus.util.cli.StreamConsumer;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Perform a release from SCM
|
||||
|
@ -56,6 +60,13 @@ public class PerformReleaseMojo
|
|||
*/
|
||||
protected String workingDirectory;
|
||||
|
||||
/**
|
||||
* @parameter expression="${project}"
|
||||
* @required
|
||||
* @readonly
|
||||
*/
|
||||
protected MavenProject project;
|
||||
|
||||
private ReleaseProgressTracker releaseProgress;
|
||||
|
||||
protected void executeTask()
|
||||
|
@ -104,6 +115,26 @@ private void runGoals()
|
|||
|
||||
cl.createArgument().setLine( "--batch-mode" );
|
||||
|
||||
List profiles = project.getActiveProfiles();
|
||||
|
||||
if ( profiles != null && !profiles.isEmpty() )
|
||||
{
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
|
||||
buffer.append( "-P " );
|
||||
|
||||
for ( Iterator it = profiles.iterator(); it.hasNext(); )
|
||||
{
|
||||
Profile profile = (Profile) it.next();
|
||||
|
||||
buffer.append( profile.getId() ).append( "," );
|
||||
}
|
||||
|
||||
buffer.setLength( buffer.length() - 1 );
|
||||
|
||||
cl.createArgument().setLine( buffer.toString() );
|
||||
}
|
||||
|
||||
StreamConsumer consumer = new DefaultConsumer();
|
||||
|
||||
try
|
||||
|
|
|
@ -836,6 +836,12 @@ private void generateReleasePoms()
|
|||
Model releaseModel = releaseProject.getModel();
|
||||
fixNullValueInModel( releaseModel, project.getModel() );
|
||||
|
||||
// the release POM should reflect bits of these which were injected at build time...
|
||||
// we don't need these polluting the POM.
|
||||
releaseModel.setProfiles( Collections.EMPTY_LIST );
|
||||
releaseModel.setDependencyManagement( null );
|
||||
releaseModel.getBuild().setPluginManagement( null );
|
||||
|
||||
String projectVersion = releaseModel.getVersion();
|
||||
if ( ArtifactUtils.isSnapshot( projectVersion ) )
|
||||
{
|
||||
|
|
|
@ -1129,6 +1129,7 @@ public void addPlugin( Plugin plugin )
|
|||
if ( !build.getPluginsAsMap().containsKey( plugin.getKey() ) )
|
||||
{
|
||||
build.addPlugin( plugin );
|
||||
build.flushPluginMap();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
import org.apache.maven.model.Activation;
|
||||
import org.apache.maven.model.ActivationFile;
|
||||
import org.apache.maven.model.ActivationProperty;
|
||||
import org.apache.maven.model.Build;
|
||||
import org.apache.maven.model.BuildBase;
|
||||
import org.apache.maven.model.Dependency;
|
||||
import org.apache.maven.model.DependencyManagement;
|
||||
|
@ -78,8 +77,8 @@ public static void mergePluginLists( PluginContainer childContainer, PluginConta
|
|||
|
||||
String parentInherited = parentPlugin.getInherited();
|
||||
|
||||
if ( !handleAsInheritance || parentInherited == null ||
|
||||
Boolean.valueOf( parentInherited ).booleanValue() )
|
||||
if ( !handleAsInheritance || parentInherited == null
|
||||
|| Boolean.valueOf( parentInherited ).booleanValue() )
|
||||
{
|
||||
|
||||
Plugin assembledPlugin = parentPlugin;
|
||||
|
@ -140,8 +139,8 @@ public static void mergeReportPluginLists( Reporting child, Reporting parent, bo
|
|||
|
||||
String parentInherited = parentPlugin.getInherited();
|
||||
|
||||
if ( !handleAsInheritance || parentInherited == null ||
|
||||
Boolean.valueOf( parentInherited ).booleanValue() )
|
||||
if ( !handleAsInheritance || parentInherited == null
|
||||
|| Boolean.valueOf( parentInherited ).booleanValue() )
|
||||
{
|
||||
|
||||
ReportPlugin assembledPlugin = parentPlugin;
|
||||
|
@ -528,7 +527,8 @@ private static List cloneProfiles( List profiles )
|
|||
newProfile.setDependencyManagement( newDM );
|
||||
}
|
||||
|
||||
newProfile.setDistributionManagement( cloneProfileDistributionManagement( profile.getDistributionManagement() ) );
|
||||
newProfile.setDistributionManagement( cloneProfileDistributionManagement( profile
|
||||
.getDistributionManagement() ) );
|
||||
|
||||
List modules = profile.getModules();
|
||||
|
||||
|
|
Loading…
Reference in New Issue