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/03/03 23:16:38 UTC
[maven-studies] branch maven-buildinfo-plugin updated: generate
minimal buildinfo from reference artifacts
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 83f7701 generate minimal buildinfo from reference artifacts
83f7701 is described below
commit 83f7701a7380f0b073de89ce5f13b859444fa0e1
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Wed Mar 4 00:16:34 2020 +0100
generate minimal buildinfo from reference artifacts
---
.../maven/plugins/buildinfo/BuildInfoWriter.java | 24 ++++++++++++++--------
.../apache/maven/plugins/buildinfo/SaveMojo.java | 18 +++++++++++-----
2 files changed, 28 insertions(+), 14 deletions(-)
diff --git a/src/main/java/org/apache/maven/plugins/buildinfo/BuildInfoWriter.java b/src/main/java/org/apache/maven/plugins/buildinfo/BuildInfoWriter.java
index 33ec2e9..61b45d3 100644
--- a/src/main/java/org/apache/maven/plugins/buildinfo/BuildInfoWriter.java
+++ b/src/main/java/org/apache/maven/plugins/buildinfo/BuildInfoWriter.java
@@ -21,8 +21,8 @@ package org.apache.maven.plugins.buildinfo;
import java.io.File;
import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.HashMap;
+import java.util.Map;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.plugin.MojoExecutionException;
@@ -37,7 +37,7 @@ public class BuildInfoWriter
private final Log log;
private final PrintWriter p;
private final boolean mono;
- private final List<Artifact> artifacts = new ArrayList<>();
+ private final Map<Artifact, String> artifacts = new HashMap<>();
private int projectCount = -1;
BuildInfoWriter( Log log, PrintWriter p, boolean mono )
@@ -151,15 +151,21 @@ public class BuildInfoWriter
private void printArtifact( String prefix, int i, Artifact artifact )
throws MojoExecutionException
{
- File file = artifact.getFile();
+ prefix = prefix + i;
+ printFile( prefix, artifact.getFile() );
+ artifacts.put( artifact, prefix );
+ }
+
+ public void printFile( String prefix, File file )
+ throws MojoExecutionException
+ {
p.println();
- p.println( prefix + i + ".filename=" + file.getName() );
- p.println( prefix + i + ".length=" + file.length() );
- p.println( prefix + i + ".checksums.sha512=" + DigestHelper.calculateSha512( file ) );
- artifacts.add( artifact );
+ p.println( prefix + ".filename=" + file.getName() );
+ p.println( prefix + ".length=" + file.length() );
+ p.println( prefix + ".checksums.sha512=" + DigestHelper.calculateSha512( file ) );
}
- public List<Artifact> getArtifacts()
+ public Map<Artifact, String> getArtifacts()
{
return artifacts;
}
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 c6838ec..4a36903 100644
--- a/src/main/java/org/apache/maven/plugins/buildinfo/SaveMojo.java
+++ b/src/main/java/org/apache/maven/plugins/buildinfo/SaveMojo.java
@@ -51,6 +51,7 @@ import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Collections;
import java.util.List;
+import java.util.Map;
/**
* Save buildinfo file, as specified in
@@ -154,7 +155,7 @@ public class SaveMojo
}
}
- List<Artifact> artifacts = generateBuildinfo( mono );
+ Map<Artifact, String> artifacts = generateBuildinfo( mono );
getLog().info( "Saved " + ( mono ? "" : "aggregate " ) + "info on build to " + buildinfoFile );
if ( attach )
@@ -173,7 +174,7 @@ public class SaveMojo
}
}
- private List<Artifact> generateBuildinfo( boolean mono )
+ private Map<Artifact, String> generateBuildinfo( boolean mono )
throws MojoExecutionException
{
MavenProject root = mono ? project : getExecutionRoot();
@@ -219,7 +220,7 @@ public class SaveMojo
return null;
}
- private void checkAgainstReference( boolean mono, List<Artifact> artifacts )
+ private void checkAgainstReference( boolean mono, Map<Artifact, String> artifacts )
throws MojoExecutionException
{
RemoteRepository repo = createReferenceRepo();
@@ -230,7 +231,7 @@ public class SaveMojo
if ( referenceBuildinfo == null )
{
// download reference artifacts
- for ( Artifact artifact : artifacts )
+ for ( Artifact artifact : artifacts.keySet() )
{
try
{
@@ -250,7 +251,14 @@ public class SaveMojo
{
BuildInfoWriter bi = new BuildInfoWriter( getLog(), p, mono );
- // TODO artifact(s) fingerprints
+ for ( Map.Entry<Artifact, String> entry : artifacts.entrySet() )
+ {
+ Artifact artifact = entry.getKey();
+ String prefix = entry.getValue();
+ bi.printFile( prefix, new File( referenceDir, artifact.getFile().getName() ) );
+ }
+
+ getLog().info( "Minimal buildinfo generated from downloaded artifacts: " + referenceBuildinfo );
}
catch ( IOException e )
{