From b2f45d624d6e3e1323beff3f69a28d15f43e5750 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sun, 19 Mar 2023 09:05:28 +0100 Subject: [PATCH] Fix copy of original MANIFEST --- src/org/argeo/build/Repackage.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/org/argeo/build/Repackage.java b/src/org/argeo/build/Repackage.java index 22c6ce1..c986e1e 100644 --- a/src/org/argeo/build/Repackage.java +++ b/src/org/argeo/build/Repackage.java @@ -405,10 +405,6 @@ public class Repackage { origin.deleted.add("additional Java versions (META-INF/versions) from " + artifact); continue entries; } - if (entry.getName().equals("META-INF/DEPENDENCIES")) { - origin.deleted.add("dependency list (META-INF/DEPENDENCIES) from " + artifact); - continue entries; - } if (entry.getName().startsWith("META-INF/maven/")) { origin.deleted.add("Maven information (META-INF/maven) from " + artifact); continue entries; @@ -417,6 +413,17 @@ public class Repackage { origin.deleted.add("cache directory (.cache) from " + artifact); continue entries; } + if (entry.getName().equals("META-INF/MANIFEST.MF")) { + Path originalManifest = bundleDir.resolve(A2_ORIGIN).resolve(artifact.getGroupId()) + .resolve(artifact.getArtifactId()).resolve("MANIFEST.MF"); + Files.createDirectories(originalManifest.getParent()); + try (OutputStream out = Files.newOutputStream(originalManifest)) { + Files.copy(jarIn, originalManifest); + } + origin.added.add( + "original MANIFEST (" + bundleDir.relativize(originalManifest) + ") from " + artifact); + continue entries; + } if (entry.getName().endsWith("NOTICE") || entry.getName().endsWith("NOTICE.txt") || entry.getName().endsWith("LICENSE") || entry.getName().endsWith("LICENSE.md") @@ -843,8 +850,9 @@ public class Repackage { } bundleDir = targetBase.resolve(nameVersion.getName() + "." + nameVersion.getBranch()); - if (sourceManifest != null) { + if (sourceManifest != null) {// copy original MANIFEST Path originalManifest = bundleDir.resolve(A2_ORIGIN).resolve("MANIFEST.MF"); + Files.createDirectories(originalManifest.getParent()); try (OutputStream out = Files.newOutputStream(originalManifest)) { sourceManifest.write(null); } -- 2.30.2