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 1becb62 [MARTIFACT-33] keep reference files in groupId dir
1becb62 is described below
commit 1becb62ae429613011dad5901a38e9059632daba
Author: Hervé Boutemy <[email protected]>
AuthorDate: Sun Apr 9 23:43:29 2023 +0200
[MARTIFACT-33] keep reference files in groupId dir
---
pom.xml | 2 +-
src/it/compare-mono/verify.groovy | 4 ++--
src/it/flatten/verify.groovy | 6 +++---
.../maven/plugins/artifact/buildinfo/CompareMojo.java | 2 +-
.../artifact/buildinfo/ReferenceBuildinfoUtil.java | 17 +++++++++++++----
5 files changed, 20 insertions(+), 11 deletions(-)
diff --git a/pom.xml b/pom.xml
index c8603dd..0fad70c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
</parent>
<artifactId>maven-artifact-plugin</artifactId>
- <version>3.4.2-SNAPSHOT</version>
+ <version>3.5.0-SNAPSHOT</version>
<packaging>maven-plugin</packaging>
<name>Apache Maven Artifact Plugin</name>
diff --git a/src/it/compare-mono/verify.groovy
b/src/it/compare-mono/verify.groovy
index 89a233d..413d44b 100644
--- a/src/it/compare-mono/verify.groovy
+++ b/src/it/compare-mono/verify.groovy
@@ -31,7 +31,7 @@ assert compare.contains( "ko=1" )
assert compare.contains( 'okFiles="mono-1.0-SNAPSHOT.pom"' )
assert compare.contains( 'koFiles="mono-1.0-SNAPSHOT.jar"' )
if( File.separator == '/' ) {
- assert compare.contains( '# diffoscope
target/reference/mono-1.0-SNAPSHOT.jar target/mono-1.0-SNAPSHOT.jar' )
+ assert compare.contains( '# diffoscope
target/reference/org.apache.maven.plugins.it.compare/mono-1.0-SNAPSHOT.jar
target/mono-1.0-SNAPSHOT.jar' )
} else {
- assert compare.contains( '# diffoscope
target\\reference\\mono-1.0-SNAPSHOT.jar target\\mono-1.0-SNAPSHOT.jar' )
+ assert compare.contains( '# diffoscope
target\\reference\\org.apache.maven.plugins.it.compare\\mono-1.0-SNAPSHOT.jar
target\\mono-1.0-SNAPSHOT.jar' )
}
diff --git a/src/it/flatten/verify.groovy b/src/it/flatten/verify.groovy
index 7c3c393..1ce3451 100644
--- a/src/it/flatten/verify.groovy
+++ b/src/it/flatten/verify.groovy
@@ -21,9 +21,9 @@
String compare = new File( basedir, 'target/flatten-1.0-SNAPSHOT.buildcompare'
).text
assert compare.contains( 'okFiles="flatten-1.0-SNAPSHOT.pom
flatten-modB-1.0-SNAPSHOT.pom flatten-modA-1.0-SNAPSHOT.pom"' )
-assert new File( basedir, 'flattened-pom.xml' ).text == new File( basedir,
'target/reference/flatten-1.0-SNAPSHOT.pom' ).text
-assert new File( basedir, 'modA/flattened-pom.xml' ).text == new File(
basedir, 'target/reference/flatten-modA-1.0-SNAPSHOT.pom' ).text
-assert new File( basedir, 'modB/pom.xml' ).text == new File( basedir,
'target/reference/flatten-modB-1.0-SNAPSHOT.pom' ).text
+assert new File( basedir, 'flattened-pom.xml' ).text == new File( basedir,
'target/reference/org.apache.maven.plugins.it/flatten-1.0-SNAPSHOT.pom' ).text
+assert new File( basedir, 'modA/flattened-pom.xml' ).text == new File(
basedir,
'target/reference/org.apache.maven.plugins.it/flatten-modA-1.0-SNAPSHOT.pom'
).text
+assert new File( basedir, 'modB/pom.xml' ).text == new File( basedir,
'target/reference/org.apache.maven.plugins.it/flatten-modB-1.0-SNAPSHOT.pom'
).text
String buildinfo = new File( basedir, 'target/flatten-1.0-SNAPSHOT.buildinfo'
).text
assert buildinfo.contains( "outputs.0.0.length=" + new File( basedir,
'flattened-pom.xml' ).size() )
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 9e900b0..03df3ad 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
@@ -261,7 +261,7 @@ public class CompareMojo extends AbstractBuildinfoMojo {
File actual = a.getFile();
// notice: actual file name may have been defined in pom
// reference file name is taken from repository format
- File reference = new File(referenceDir, getRepositoryFilename(a));
+ File reference = new File(new File(referenceDir, a.getGroupId()),
getRepositoryFilename(a));
if ((actual == null) || (reference == null)) {
return "missing file for " + a.getId() + " reference = "
+ (reference == null ? "null" : relative(reference)) + "
actual = "
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 dcdb4cc..37aa2a0 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
@@ -153,7 +153,7 @@ class ReferenceBuildinfoUtil {
}
// generate buildinfo from reference artifacts
- referenceBuildinfo = getReference(buildinfoFile);
+ referenceBuildinfo = getReference(null, buildinfoFile);
try (PrintWriter p = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(new
FileOutputStream(referenceBuildinfo), StandardCharsets.UTF_8)))) {
BuildInfoWriter bi = new BuildInfoWriter(log, p, mono,
artifactHandlerManager, rtInformation);
@@ -297,7 +297,7 @@ class ReferenceBuildinfoUtil {
ArtifactResult result =
repoSystem.resolveArtifact(new
NoWorkspaceRepositorySystemSession(repoSession), request);
File resultFile = result.getArtifact().getFile();
- File destFile = getReference(resultFile);
+ File destFile = getReference(artifact.getGroupId(), resultFile);
FileUtils.copyFile(resultFile, destFile);
@@ -312,8 +312,17 @@ class ReferenceBuildinfoUtil {
}
}
- private File getReference(File file) {
- return new File(referenceDir, file.getName());
+ private File getReference(String groupId, File file) {
+ File dir;
+ if (groupId == null) {
+ dir = referenceDir;
+ } else {
+ dir = new File(referenceDir, groupId);
+ if (!dir.isDirectory()) {
+ dir.mkdir();
+ }
+ }
+ return new File(dir, file.getName());
}
private static class NoWorkspaceRepositorySystemSession extends
AbstractForwardingRepositorySystemSession {