This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-artifact-plugin.git


The following commit(s) were added to refs/heads/master by this push:
     new 0e9f9e4  [MARTIFACT-33] store groupId in buildinfo to compare
0e9f9e4 is described below

commit 0e9f9e448b1a8333584bbff95ac7f0dab92ec771
Author: HervĂ© Boutemy <[email protected]>
AuthorDate: Mon Apr 10 00:48:37 2023 +0200

    [MARTIFACT-33] store groupId in buildinfo to compare
---
 .../maven/plugins/artifact/buildinfo/BuildInfoWriter.java | 15 ++++++++++-----
 .../maven/plugins/artifact/buildinfo/CompareMojo.java     | 12 ++++++++----
 .../artifact/buildinfo/ReferenceBuildinfoUtil.java        |  2 +-
 3 files changed, 19 insertions(+), 10 deletions(-)

diff --git 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/BuildInfoWriter.java
 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/BuildInfoWriter.java
index 5fe3348..6c09395 100644
--- 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/BuildInfoWriter.java
+++ 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/BuildInfoWriter.java
@@ -174,7 +174,11 @@ class BuildInfoWriter {
         pomArtifact.setFile(project.getFile());
 
         artifacts.put(pomArtifact, prefix + n);
-        printFile(prefix + n++, project.getFile(), project.getArtifactId() + 
'-' + project.getVersion() + ".pom");
+        printFile(
+                prefix + n++,
+                pomArtifact.getGroupId(),
+                project.getFile(),
+                project.getArtifactId() + '-' + project.getVersion() + ".pom");
 
         if (project.getArtifact() == null) {
             return;
@@ -218,7 +222,7 @@ class BuildInfoWriter {
             return;
         }
 
-        printFile(prefix, artifact.getFile(), getArtifactFilename(artifact));
+        printFile(prefix, artifact.getGroupId(), artifact.getFile(), 
getArtifactFilename(artifact));
         artifacts.put(artifact, prefix);
     }
 
@@ -241,12 +245,13 @@ class BuildInfoWriter {
         return path.toString();
     }
 
-    void printFile(String prefix, File file) throws MojoExecutionException {
-        printFile(prefix, file, file.getName());
+    void printFile(String prefix, String groupId, File file) throws 
MojoExecutionException {
+        printFile(prefix, groupId, file, file.getName());
     }
 
-    private void printFile(String prefix, File file, String filename) throws 
MojoExecutionException {
+    private void printFile(String prefix, String groupId, File file, String 
filename) throws MojoExecutionException {
         p.println();
+        p.println(prefix + ".groupId=" + groupId);
         p.println(prefix + ".filename=" + filename);
         p.println(prefix + ".length=" + file.length());
         try (InputStream is = Files.newInputStream(file.toPath())) {
diff --git 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/CompareMojo.java 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/CompareMojo.java
index 03df3ad..156e2d0 100644
--- a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/CompareMojo.java
+++ b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/CompareMojo.java
@@ -237,9 +237,10 @@ public class CompareMojo extends AbstractBuildinfoMojo {
         String actualLength = (String) actual.remove(prefix + ".length");
         String actualSha512 = (String) actual.remove(prefix + 
".checksums.sha512");
 
-        String referencePrefix = findPrefix(reference, actualFilename);
+        String referencePrefix = findPrefix(reference, artifact.getGroupId(), 
actualFilename);
         String referenceLength = (String) reference.remove(referencePrefix + 
".length");
         String referenceSha512 = (String) reference.remove(referencePrefix + 
".checksums.sha512");
+        reference.remove(referencePrefix + ".groupId");
 
         String issue = null;
         if (!actualLength.equals(referenceLength)) {
@@ -282,11 +283,14 @@ public class CompareMojo extends AbstractBuildinfoMojo {
         return path.substring(length + 1);
     }
 
-    private static String findPrefix(Properties reference, String 
actualFilename) {
+    private static String findPrefix(Properties reference, String 
actualGroupId, String actualFilename) {
         for (String name : reference.stringPropertyNames()) {
             if (name.endsWith(".filename") && 
actualFilename.equals(reference.getProperty(name))) {
-                reference.remove(name);
-                return name.substring(0, name.length() - ".filename".length());
+                String prefix = name.substring(0, name.length() - 
".filename".length());
+                if (actualGroupId.equals(reference.getProperty(prefix + 
".groupId"))) {
+                    reference.remove(name);
+                    return prefix;
+                }
             }
         }
         return null;
diff --git 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/ReferenceBuildinfoUtil.java
 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/ReferenceBuildinfoUtil.java
index 37aa2a0..1f8776a 100644
--- 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/ReferenceBuildinfoUtil.java
+++ 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/ReferenceBuildinfoUtil.java
@@ -193,7 +193,7 @@ class ReferenceBuildinfoUtil {
                     String prefix = entry.getValue();
                     File referenceFile = referenceArtifacts.get(artifact);
                     if (referenceFile != null) {
-                        bi.printFile(prefix, referenceFile);
+                        bi.printFile(prefix, artifact.getGroupId(), 
referenceFile);
                     }
                 }
 

Reply via email to