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 2020/01/05 16:09:33 UTC
[maven-studies] 01/02: add module index for aggregate buildinfo to
avoid key collision
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
commit 6ff96cc3722e0cf93ef2ee520c755600178088e6
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Sun Jan 5 17:04:41 2020 +0100
add module index for aggregate buildinfo to avoid key collision
---
src/it/multi/verify.groovy | 7 +++---
.../apache/maven/plugins/buildinfo/SaveMojo.java | 29 +++++++++++++---------
2 files changed, 21 insertions(+), 15 deletions(-)
diff --git a/src/it/multi/verify.groovy b/src/it/multi/verify.groovy
index 1dd1559..b8faa3c 100644
--- a/src/it/multi/verify.groovy
+++ b/src/it/multi/verify.groovy
@@ -47,9 +47,10 @@ assert buildinfo.contains( "outputs.0.filename=multi-modB-1.0-SNAPSHOT.jar" )
buildinfo = aggregate.text
assert buildinfo.contains( "mvn.rebuild-args=-DskipTests verify" )
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" )
-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" )
+assert buildinfo.contains( "outputs.1.coordinates=org.apache.maven.plugins.it:multi-modA" )
+assert buildinfo.contains( "outputs.1.0.filename=multi-modA-1.0-SNAPSHOT.jar" )
+assert buildinfo.contains( "outputs.2.coordinates=org.apache.maven.plugins.it:multi-modB" )
+assert buildinfo.contains( "outputs.2.0.filename=multi-modB-1.0-SNAPSHOT.jar" )
// check existence of buildinfos in local repository
File local = new File( basedir, "../../local-repo/org/apache/maven/plugins/it/multi/1.0-SNAPSHOT/multi-1.0-SNAPSHOT.buildinfo")
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 41da269..0c19827 100644
--- a/src/main/java/org/apache/maven/plugins/buildinfo/SaveMojo.java
+++ b/src/main/java/org/apache/maven/plugins/buildinfo/SaveMojo.java
@@ -146,7 +146,7 @@ public class SaveMojo
{
p.println();
p.println( "# output" );
- printOutput( p, project );
+ printOutput( p, project, -1 );
}
getLog().info( "Saved info on build to " + buildinfoFile );
@@ -225,13 +225,20 @@ public class SaveMojo
}
}
- private void printOutput( PrintWriter p, MavenProject project )
+ private void printOutput( PrintWriter p, MavenProject project, int projectIndex )
throws MojoExecutionException
{
+ String prefix = "outputs.";
+ if ( projectIndex >= 0 )
+ {
+ // aggregated buildinfo output
+ prefix += projectIndex + ".";
+ p.println( prefix + "coordinates=" + project.getGroupId() + ':' + project.getArtifactId() );
+ }
int n = 0;
if ( project.getArtifact().getFile() != null )
{
- printArtifact( p, n++, project.getArtifact() );
+ printArtifact( p, prefix, n++, project.getArtifact() );
}
for ( Artifact attached : project.getAttachedArtifacts() )
@@ -251,17 +258,17 @@ public class SaveMojo
// TEMPORARY ignore javadoc, waiting for MJAVADOC-627 in m-javadoc-p 3.2.0
continue;
}
- printArtifact( p, n++, attached );
+ printArtifact( p, prefix, n++, attached );
}
}
- private void printArtifact( PrintWriter p, int i, Artifact artifact )
+ private void printArtifact( PrintWriter p, String prefix, int i, Artifact artifact )
throws MojoExecutionException
{
File file = artifact.getFile();
- p.println( "outputs." + i + ".filename=" + file.getName() );
- p.println( "outputs." + i + ".length=" + file.length() );
- p.println( "outputs." + i + ".checksums.sha512=" + DigestHelper.calculateSha512( file ) );
+ p.println( prefix + i + ".filename=" + file.getName() );
+ p.println( prefix + i + ".length=" + file.length() );
+ p.println( prefix + i + ".checksums.sha512=" + DigestHelper.calculateSha512( file ) );
}
private MavenProject getExecutionRoot()
@@ -289,15 +296,13 @@ public class SaveMojo
printRootInformation( p, root );
p.println( "mvn.build-root=" + root.getGroupId() + ':' + root.getArtifactId() + ':' + root.getVersion() );
- int n = 1;
+ int n = 0;
for ( MavenProject project : reactorProjects )
{
if ( project.getArtifact() != null )
{
p.println();
- p.println( "# " + n++ + '/' + reactorProjects.size() + ' ' + project.getGroupId() + ':'
- + project.getArtifactId() );
- printOutput( p, project );
+ printOutput( p, project, n++ );
}
}