From f92c1131284bae36bb2b2bb15a9a76ea2103328e Mon Sep 17 00:00:00 2001 From: Bart Timmermans Date: Tue, 5 Apr 2022 11:20:11 +0200 Subject: [PATCH] Update ProGuardMojo.java #211 allow to preserve the manifest file --- .../wvengen/maven/proguard/ProGuardMojo.java | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/github/wvengen/maven/proguard/ProGuardMojo.java b/src/main/java/com/github/wvengen/maven/proguard/ProGuardMojo.java index 3ebfcae1..b8dd1b6a 100644 --- a/src/main/java/com/github/wvengen/maven/proguard/ProGuardMojo.java +++ b/src/main/java/com/github/wvengen/maven/proguard/ProGuardMojo.java @@ -269,6 +269,13 @@ public class ProGuardMojo extends AbstractMojo { */ private boolean appendClassifier; + /** + * Set to true to include META-INF/MANIFEST.MF file + * + * @parameter default-value="false" + */ + private boolean addManifest; + /** * Set to true to include META-INF/maven/** maven descriptor * @@ -531,15 +538,19 @@ public void execute() throws MojoExecutionException, MojoFailureException { File file = getClasspathElement(entry.getKey(), mavenProject); inPath.add(file.toString()); StringBuilder filter = new StringBuilder(fileToString(file)); - filter.append("(!META-INF/MANIFEST.MF"); + List filterList = new ArrayList<>(); + if (!addManifest) { + filterList.add("!META-INF/MANIFEST.MF"); + } if (!addMavenDescriptor) { - filter.append(","); - filter.append("!META-INF/maven/**"); + filterList.add("!META-INF/maven/**"); } if (entry.getValue().filter != null) { - filter.append(",").append(entry.getValue().filter); + filterList.add(entry.getValue().filter); + } + if (filterList.size() > 0){ + filter.append("(").append(String.join(",",filterList)).append( ")"); } - filter.append(")"); args.add("-injars"); args.add(filter.toString()); }