You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2011/10/06 18:49:17 UTC
svn commit: r1179704 [1/3] - in
/maven/release/trunk/maven-release-manager/src:
main/java/org/apache/maven/shared/release/phase/
test/java/org/apache/maven/shared/release/phase/
test/remote-repository/groupId/subproject1/ test/remote-repository/groupId...
Author: bentmann
Date: Thu Oct 6 16:49:14 2011
New Revision: 1179704
URL: http://svn.apache.org/viewvc?rev=1179704&view=rev
Log:
[MRELEASE-354] Versions defined in profiles are not updated
[MRELEASE-454] The Release-Plugin does not rewrite dependencies in the DependencyManagement with scope "import"
Tests submitted by: Pedro Rodriguez
[MRELEASE-467] Release preparation should update version of plugin dependencies
Added:
maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/ (with props)
maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/1.0-SNAPSHOT/ (with props)
maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/1.0-SNAPSHOT/subproject1-1.0-SNAPSHOT.jar
maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/1.0-SNAPSHOT/subproject1-1.0-SNAPSHOT.pom
maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/2.0/ (with props)
maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/2.0/subproject1-2.0.jar
maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/2.0/subproject1-2.0.pom
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject1/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject1/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject2/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject2/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject3/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject3/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject3/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/subproject1/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/subproject1/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/subproject2/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/subproject2/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/subproject3/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/subproject3/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/subproject3/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management-import/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management-import/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management-import/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management-import/subproject1/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management-import/subproject1/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management-import/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management-import/subproject2/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management-import/subproject2/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management-import/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management/subproject1/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management/subproject1/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management/subproject2/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management/subproject2/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/pom-with-parent-and-properties-in-dependency-management/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/imported-dependency-management-in-reactor/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/imported-dependency-management-in-reactor/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/imported-dependency-management-in-reactor/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/imported-dependency-management-in-reactor/subproject1/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/imported-dependency-management-in-reactor/subproject1/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/imported-dependency-management-in-reactor/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/imported-dependency-management-in-reactor/subproject2/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/imported-dependency-management-in-reactor/subproject2/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/imported-dependency-management-in-reactor/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-plugin-deps/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-plugin-deps/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-plugin-deps/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-plugin-deps/subproject1/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-plugin-deps/subproject1/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-plugin-deps/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-plugin-deps/subproject2/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-plugin-deps/subproject2/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-plugin-deps/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-plugin-deps/subproject3/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-plugin-deps/subproject3/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-plugin-deps/subproject3/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-profile/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-profile/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-profile/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-profile/subproject1/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-profile/subproject1/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-profile/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-profile/subproject2/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-profile/subproject2/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-profile/subproject2/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-profile/subproject3/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-profile/subproject3/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/internal-snapshot-profile/subproject3/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/modules-with-different-versions/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/modules-with-different-versions/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/modules-with-different-versions/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/modules-with-different-versions/subproject1/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/modules-with-different-versions/subproject1/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/modules-with-different-versions/subproject1/pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/modules-with-different-versions/subproject2/ (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/modules-with-different-versions/subproject2/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/modules-with-different-versions/subproject2/pom.xml (with props)
Modified:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractEditModeRewritingReleasePhaseTestCase.java
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhaseTest.java
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java?rev=1179704&r1=1179703&r2=1179704&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java Thu Oct 6 16:49:14 2011
@@ -25,6 +25,9 @@ import java.io.StringReader;
import java.io.StringWriter;
import java.io.Writer;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -32,10 +35,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.maven.artifact.ArtifactUtils;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Extension;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.ReportPlugin;
+import org.apache.maven.model.Model;
import org.apache.maven.project.MavenProject;
import org.apache.maven.scm.ScmException;
import org.apache.maven.scm.ScmFileSet;
@@ -53,8 +53,13 @@ import org.apache.maven.shared.release.s
import org.apache.maven.shared.release.scm.ReleaseScmRepositoryException;
import org.apache.maven.shared.release.scm.ScmRepositoryConfigurator;
import org.apache.maven.shared.release.util.ReleaseUtil;
+import org.codehaus.plexus.interpolation.InterpolationException;
+import org.codehaus.plexus.interpolation.MapBasedValueSource;
+import org.codehaus.plexus.interpolation.ObjectBasedValueSource;
+import org.codehaus.plexus.interpolation.PrefixAwareRecursionInterceptor;
+import org.codehaus.plexus.interpolation.PrefixedObjectValueSource;
+import org.codehaus.plexus.interpolation.StringSearchInterpolator;
import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.WriterFactory;
import org.jdom.CDATA;
import org.jdom.Comment;
@@ -68,7 +73,6 @@ import org.jdom.filter.ElementFilter;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
-import org.jdom.xpath.XPath;
/**
* Base class for rewriting phases.
@@ -247,9 +251,10 @@ public abstract class AbstractRewritePom
throws ReleaseExecutionException, ReleaseFailureException
{
Namespace namespace = rootElement.getNamespace();
- Map mappedVersions = getNextVersionMap( releaseDescriptor );
- Map originalVersions = getOriginalVersionMap( releaseDescriptor, reactorProjects, simulate );
+ Map<String, String> mappedVersions = getNextVersionMap( releaseDescriptor );
+ Map<String, String> originalVersions = getOriginalVersionMap( releaseDescriptor, reactorProjects, simulate );
Map resolvedSnapshotDependencies = releaseDescriptor.getResolvedSnapshotDependencies();
+ Model model = project.getModel();
Element properties = rootElement.getChild( "properties", namespace );
String parentVersion = rewriteParent( project, rootElement, namespace, mappedVersions,
@@ -259,52 +264,41 @@ public abstract class AbstractRewritePom
rewriteVersion( rootElement, namespace, mappedVersions, projectId, project, parentVersion );
- rewriteDependencies( project.getDependencies(), rootElement, mappedVersions, resolvedSnapshotDependencies,
- originalVersions, projectId, properties, result, releaseDescriptor );
+ List<Element> roots = new ArrayList<Element>();
+ roots.add( rootElement );
+ roots.addAll( getChildren( rootElement, "profiles", "profile" ) );
- if ( project.getDependencyManagement() != null )
+ for ( Element root : roots )
{
- Element dependencyRoot = rootElement.getChild( "dependencyManagement", namespace );
- if ( dependencyRoot != null )
- {
- rewriteDependencies( project.getDependencyManagement().getDependencies(), dependencyRoot,
- mappedVersions, resolvedSnapshotDependencies, originalVersions, projectId,
- properties, result, releaseDescriptor );
- }
- }
+ rewriteArtifactVersions( getChildren( root, "dependencies", "dependency" ), mappedVersions,
+ resolvedSnapshotDependencies, originalVersions, model, properties, result,
+ releaseDescriptor );
- if ( project.getBuild() != null )
- {
- Element buildRoot = rootElement.getChild( "build", namespace );
- if ( buildRoot != null )
+ rewriteArtifactVersions( getChildren( root, "dependencyManagement", "dependencies", "dependency" ),
+ mappedVersions, resolvedSnapshotDependencies, originalVersions, model, properties,
+ result, releaseDescriptor );
+
+ rewriteArtifactVersions( getChildren( root, "build", "extensions", "extension" ), mappedVersions,
+ resolvedSnapshotDependencies, originalVersions, model, properties, result,
+ releaseDescriptor );
+
+ List<Element> pluginElements = new ArrayList<Element>();
+ pluginElements.addAll( getChildren( root, "build", "plugins", "plugin" ) );
+ pluginElements.addAll( getChildren( root, "build", "pluginManagement", "plugins", "plugin" ) );
+
+ rewriteArtifactVersions( pluginElements, mappedVersions, resolvedSnapshotDependencies, originalVersions,
+ model, properties, result, releaseDescriptor );
+
+ for ( Element pluginElement : pluginElements )
{
- rewritePlugins( project.getBuildPlugins(), buildRoot, mappedVersions, resolvedSnapshotDependencies,
- originalVersions, projectId, properties, result, releaseDescriptor );
- if ( project.getPluginManagement() != null )
- {
- Element pluginsRoot = buildRoot.getChild( "pluginManagement", namespace );
- if ( pluginsRoot != null )
- {
- rewritePlugins( project.getPluginManagement().getPlugins(), pluginsRoot, mappedVersions,
- resolvedSnapshotDependencies, originalVersions, projectId, properties, result,
+ rewriteArtifactVersions( getChildren( pluginElement, "dependencies", "dependency" ), mappedVersions,
+ resolvedSnapshotDependencies, originalVersions, model, properties, result,
releaseDescriptor );
- }
- }
- rewriteExtensions( project.getBuildExtensions(), buildRoot, mappedVersions,
- resolvedSnapshotDependencies, originalVersions, projectId, properties, result,
- releaseDescriptor );
}
- }
- if ( project.getReporting() != null )
- {
- Element pluginsRoot = rootElement.getChild( "reporting", namespace );
- if ( pluginsRoot != null )
- {
- rewriteReportPlugins( project.getReportPlugins(), pluginsRoot, mappedVersions,
- resolvedSnapshotDependencies, originalVersions, projectId, properties, result,
- releaseDescriptor );
- }
+ rewriteArtifactVersions( getChildren( root, "reporting", "plugins", "plugin" ), mappedVersions,
+ resolvedSnapshotDependencies, originalVersions, model, properties, result,
+ releaseDescriptor );
}
String commonBasedir;
@@ -321,6 +315,21 @@ public abstract class AbstractRewritePom
commonBasedir );
}
+ @SuppressWarnings( "unchecked" )
+ private List<Element> getChildren( Element root, String... names )
+ {
+ Element parent = root;
+ for ( int i = 0; i < names.length - 1 && parent != null; i++ )
+ {
+ parent = parent.getChild( names[i], parent.getNamespace() );
+ }
+ if ( parent == null )
+ {
+ return Collections.emptyList();
+ }
+ return parent.getChildren( names[names.length - 1], parent.getNamespace() );
+ }
+
/**
* Updates the text value of the given element. The primary purpose of this method is to preserve any whitespace and
* comments around the original text value.
@@ -434,280 +443,178 @@ public abstract class AbstractRewritePom
return parentVersion;
}
- private void rewriteDependencies( List<Dependency> dependencies, Element dependencyRoot, Map mappedVersions,
- Map resolvedSnapshotDependencies, Map originalVersions, String projectId,
- Element properties, ReleaseResult result, ReleaseDescriptor releaseDescriptor )
+ private void rewriteArtifactVersions( Collection<Element> elements, Map<String, String> mappedVersions,
+ Map resolvedSnapshotDependencies, Map<String, String> originalVersions,
+ Model projectModel, Element properties, ReleaseResult result,
+ ReleaseDescriptor releaseDescriptor )
throws ReleaseExecutionException, ReleaseFailureException
{
- if ( dependencies != null )
+ if ( elements == null )
{
- List<String> dependenciesAlreadyChanged = new ArrayList<String>();
- for ( Iterator<Dependency> i = dependencies.iterator(); i.hasNext(); )
- {
- Dependency dep = (Dependency) i.next();
- String depId = ArtifactUtils.versionlessKey( dep.getGroupId(), dep.getArtifactId() );
- if ( !dependenciesAlreadyChanged.contains( depId ) )
- {
- //This check is required because updateDomVersion update all dependencies with the current groupId/artifactId
- //(standard dependencies and sub-dependencies like ejb-client) so we don't need to re-update them
-
- dependenciesAlreadyChanged.add( depId );
-
- updateDomVersion( dep.getGroupId(), dep.getArtifactId(), mappedVersions,
- resolvedSnapshotDependencies, dep.getVersion(), originalVersions, "dependencies",
- "dependency", dependencyRoot, projectId, properties, result, releaseDescriptor );
- }
- }
+ return;
}
- }
-
- private void rewritePlugins( List<Plugin> plugins, Element pluginRoot, Map mappedVersions, Map resolvedSnapshotDependencies,
- Map originalVersions, String projectId, Element properties, ReleaseResult result,
- ReleaseDescriptor releaseDescriptor )
- throws ReleaseExecutionException, ReleaseFailureException
- {
- if ( plugins != null )
+ String projectId = ArtifactUtils.versionlessKey( projectModel.getGroupId(), projectModel.getArtifactId() );
+ for ( Element element : elements )
{
- for ( Iterator<Plugin> i = plugins.iterator(); i.hasNext(); )
+ Element versionElement = element.getChild( "version", element.getNamespace() );
+ if ( versionElement == null )
{
- Plugin plugin = i.next();
-
- // We can ignore plugins whose version is assumed, they are only written into the release pom
- if ( plugin.getVersion() != null )
- {
- updateDomVersion( plugin.getGroupId(), plugin.getArtifactId(), mappedVersions,
- resolvedSnapshotDependencies, plugin.getVersion(), originalVersions, "plugins",
- "plugin", pluginRoot, projectId, properties, result, releaseDescriptor );
- }
+ // managed dependency or unversioned plugin
+ continue;
}
- }
- }
+ String rawVersion = versionElement.getTextTrim();
- private void rewriteExtensions( List<Extension> extensions, Element extensionRoot, Map mappedVersions,
- Map resolvedSnapshotDependencies, Map originalVersions, String projectId,
- Element properties, ReleaseResult result, ReleaseDescriptor releaseDescriptor )
- throws ReleaseExecutionException, ReleaseFailureException
- {
- if ( extensions != null )
- {
- for ( Iterator<Extension> i = extensions.iterator(); i.hasNext(); )
+ Element groupIdElement = element.getChild( "groupId", element.getNamespace() );
+ if ( groupIdElement == null )
{
- Extension extension = i.next();
-
- if ( extension.getVersion() != null )
+ if ( "plugin".equals( element.getName() ) )
{
- updateDomVersion( extension.getGroupId(), extension.getArtifactId(), mappedVersions,
- resolvedSnapshotDependencies, extension.getVersion(), originalVersions,
- "extensions", "extension", extensionRoot, projectId, properties, result,
- releaseDescriptor );
+ groupIdElement = new Element( "groupId", element.getNamespace() );
+ groupIdElement.setText( "org.apache.maven.plugins" );
}
- }
- }
- }
-
- private void rewriteReportPlugins( List<ReportPlugin> plugins, Element pluginRoot, Map mappedVersions,
- Map resolvedSnapshotDependencies, Map originalVersions, String projectId,
- Element properties, ReleaseResult result, ReleaseDescriptor releaseDescriptor )
- throws ReleaseExecutionException, ReleaseFailureException
- {
- if ( plugins != null )
- {
- for ( Iterator<ReportPlugin> i = plugins.iterator(); i.hasNext(); )
- {
- ReportPlugin plugin = i.next();
-
- // We can ignore plugins whose version is assumed, they are only written into the release pom
- if ( plugin.getVersion() != null )
+ else
{
- updateDomVersion( plugin.getGroupId(), plugin.getArtifactId(), mappedVersions,
- resolvedSnapshotDependencies, plugin.getVersion(), originalVersions, "plugins",
- "plugin", pluginRoot, projectId, properties, result, releaseDescriptor );
+ // incomplete dependency
+ continue;
}
}
- }
- }
-
- private List<Element> getDependencies( String groupId, String artifactId, String groupTagName, String tagName,
- Element dependencyRoot )
- throws JDOMException
- {
- XPath xpath;
- if ( !StringUtils.isEmpty( dependencyRoot.getNamespaceURI() ) )
- {
- xpath =
- XPath.newInstance( "./pom:" + groupTagName + "/pom:" + tagName + "[normalize-space(pom:groupId)='"
- + groupId + "' and normalize-space(pom:artifactId)='" + artifactId + "']" );
- xpath.addNamespace( "pom", dependencyRoot.getNamespaceURI() );
- }
- else
- {
- xpath =
- XPath.newInstance( "./" + groupTagName + "/" + tagName + "[normalize-space(groupId)='" + groupId
- + "' and normalize-space(artifactId)='" + artifactId + "']" );
- }
+ String groupId = interpolate( groupIdElement.getTextTrim(), projectModel );
- List<Element> dependencies = xpath.selectNodes( dependencyRoot );
-
- //MRELEASE-147
- if ( ( dependencies == null || dependencies.isEmpty() ) && groupId.indexOf( "${" ) == -1 )
- {
- dependencies = getDependencies( "${project.groupId}", artifactId, groupTagName, tagName, dependencyRoot );
-
- if ( dependencies == null || dependencies.isEmpty() )
+ Element artifactIdElement = element.getChild( "artifactId", element.getNamespace() );
+ if ( artifactIdElement == null )
{
- dependencies = getDependencies( "${pom.groupId}", artifactId, groupTagName, tagName, dependencyRoot );
+ // incomplete element
+ continue;
}
- }
+ String artifactId = interpolate( artifactIdElement.getTextTrim(), projectModel);
- return dependencies;
- }
-
- private void updateDomVersion( String groupId, String artifactId, Map mappedVersions,
- Map resolvedSnapshotDependencies, String version, Map originalVersions,
- String groupTagName, String tagName, Element dependencyRoot, String projectId,
- Element properties, ReleaseResult result, ReleaseDescriptor releaseDescriptor )
- throws ReleaseExecutionException, ReleaseFailureException
- {
- String key = ArtifactUtils.versionlessKey( groupId, artifactId );
- String mappedVersion = (String) mappedVersions.get( key );
- String resolvedSnapshotVersion = getResolvedSnapshotVersion( key, resolvedSnapshotDependencies );
- Object originalVersion = originalVersions.get( key );
-
- // workaround
- if ( originalVersion == null )
- {
- originalVersion = getOriginalResolvedSnapshotVersion( key, resolvedSnapshotDependencies );
- }
-
- try
- {
- List<Element> dependencies = getDependencies( groupId, artifactId, groupTagName, tagName, dependencyRoot );
+ String key = ArtifactUtils.versionlessKey( groupId, artifactId );
+ String resolvedSnapshotVersion = getResolvedSnapshotVersion( key, resolvedSnapshotDependencies );
+ String mappedVersion = mappedVersions.get( key );
+ String originalVersion = originalVersions.get( key );
+ if ( originalVersion == null )
+ {
+ originalVersion = getOriginalResolvedSnapshotVersion( key, resolvedSnapshotDependencies );
+ }
- for ( Element dependency : dependencies )
+ // MRELEASE-220
+ if ( mappedVersion != null && mappedVersion.endsWith( "SNAPSHOT" ) && !rawVersion.endsWith( "SNAPSHOT" )
+ && !releaseDescriptor.isUpdateDependencies() )
{
- String dependencyVersion = "";
- Element versionElement = null;
+ continue;
+ }
- if ( dependency != null )
+ if ( mappedVersion != null )
+ {
+ if ( rawVersion.equals( originalVersion ) )
{
- versionElement = dependency.getChild( "version", dependencyRoot.getNamespace() );
- if ( versionElement != null )
- {
- dependencyVersion = versionElement.getTextTrim();
- }
+ logInfo( result, " Updating " + artifactId + " to " + mappedVersion );
+ rewriteValue( versionElement, mappedVersion );
}
-
- //MRELEASE-220
- if ( mappedVersion != null && mappedVersion.endsWith( "SNAPSHOT" )
- && !dependencyVersion.endsWith( "SNAPSHOT" ) && !releaseDescriptor.isUpdateDependencies() )
+ else if ( rawVersion.matches( "\\$\\{.+\\}" ) )
{
- return;
- }
+ String expression = rawVersion.substring( 2, rawVersion.length() - 1 );
- if ( version.equals( originalVersion ) || dependencyVersion.equals( originalVersion ) )
- {
- if ( ( mappedVersion != null ) || ( resolvedSnapshotVersion != null ) )
+ if ( expression.startsWith( "project." ) || expression.startsWith( "pom." )
+ || "version".equals( expression ) )
{
- logInfo( result, "Updating " + artifactId + " to "
- + ( ( mappedVersion != null ) ? mappedVersion : resolvedSnapshotVersion ) );
-
- // If it was inherited, nothing to do
- if ( dependency != null )
+ if ( !mappedVersion.equals( mappedVersions.get( projectId ) ) )
{
- // avoid if in management
- if ( versionElement != null )
- {
- if ( mappedVersion == null )
- {
- rewriteValue( versionElement, resolvedSnapshotVersion );
- return;
- }
-
- String versionText = versionElement.getTextTrim();
+ logInfo( result, " Updating " + artifactId + " to " + mappedVersion );
+ rewriteValue( versionElement, mappedVersion );
+ }
+ else
+ {
+ logInfo( result, " Ignoring artifact version update for expression " + rawVersion );
+ }
+ }
+ else if ( properties != null )
+ {
+ // version is an expression, check for properties to update instead
+ Element property = properties.getChild( expression, properties.getNamespace() );
+ if ( property != null )
+ {
+ String propertyValue = property.getTextTrim();
- // avoid if it was not originally set to the original value (it may be an expression), unless mapped version differs
- if ( originalVersion.equals( versionText )
- || !mappedVersion.equals( mappedVersions.get( projectId ) ) )
- {
- rewriteValue( versionElement, mappedVersion );
- }
- else if ( versionText.matches( "\\$\\{project.+\\}" )
- || versionText.matches( "\\$\\{pom.+\\}" ) || "${version}".equals( versionText ) )
- {
- logInfo( result,
- "Ignoring artifact version update for expression: " + versionText );
- //ignore... we cannot update this expression
- }
- else if ( versionText.matches( "\\$\\{.+\\}" ) && properties != null )
+ if ( propertyValue.equals( originalVersion ) )
+ {
+ logInfo( result, " Updating " + rawVersion + " to " + mappedVersion );
+ // change the property only if the property is the same as what's in the reactor
+ rewriteValue( property, mappedVersion );
+ }
+ else if ( mappedVersion.equals( propertyValue ) )
+ {
+ // this property may have been updated during processing a sibling.
+ logInfo( result, " Ignoring artifact version update for expression " + rawVersion
+ + " because it is already updated" );
+ }
+ else if ( !mappedVersion.equals( rawVersion ) )
+ {
+ if ( mappedVersion.matches( "\\$\\{project.+\\}" )
+ || mappedVersion.matches( "\\$\\{pom.+\\}" ) || "${version}".equals( mappedVersion ) )
{
- //version is an expression, check for properties to update instead
- String expression = versionText.substring( 2, versionText.length() - 1 );
- Element property = properties.getChild( expression, properties.getNamespace() );
- if ( property != null )
- {
- String propertyValue = property.getTextTrim();
-
- if ( originalVersion.equals( propertyValue ) )
- {
- // change the property only if the property is the same as what's in the reactor
- rewriteValue( property, mappedVersion );
- }
- else if ( mappedVersion.equals( propertyValue ) )
- {
- //this property may have been updated during processing a sibling.
- logInfo( result, "Ignoring artifact version update for expression: "
- + mappedVersion + " because it is already updated." );
- }
- else if ( !mappedVersion.equals( versionText ) )
- {
- if ( mappedVersion.matches( "\\$\\{project.+\\}" )
- || mappedVersion.matches( "\\$\\{pom.+\\}" )
- || "${version}".equals( mappedVersion ) )
- {
- logInfo( result, "Ignoring artifact version update for expression: "
- + mappedVersion );
- //ignore... we cannot update this expression
- }
- else
- {
- // the value of the expression conflicts with what the user wanted to release
- throw new ReleaseFailureException( "The artifact (" + key
- + ") requires a " + "different version (" + mappedVersion
- + ") than what is found (" + propertyValue
- + ") for the expression (" + expression + ") in the " + "project ("
- + projectId + ")." );
- }
- }
- }
- else
- {
- // the expression used to define the version of this artifact may be inherited
- // TODO needs a better error message, what pom? what dependency?
- throw new ReleaseFailureException(
- "The version could not be updated: " + versionText );
- }
+ logInfo( result, " Ignoring artifact version update for expression "
+ + mappedVersion );
+ // ignore... we cannot update this expression
}
else
{
- // the version for this artifact could not be updated.
- throw new ReleaseFailureException(
- "The version could not be updated: " + versionText );
+ // the value of the expression conflicts with what the user wanted to release
+ throw new ReleaseFailureException( "The artifact (" + key + ") requires a "
+ + "different version (" + mappedVersion + ") than what is found ("
+ + propertyValue + ") for the expression (" + expression + ") in the "
+ + "project (" + projectId + ")." );
}
}
}
+ else
+ {
+ // the expression used to define the version of this artifact may be inherited
+ // TODO needs a better error message, what pom? what dependency?
+ throw new ReleaseFailureException( "The version could not be updated: " + rawVersion );
+ }
}
- else
- {
- throw new ReleaseFailureException(
- "Version '" + version + "' for " + tagName + " '" + key + "' was not mapped" );
- }
+ }
+ else
+ {
+ // different/previous version not related to current release
}
}
+ else if ( resolvedSnapshotVersion != null )
+ {
+ logInfo( result, " Updating " + artifactId + " to " + resolvedSnapshotVersion );
+
+ rewriteValue( versionElement, resolvedSnapshotVersion );
+ }
+ else
+ {
+ // artifact not related to current release
+ }
}
- catch ( JDOMException e )
+ }
+
+ private String interpolate( String value, Model model )
+ throws ReleaseExecutionException
+ {
+ if ( value != null && value.contains( "${" ) )
{
- throw new ReleaseExecutionException( "Unable to locate " + tagName + " to process in document", e );
+ StringSearchInterpolator interpolator = new StringSearchInterpolator();
+ List<String> pomPrefixes = Arrays.asList( "pom.", "project." );
+ interpolator.addValueSource( new PrefixedObjectValueSource( pomPrefixes, model, false ) );
+ interpolator.addValueSource( new MapBasedValueSource( model.getProperties() ) );
+ interpolator.addValueSource( new ObjectBasedValueSource( model ) );
+ try
+ {
+ value = interpolator.interpolate( value, new PrefixAwareRecursionInterceptor( pomPrefixes ) );
+ }
+ catch ( InterpolationException e )
+ {
+ throw new ReleaseExecutionException(
+ "Failed to interpolate " + value + " for project " + model.getId(),
+ e );
+ }
}
+ return value;
}
private void writePom( File pomFile, Document document, ReleaseDescriptor releaseDescriptor, String modelVersion,
Modified: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractEditModeRewritingReleasePhaseTestCase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractEditModeRewritingReleasePhaseTestCase.java?rev=1179704&r1=1179703&r2=1179704&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractEditModeRewritingReleasePhaseTestCase.java (original)
+++ maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractEditModeRewritingReleasePhaseTestCase.java Thu Oct 6 16:49:14 2011
@@ -26,6 +26,7 @@ import org.apache.maven.scm.manager.ScmM
import org.apache.maven.scm.provider.ScmProvider;
import org.apache.maven.scm.provider.ScmProviderStub;
import org.apache.maven.shared.release.ReleaseExecutionException;
+import org.apache.maven.shared.release.ReleaseFailureException;
import org.apache.maven.shared.release.config.ReleaseDescriptor;
import org.apache.maven.shared.release.env.DefaultReleaseEnvironment;
import org.apache.maven.shared.release.scm.DefaultScmRepositoryConfigurator;
@@ -115,4 +116,63 @@ public abstract class AbstractEditModeRe
assertEquals( "Check cause", ScmException.class, e.getCause().getClass() );
}
}
+
+ public void testRewritePomPluginDependencies()
+ throws Exception
+ {
+ List<MavenProject> reactorProjects = createReactorProjects( "internal-snapshot-plugin-deps" );
+ ReleaseDescriptor config = createDefaultConfiguration( reactorProjects );
+
+ phase.execute( config, new DefaultReleaseEnvironment(), reactorProjects );
+
+ assertTrue( comparePomFiles( reactorProjects ) );
+ }
+
+ public void testRewritePomUnmappedPluginDependencies()
+ throws Exception
+ {
+ List<MavenProject> reactorProjects = createReactorProjects( "internal-snapshot-plugin-deps" );
+ ReleaseDescriptor config = createUnmappedConfiguration( reactorProjects );
+
+ try
+ {
+ phase.execute( config, new DefaultReleaseEnvironment(), reactorProjects );
+
+ fail( "Should have thrown an exception" );
+ }
+ catch ( ReleaseFailureException e )
+ {
+ assertTrue( true );
+ }
+ }
+
+ public void testRewritePomProfile()
+ throws Exception
+ {
+ List<MavenProject> reactorProjects = createReactorProjects( "internal-snapshot-profile" );
+ ReleaseDescriptor config = createDefaultConfiguration( reactorProjects );
+
+ phase.execute( config, new DefaultReleaseEnvironment(), reactorProjects );
+
+ assertTrue( comparePomFiles( reactorProjects ) );
+ }
+
+ public void testRewritePomUnmappedProfile()
+ throws Exception
+ {
+ List<MavenProject> reactorProjects = createReactorProjects( "internal-snapshot-profile" );
+ ReleaseDescriptor config = createUnmappedConfiguration( reactorProjects );
+
+ try
+ {
+ phase.execute( config, new DefaultReleaseEnvironment(), reactorProjects );
+
+ fail( "Should have thrown an exception" );
+ }
+ catch ( ReleaseFailureException e )
+ {
+ assertTrue( true );
+ }
+ }
+
}
Modified: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java?rev=1179704&r1=1179703&r2=1179704&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java (original)
+++ maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractReleaseTestCase.java Thu Oct 6 16:49:14 2011
@@ -314,7 +314,7 @@ public abstract class AbstractReleaseTes
String actual = read( actualFile, normalizeLineEndings );
String expected = read( expectedFile, normalizeLineEndings );
expected = expected.replaceAll( "\\$\\{remoterepo\\}", getRemoteRepositoryURL() );
- StringBuilder sb = new StringBuilder( "Check the transformed POM" );
+ StringBuilder sb = new StringBuilder( "Check the transformed POM " + actualFile );
sb.append( SystemUtils.LINE_SEPARATOR );
sb.append( "expected : " ).append( SystemUtils.LINE_SEPARATOR );
sb.append( expected ).append( SystemUtils.LINE_SEPARATOR );
Modified: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java?rev=1179704&r1=1179703&r2=1179704&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java (original)
+++ maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractRewritingReleasePhaseTestCase.java Thu Oct 6 16:49:14 2011
@@ -573,7 +573,7 @@ public abstract class AbstractRewritingR
assertTrue( true );
}
- private ReleaseDescriptor createUnmappedConfiguration( List<MavenProject> reactorProjects )
+ protected ReleaseDescriptor createUnmappedConfiguration( List<MavenProject> reactorProjects )
throws Exception
{
ReleaseDescriptor config = createDescriptorFromProjects( reactorProjects );
Modified: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhaseTest.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhaseTest.java?rev=1179704&r1=1179703&r2=1179704&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhaseTest.java (original)
+++ maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhaseTest.java Thu Oct 6 16:49:14 2011
@@ -316,8 +316,28 @@ public class RewritePomsForDevelopmentPh
public void testRewritePomWithParentAndProperties()
throws Exception
{
- List<MavenProject> reactorProjects = createReactorProjects( "pom-with-parent-and-properties" );
+ performTestRewritePomWithParentAndProperties( "pom-with-parent-and-properties" );
+ }
+
+ //MRELEASE-454
+ public void testRewritePomWithParentAndPropertiesInDependencyManagement()
+ throws Exception
+ {
+ performTestRewritePomWithParentAndProperties( "pom-with-parent-and-properties-in-dependency-management" );
+ }
+ //MRELEASE-454
+ public void testRewritePomWithParentAndPropertiesInDependencyManagementImport()
+ throws Exception
+ {
+ performTestRewritePomWithParentAndProperties( "pom-with-parent-and-properties-in-dependency-management-import" );
+ }
+
+ private void performTestRewritePomWithParentAndProperties( String path )
+ throws Exception
+ {
+ List<MavenProject> reactorProjects = createReactorProjects( path );
+
ReleaseDescriptor config = createDescriptorFromProjects( reactorProjects );
config.mapReleaseVersion( "groupId:artifactId", RELEASE_VERSION );
config.mapDevelopmentVersion( "groupId:artifactId", NEXT_VERSION );
Modified: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java?rev=1179704&r1=1179703&r2=1179704&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java (original)
+++ maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java Thu Oct 6 16:49:14 2011
@@ -274,7 +274,6 @@ public class RewritePomsForReleasePhaseT
public void testRewriteInterpolatedVersionsDifferentVersion()
throws Exception
{
-
List<MavenProject> reactorProjects = createReactorProjects( "interpolated-versions" );
ReleaseDescriptor config = createDescriptorFromProjects( reactorProjects );
@@ -417,4 +416,29 @@ public class RewritePomsForReleasePhaseT
assertTrue( comparePomFiles( reactorProjects ) );
}
+
+ // MRELEASE-454
+ public void testRewritePomWithImportedDependencyManagementInReactor()
+ throws Exception
+ {
+ List<MavenProject> reactorProjects = createReactorProjects( "imported-dependency-management-in-reactor" );
+ ReleaseDescriptor config = createMappedConfiguration( reactorProjects );
+
+ phase.execute( config, new DefaultReleaseEnvironment(), reactorProjects );
+
+ assertTrue( comparePomFiles( reactorProjects ) );
+ }
+
+ public void testRewritePomWithDifferentVersionsAcrossModules()
+ throws Exception
+ {
+ List<MavenProject> reactorProjects = createReactorProjects( "modules-with-different-versions" );
+ ReleaseDescriptor config = createMappedConfiguration( reactorProjects );
+ config.mapReleaseVersion( "groupId:subproject2", ALTERNATIVE_NEXT_VERSION );
+
+ phase.execute( config, new DefaultReleaseEnvironment(), reactorProjects );
+
+ assertTrue( comparePomFiles( reactorProjects ) );
+ }
+
}
Propchange: maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/
------------------------------------------------------------------------------
bugtraq:number = true
Propchange: maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/1.0-SNAPSHOT/
------------------------------------------------------------------------------
bugtraq:number = true
Added: maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/1.0-SNAPSHOT/subproject1-1.0-SNAPSHOT.jar
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/1.0-SNAPSHOT/subproject1-1.0-SNAPSHOT.jar?rev=1179704&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/1.0-SNAPSHOT/subproject1-1.0-SNAPSHOT.jar (added)
+++ maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/1.0-SNAPSHOT/subproject1-1.0-SNAPSHOT.jar Thu Oct 6 16:49:14 2011
@@ -0,0 +1 @@
+dummy
Added: maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/1.0-SNAPSHOT/subproject1-1.0-SNAPSHOT.pom
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/1.0-SNAPSHOT/subproject1-1.0-SNAPSHOT.pom?rev=1179704&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/1.0-SNAPSHOT/subproject1-1.0-SNAPSHOT.pom (added)
+++ maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/1.0-SNAPSHOT/subproject1-1.0-SNAPSHOT.pom Thu Oct 6 16:49:14 2011
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>groupId</groupId>
+ <artifactId>subproject1</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>external</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+</project>
Propchange: maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/2.0/
------------------------------------------------------------------------------
bugtraq:number = true
Added: maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/2.0/subproject1-2.0.jar
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/2.0/subproject1-2.0.jar?rev=1179704&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/2.0/subproject1-2.0.jar (added)
+++ maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/2.0/subproject1-2.0.jar Thu Oct 6 16:49:14 2011
@@ -0,0 +1 @@
+dummy
Added: maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/2.0/subproject1-2.0.pom
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/2.0/subproject1-2.0.pom?rev=1179704&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/2.0/subproject1-2.0.pom (added)
+++ maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/subproject1/2.0/subproject1-2.0.pom Thu Oct 6 16:49:14 2011
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>groupId</groupId>
+ <artifactId>subproject1</artifactId>
+ <version>2.0</version>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>external</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+</project>
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/
------------------------------------------------------------------------------
bugtraq:number = true
Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/expected-pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/expected-pom.xml?rev=1179704&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/expected-pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/expected-pom.xml Thu Oct 6 16:49:14 2011
@@ -0,0 +1,29 @@
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>subproject1</module>
+ <module>subproject2</module>
+ <module>subproject3</module>
+ </modules>
+</project>
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/expected-pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/expected-pom.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/pom.xml?rev=1179704&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/pom.xml Thu Oct 6 16:49:14 2011
@@ -0,0 +1,29 @@
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>subproject1</module>
+ <module>subproject2</module>
+ <module>subproject3</module>
+ </modules>
+</project>
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/pom.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject1/
------------------------------------------------------------------------------
bugtraq:number = true
Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject1/expected-pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject1/expected-pom.xml?rev=1179704&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject1/expected-pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject1/expected-pom.xml Thu Oct 6 16:49:14 2011
@@ -0,0 +1,43 @@
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.1-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>subproject1</artifactId>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>external</groupId>
+ <artifactId>plugin-artifactId</artifactId>
+ <version>1.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>external</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject1/expected-pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject1/expected-pom.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject1/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject1/pom.xml?rev=1179704&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject1/pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject1/pom.xml Thu Oct 6 16:49:14 2011
@@ -0,0 +1,43 @@
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <artifactId>subproject1</artifactId>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>external</groupId>
+ <artifactId>plugin-artifactId</artifactId>
+ <version>1.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>external</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject1/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject1/pom.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject2/
------------------------------------------------------------------------------
bugtraq:number = true
Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject2/expected-pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject2/expected-pom.xml?rev=1179704&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject2/expected-pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject2/expected-pom.xml Thu Oct 6 16:49:14 2011
@@ -0,0 +1,43 @@
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.1-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>subproject2</artifactId>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>external</groupId>
+ <artifactId>plugin-artifactId</artifactId>
+ <version>1.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>subproject1</artifactId>
+ <version>1.1-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject2/expected-pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject2/expected-pom.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject2/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject2/pom.xml?rev=1179704&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject2/pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject2/pom.xml Thu Oct 6 16:49:14 2011
@@ -0,0 +1,43 @@
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <artifactId>subproject2</artifactId>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>external</groupId>
+ <artifactId>plugin-artifactId</artifactId>
+ <version>1.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>subproject1</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject2/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject2/pom.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject3/
------------------------------------------------------------------------------
bugtraq:number = true
Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject3/expected-pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject3/expected-pom.xml?rev=1179704&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject3/expected-pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject3/expected-pom.xml Thu Oct 6 16:49:14 2011
@@ -0,0 +1,49 @@
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.1-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>subproject3</artifactId>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>external</groupId>
+ <artifactId>plugin-artifactId</artifactId>
+ <version>1.0</version>
+ <dependencies>
+ <dependency>
+ <!-- Test different release version remains the same -->
+ <groupId>groupId</groupId>
+ <artifactId>subproject1</artifactId>
+ <version>0.5</version>
+ </dependency>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>subproject2</artifactId>
+ <version>1.1-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject3/expected-pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject3/expected-pom.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject3/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject3/pom.xml?rev=1179704&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject3/pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject3/pom.xml Thu Oct 6 16:49:14 2011
@@ -0,0 +1,49 @@
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <artifactId>subproject3</artifactId>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>external</groupId>
+ <artifactId>plugin-artifactId</artifactId>
+ <version>1.0</version>
+ <dependencies>
+ <dependency>
+ <!-- Test different release version remains the same -->
+ <groupId>groupId</groupId>
+ <artifactId>subproject1</artifactId>
+ <version>0.5</version>
+ </dependency>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>subproject2</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject3/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-plugin-deps/subproject3/pom.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/
------------------------------------------------------------------------------
bugtraq:number = true
Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/expected-pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/expected-pom.xml?rev=1179704&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/expected-pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/expected-pom.xml Thu Oct 6 16:49:14 2011
@@ -0,0 +1,49 @@
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>subproject1</module>
+ <module>subproject2</module>
+ <module>subproject3</module>
+ </modules>
+
+ <profiles>
+ <profile>
+ <id>it</id>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>subproject1</artifactId>
+ <version>1.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>groupId</groupId>
+ <artifactId>subproject2</artifactId>
+ <version>0.5</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ </profile>
+ </profiles>
+</project>
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/expected-pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-development/internal-snapshot-profile/expected-pom.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision