From 4287dbdd8a54737474936afb32cffc3662b07cf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Farr=C3=A9?= <13270880+jafarre-bi@users.noreply.github.com> Date: Mon, 23 Mar 2026 12:18:31 +0100 Subject: [PATCH] Add an opt-out for the separator newline --- .../maven/plugins/shade/resource/AppendingTransformer.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/apache/maven/plugins/shade/resource/AppendingTransformer.java b/src/main/java/org/apache/maven/plugins/shade/resource/AppendingTransformer.java index 71fa4684..28ac3a95 100644 --- a/src/main/java/org/apache/maven/plugins/shade/resource/AppendingTransformer.java +++ b/src/main/java/org/apache/maven/plugins/shade/resource/AppendingTransformer.java @@ -30,9 +30,11 @@ /** * A resource processor that appends content for a resource, separated by a newline. + * The newline separator can be disabled with {@code false}. */ public class AppendingTransformer extends AbstractCompatibilityTransformer { String resource; + boolean separator = true; ByteArrayOutputStream data = new ByteArrayOutputStream(); @@ -47,7 +49,9 @@ public boolean canTransformResource(String r) { public void processResource(String resource, InputStream is, List relocators, long time) throws IOException { IOUtil.copy(is, data); - data.write('\n'); + if (separator || !data.toString().endsWith("\n")) { + data.write('\n'); + } if (time > this.time) { this.time = time; }