From: Mathieu Baudier Date: Sun, 19 Mar 2023 08:05:28 +0000 (+0100) Subject: Fix copy of original MANIFEST X-Git-Tag: v2.3.5~55 X-Git-Url: https://git.argeo.org/?a=commitdiff_plain;h=b2f45d624d6e3e1323beff3f69a28d15f43e5750;p=cc0%2Fargeo-build.git Fix copy of original MANIFEST --- 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); }