[MARTIFACT-33] store groupId in buildinfo to compare
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 @@
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 @@
return;
}
- printFile(prefix, artifact.getFile(), getArtifactFilename(artifact));
+ printFile(prefix, artifact.getGroupId(), artifact.getFile(), getArtifactFilename(artifact));
artifacts.put(artifact, prefix);
}
@@ -241,12 +245,13 @@
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 @@
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 @@
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 @@
String prefix = entry.getValue();
File referenceFile = referenceArtifacts.get(artifact);
if (referenceFile != null) {
- bi.printFile(prefix, referenceFile);
+ bi.printFile(prefix, artifact.getGroupId(), referenceFile);
}
}