This is an automated email from the ASF dual-hosted git repository. rfscholte pushed a commit to branch mavenproject2model in repository https://gitbox.apache.org/repos/asf/maven-release.git
commit caf9c1bd4aa5e0b587a1ca4e4bb173813633d4c6 Author: rfscholte <rfscho...@apache.org> AuthorDate: Sat Apr 7 16:53:57 2018 +0200 Store reactor pom locations in ReleaseDescriptor --- .../shared/release/config/ReleaseDescriptor.java | 2 ++ .../release/config/ReleaseDescriptorBuilder.java | 5 ++++ .../src/main/mdo/release-descriptor.mdo | 33 ++++++++++++---------- .../maven/plugins/release/AbstractReleaseMojo.java | 2 ++ .../plugins/release/PerformReleaseMojoTest.java | 12 +++++++- .../plugins/release/PrepareReleaseMojoTest.java | 18 ++++++++++++ .../plugins/release/StageReleaseMojoTest.java | 5 ++++ 7 files changed, 61 insertions(+), 16 deletions(-) diff --git a/maven-release-api/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptor.java b/maven-release-api/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptor.java index 042a347..052b1e4 100644 --- a/maven-release-api/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptor.java +++ b/maven-release-api/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptor.java @@ -389,6 +389,8 @@ public interface ReleaseDescriptor String getProjectReleaseVersion( String key ); + String getProjectPomFile( String projectKey ); + /** * Method getOriginalScmInfo. * diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java index c2ed277..ff825c1 100644 --- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java +++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java @@ -373,6 +373,11 @@ public class ReleaseDescriptorBuilder releaseDescriptor.addOriginalVersion( projectKey, version ); } + public void addProjectPomFile( String projectKey, String pomFile ) + { + releaseDescriptor.addProjectPomFile( projectKey, pomFile ); + } + public ReleaseDescriptorBuilder addDependencyOriginalVersion( String dependencyKey, String version ) { releaseDescriptor.addDependencyOriginalVersion( dependencyKey, version ); diff --git a/maven-release-manager/src/main/mdo/release-descriptor.mdo b/maven-release-manager/src/main/mdo/release-descriptor.mdo index 68e7a68..fbf4932 100644 --- a/maven-release-manager/src/main/mdo/release-descriptor.mdo +++ b/maven-release-manager/src/main/mdo/release-descriptor.mdo @@ -217,18 +217,6 @@ If set to true, this will set the property "performRelease" to true. </description> </field> -<!-- <field> --> -<!-- <name>originalScmInfo</name> --> -<!-- <version>1.0.0+</version> --> -<!-- <type>Map</type> --> -<!-- <association> --> -<!-- <type>String</type> --> -<!-- <multiplicity>*</multiplicity> --> -<!-- </association> --> -<!-- <description> --> -<!-- A map of projects to original SCM information. --> -<!-- </description> --> -<!-- </field> --> <field> <name>workingDirectory</name> <version>1.0.0+</version> @@ -536,14 +524,19 @@ <version>2.1.0+</version> <code><![CDATA[ /** - * Field resolvedSnapshotDependencies. + * Field projectVersions */ - private java.util.Map<String, ReleaseStageVersions> resolvedSnapshotDependencies = new java.util.HashMap<>(); + private java.util.Map<String, ReleaseStageVersions> projectVersions = new java.util.HashMap<>(); /** * Field projectVersions */ - private java.util.Map<String, ReleaseStageVersions> projectVersions = new java.util.HashMap<>(); + private java.util.Map<String, String> projectPomFiles = new java.util.HashMap<>(); + + /** + * Field resolvedSnapshotDependencies. + */ + private java.util.Map<String, ReleaseStageVersions> resolvedSnapshotDependencies = new java.util.HashMap<>(); /** * Field originalScmInfo. @@ -713,6 +706,16 @@ } return value; } + + public void addProjectPomFile( String projectKey, String relativePath ) + { + projectPomFiles.put( projectKey, relativePath ); + } + + public String getProjectPomFile( String projectKey ) + { + return projectPomFiles.get( projectKey ); + } @Override public boolean equals( Object obj ) diff --git a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java index fb46c95..66c8c7c 100644 --- a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java +++ b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java @@ -183,6 +183,8 @@ public abstract class AbstractReleaseMojo { String versionlessKey = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() ); descriptor.putOriginalVersion( versionlessKey, project.getVersion() ); + descriptor.addProjectPomFile( versionlessKey, + workingDirectory.relativize( project.getFile().toPath() ).toString() ); } List<String> profileIds = session.getRequest().getActiveProfiles(); diff --git a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PerformReleaseMojoTest.java b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PerformReleaseMojoTest.java index c423c40..786d7f0 100644 --- a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PerformReleaseMojoTest.java +++ b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PerformReleaseMojoTest.java @@ -118,7 +118,12 @@ public class PerformReleaseMojoTest (PerformReleaseMojo) lookupMojo( "perform", new File( testFileDirectory, "perform-without-site.xml" ) ); mojo.setBasedir( testFileDirectory ); mojo.setPomFileName( "pom.xml" ); - + + for ( MavenProject reactorProject : mojo.getReactorProjects() ) + { + reactorProject.setFile( new File( workingDirectory, "pom.xml" ) ); + } + MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" ); setVariableValueToObject( mojo, "session", newMavenSession( project ) ); @@ -151,6 +156,11 @@ public class PerformReleaseMojoTest mojo.setBasedir( workingDirectory ); mojo.setPomFileName( fileName ); + for ( MavenProject reactorProject : mojo.getReactorProjects() ) + { + reactorProject.setFile( new File( workingDirectory, "pom.xml" ) ); + } + MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" ); DistributionManagement distributionManagement = new DistributionManagement(); distributionManagement.setSite( new Site() ); diff --git a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java index 8c1b397..f5ab372 100644 --- a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java +++ b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java @@ -71,6 +71,12 @@ public class PrepareReleaseMojoTest setDefaults( mojo ); mojo.setBasedir( testFile.getParentFile() ); mojo.setPomFileName( "pom.xml" ); + + for ( MavenProject reactorProject : mojo.getReactorProjects() ) + { + reactorProject.setFile( testFile ); + } + mojo.session = new MavenSession( null, null, null, null, null, null, null, null, null ) { public Properties getExecutionProperties() @@ -116,6 +122,12 @@ public class PrepareReleaseMojoTest setDefaults( mojo ); mojo.setBasedir( testFile.getParentFile() ); mojo.setPomFileName( "pom.xml" ); + + for ( MavenProject reactorProject : mojo.getReactorProjects() ) + { + reactorProject.setFile( testFile ); + } + mojo.session = new MavenSession( null, null, null, null, null, null, null, null, null ) { public Properties getExecutionProperties(){ @@ -158,6 +170,12 @@ public class PrepareReleaseMojoTest setDefaults( mojo ); mojo.setBasedir( testFile.getParentFile() ); mojo.setPomFileName( "pom.xml" ); + + for ( MavenProject reactorProject : mojo.getReactorProjects() ) + { + reactorProject.setFile( testFile ); + } + mojo.session = new MavenSession( null, null, null, null, null, null, null, null, null ) { public Properties getExecutionProperties(){ diff --git a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/StageReleaseMojoTest.java b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/StageReleaseMojoTest.java index a4c6ebb..15f424e 100644 --- a/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/StageReleaseMojoTest.java +++ b/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/StageReleaseMojoTest.java @@ -95,6 +95,11 @@ public class StageReleaseMojoTest mojo.setBasedir( workingDirectory ); mojo.setPomFileName( "pom.xml" ); + for ( MavenProject reactorProject : mojo.getReactorProjects() ) + { + reactorProject.setFile( new File( workingDirectory, "pom.xml" ) ); + } + MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" ); DistributionManagement distributionManagement = new DistributionManagement(); distributionManagement.setSite( new Site() ); -- To stop receiving notification emails like this one, please contact rfscho...@apache.org.