Keep native libraries in bundles
authorMathieu Baudier <mbaudier@argeo.org>
Thu, 7 Mar 2024 05:35:37 +0000 (06:35 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Thu, 7 Mar 2024 05:35:37 +0000 (06:35 +0100)
src/org/argeo/build/Repackage.java

index ccdd889e749056433752c4c17cefdca8091f3641..f379b4e81dde7486dc5b2aef4f73c89cf175054a 100644 (file)
@@ -1126,6 +1126,7 @@ public class Repackage {
                                Files.copy(jarIn, target);
 
                                // native libraries
+                               boolean removeDllFromJar = false;
                                if (isNative && (entry.getName().endsWith(".so") || entry.getName().endsWith(".dll")
                                                || entry.getName().endsWith(".jnilib"))) {
                                        Path categoryDir = bundleDir.getParent();
@@ -1149,8 +1150,11 @@ public class Repackage {
                                                        Files.delete(targetDll);
                                                Files.copy(target, targetDll);
                                        }
-                                       Files.delete(target);
-                                       origin.deleted.add(bundleDir.relativize(target).toString());
+
+                                       if (removeDllFromJar) {
+                                               Files.delete(target);
+                                               origin.deleted.add(bundleDir.relativize(target).toString());
+                                       }
                                }
                                logger.log(TRACE, () -> "Copied " + target);
                        }