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 466a513  use repository filename instead of build result local filename
466a513 is described below

commit 466a513aabf8993d545d3e8cf4852644fde7f586
Author: Hervé Boutemy <hbout...@apache.org>
AuthorDate: Sat Mar 28 17:48:03 2020 +0100

    use repository filename instead of build result local filename
---
 .../maven/plugins/buildinfo/BuildInfoWriter.java   | 32 ++++++++++++++++++++--
 .../plugins/buildinfo/ReferenceBuildinfoUtil.java  |  6 ++--
 2 files changed, 34 insertions(+), 4 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 0942172..5e5e8fc 100644
--- a/src/main/java/org/apache/maven/plugins/buildinfo/BuildInfoWriter.java
+++ b/src/main/java/org/apache/maven/plugins/buildinfo/BuildInfoWriter.java
@@ -27,6 +27,7 @@ import java.util.Map;
 import java.util.Properties;
 
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.handler.ArtifactHandler;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
@@ -155,15 +156,42 @@ public class BuildInfoWriter
         throws MojoExecutionException
     {
         prefix = prefix + i;
-        printFile( prefix, artifact.getFile() );
+        printFile( prefix, artifact.getFile(), getArtifactFilename( artifact ) 
);
         artifacts.put( artifact, prefix );
     }
+    
+    private String getArtifactFilename( Artifact artifact )
+    {
+        StringBuilder path = new StringBuilder( 128 );
+
+        path.append( artifact.getArtifactId() ).append( '-' ).append( 
artifact.getBaseVersion() );
+
+        if ( artifact.hasClassifier() )
+        {
+            path.append( '-' ).append( artifact.getClassifier() );
+        }
+
+        ArtifactHandler artifactHandler = artifact.getArtifactHandler();
+
+        if ( artifactHandler.getExtension() != null && 
artifactHandler.getExtension().length() > 0 )
+        {
+            path.append( '.' ).append( artifactHandler.getExtension() );
+        }
+
+        return path.toString();
+    }
 
     public void printFile( String prefix, File file )
         throws MojoExecutionException
     {
+        printFile( prefix, file, file.getName() );
+    }
+
+    private void printFile( String prefix, File file, String filename )
+        throws MojoExecutionException
+    {
         p.println();
-        p.println( prefix + ".filename=" + file.getName() );
+        p.println( prefix + ".filename=" + filename );
         p.println( prefix + ".length=" + file.length() );
         p.println( prefix + ".checksums.sha512=" + 
DigestHelper.calculateSha512( file ) );
     }
diff --git 
a/src/main/java/org/apache/maven/plugins/buildinfo/ReferenceBuildinfoUtil.java 
b/src/main/java/org/apache/maven/plugins/buildinfo/ReferenceBuildinfoUtil.java
index c4dc37b..2700115 100644
--- 
a/src/main/java/org/apache/maven/plugins/buildinfo/ReferenceBuildinfoUtil.java
+++ 
b/src/main/java/org/apache/maven/plugins/buildinfo/ReferenceBuildinfoUtil.java
@@ -43,6 +43,7 @@ import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.Map;
 
 /**
@@ -86,11 +87,12 @@ public class ReferenceBuildinfoUtil
         if ( referenceBuildinfo == null )
         {
             // download reference artifacts
+            Map<Artifact, File> referenceArtifacts = new HashMap<>();
             for ( Artifact artifact : artifacts.keySet() )
             {
                 try
                 {
-                    downloadReference( repo, artifact );
+                    referenceArtifacts.put( artifact, downloadReference( repo, 
artifact ) );
                 }
                 catch ( ArtifactNotFoundException e )
                 {
@@ -110,7 +112,7 @@ public class ReferenceBuildinfoUtil
                 {
                     Artifact artifact = entry.getKey();
                     String prefix = entry.getValue();
-                    bi.printFile( prefix, getReference( artifact.getFile() ) );
+                    bi.printFile( prefix, referenceArtifacts.get( artifact ) );
                 }
 
                 log.info( "Minimal buildinfo generated from downloaded 
artifacts: " + referenceBuildinfo );

Reply via email to