From 8f87de55e4ca79375dfc8f5d1a6bfef7d5ae608e Mon Sep 17 00:00:00 2001 From: Agaricus Date: Sat, 18 May 2013 18:47:22 -0700 Subject: [PATCH] Exclude resources from generated API jar --- src/main/java/net/md_5/specialsource/JarRemapper.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/md_5/specialsource/JarRemapper.java b/src/main/java/net/md_5/specialsource/JarRemapper.java index 7fc6fb7..147b66d 100644 --- a/src/main/java/net/md_5/specialsource/JarRemapper.java +++ b/src/main/java/net/md_5/specialsource/JarRemapper.java @@ -57,6 +57,7 @@ public class JarRemapper extends Remapper { public RemapperPreprocessor remapperPreprocessor; private int writerFlags = COMPUTE_MAXS; private int readerFlags = 0; + private boolean copyResources = true; public JarRemapper(RemapperPreprocessor remapperPreprocessor, JarMapping jarMapping) { this.remapperPreprocessor = remapperPreprocessor; @@ -68,13 +69,18 @@ public class JarRemapper extends Remapper { } /** - * Enable or disable API-only generation (stripping all code, leaving only symbols). + * Enable or disable API-only generation. + * + * If enabled, only symbols will be output to the remapped jar, suitable for use as a library. + * Code and resources will be excluded. */ public void setGenerateAPI(boolean generateAPI) { if (generateAPI) { readerFlags |= ClassReader.SKIP_CODE; + copyResources = false; } else { readerFlags &= ~ClassReader.SKIP_CODE; + copyResources = true; } } @@ -151,6 +157,7 @@ public class JarRemapper extends Remapper { continue; } else { // copy other resources + if (!copyResources) continue; // unless generating an API entry = new JarEntry(name); ByteArrayOutputStream buffer = new ByteArrayOutputStream();