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 );