You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2019/12/08 15:55:48 UTC
[maven-studies] branch maven-buildinfo-plugin updated: implement
mvn.build-root for modules
This is an automated email from the ASF dual-hosted git repository.
hboutemy pushed a commit to branch maven-buildinfo-plugin
in repository https://gitbox.apache.org/repos/asf/maven-studies.git
The following commit(s) were added to refs/heads/maven-buildinfo-plugin by this push:
new 6651c9f implement mvn.build-root for modules
6651c9f is described below
commit 6651c9f39c9ff77609c4003ced509ca8c923d273
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Sun Dec 8 16:55:44 2019 +0100
implement mvn.build-root for modules
---
src/it/mono/verify.groovy | 1 +
src/it/multi/verify.groovy | 11 ++++
.../apache/maven/plugins/buildinfo/SaveMojo.java | 59 +++++++++++++++-------
3 files changed, 54 insertions(+), 17 deletions(-)
diff --git a/src/it/mono/verify.groovy b/src/it/mono/verify.groovy
index 1f03264..6eedf1a 100644
--- a/src/it/mono/verify.groovy
+++ b/src/it/mono/verify.groovy
@@ -28,4 +28,5 @@ assert local.isFile()
String buildinfo = buildinfoFile.text
+assert buildinfo.contains( "outputs.0.filename=mono-1.0-SNAPSHOT.jar" )
assert buildinfo.contains( "mvn.minimum.version=3.0.5" )
diff --git a/src/it/multi/verify.groovy b/src/it/multi/verify.groovy
index a240c8f..4f5d813 100644
--- a/src/it/multi/verify.groovy
+++ b/src/it/multi/verify.groovy
@@ -33,3 +33,14 @@ assert modA.isFile()
File modB = new File( basedir, "../../local-repo/org/apache/maven/plugins/it/multi-modB/1.0-SNAPSHOT/multi-modB-1.0-SNAPSHOT.buildinfo")
assert modB.isFile()
+
+String buildinfo = multi.text
+assert buildinfo.contains( "mvn.rebuild-args=-DskipTests verify" )
+
+buildinfo = modA.text
+assert buildinfo.contains( "mvn.build-root=org.apache.maven.plugins.it:multi:1.0-SNAPSHOT" )
+assert buildinfo.contains( "outputs.0.filename=multi-modA-1.0-SNAPSHOT.jar" )
+
+buildinfo = modB.text
+assert buildinfo.contains( "mvn.build-root=org.apache.maven.plugins.it:multi:1.0-SNAPSHOT" )
+assert buildinfo.contains( "outputs.0.filename=multi-modB-1.0-SNAPSHOT.jar" )
diff --git a/src/main/java/org/apache/maven/plugins/buildinfo/SaveMojo.java b/src/main/java/org/apache/maven/plugins/buildinfo/SaveMojo.java
index 7cdd4b6..890431c 100644
--- a/src/main/java/org/apache/maven/plugins/buildinfo/SaveMojo.java
+++ b/src/main/java/org/apache/maven/plugins/buildinfo/SaveMojo.java
@@ -111,25 +111,38 @@ public class SaveMojo
p.println( "artifact-id=" + project.getArtifactId() );
p.println( "version=" + project.getVersion() );
p.println();
- printSourceInformation( p );
- p.println();
- p.println( "# build instructions" );
- p.println( "build-tool=mvn" );
- p.println( "# optional build setup url, as plugin parameter" );
- p.println();
- p.println( "# effective build environment information" );
- p.println( "java.version=" + System.getProperty( "java.version" ) );
- p.println( "java.vendor=" + System.getProperty( "java.vendor" ) );
- p.println( "os.name=" + System.getProperty( "os.name" ) );
- p.println();
- p.println( "# Maven rebuild instructions and effective environment" );
- p.println( "mvn.rebuild-args=" + rebuildArgs );
- p.println( "mvn.version=" + MavenVersion.createMavenVersionString() );
- if ( ( project.getPrerequisites() != null ) && ( project.getPrerequisites().getMaven() != null ) )
+ if ( project.isExecutionRoot() )
+ {
+ printSourceInformation( p );
+ p.println();
+ p.println( "# build instructions" );
+ p.println( "build-tool=mvn" );
+ p.println( "# optional build setup url, as plugin parameter" );
+ p.println();
+ p.println( "# effective build environment information" );
+ p.println( "java.version=" + System.getProperty( "java.version" ) );
+ p.println( "java.vendor=" + System.getProperty( "java.vendor" ) );
+ p.println( "os.name=" + System.getProperty( "os.name" ) );
+ p.println();
+ p.println( "# Maven rebuild instructions and effective environment" );
+ p.println( "mvn.rebuild-args=" + rebuildArgs );
+ p.println( "mvn.version=" + MavenVersion.createMavenVersionString() );
+ if ( ( project.getPrerequisites() != null ) && ( project.getPrerequisites().getMaven() != null ) )
+ {
+ // TODO wrong algorithm, should reuse algorithm written in versions-maven-plugin
+ p.println( "mvn.minimum.version=" + project.getPrerequisites().getMaven() );
+ }
+ }
+ else
{
- // TODO wrong algorithm, should reuse algorithm written in versions-maven-plugin
- p.println( "mvn.minimum.version=" + project.getPrerequisites().getMaven() );
+ // multi-module non execution root
+ p.println( "# build instructions" );
+ p.println( "build-tool=mvn" );
+ MavenProject root = getExecutionRoot();
+ p.println( "mvn.build-root=" + root.getGroupId() + ':' + root.getArtifactId() + ':'
+ + root.getVersion() );
}
+
if ( project.getArtifact() != null )
{
p.println();
@@ -191,4 +204,16 @@ public class SaveMojo
p.println( "outputs." + i + ".length=" + file.length() );
p.println( "outputs." + i + ".checksums.sha512=" + DigestHelper.calculateSha512( file ) );
}
+
+ private MavenProject getExecutionRoot()
+ {
+ for ( MavenProject p : reactorProjects )
+ {
+ if ( p.isExecutionRoot() )
+ {
+ return p;
+ }
+ }
+ return null;
+ }
}