summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Baker-Malone <jbakermalone@google.com>2023-05-05 00:21:57 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-05-05 00:21:57 +0000
commitc3223a2c45534d0c752c3c4a31f5acbb97b5ed58 (patch)
tree5d1f4e8fefa0df82f86b0960eadd3580f4e35f64
parentd72f92961db54c1639acc8fd593155b0490f9f39 (diff)
parent6c537075379dff3d5d7574b08cf1097c6a2b47f2 (diff)
downloadjarjar-android14-qpr2-s5-release.tar.gz
Original change: https://android-review.googlesource.com/c/platform/external/jarjar/+/2578874 Change-Id: I5aa1b4219cee288659ac367197b36d075657cf60 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--src/main/com/tonicsystems/jarjar/Wildcard.java4
-rw-r--r--src/main/com/tonicsystems/jarjar/util/JarTransformer.java3
-rw-r--r--src/test/com/tonicsystems/jarjar/WildcardTest.java4
3 files changed, 9 insertions, 2 deletions
diff --git a/src/main/com/tonicsystems/jarjar/Wildcard.java b/src/main/com/tonicsystems/jarjar/Wildcard.java
index c92e0fb..2522e0d 100644
--- a/src/main/com/tonicsystems/jarjar/Wildcard.java
+++ b/src/main/com/tonicsystems/jarjar/Wildcard.java
@@ -143,6 +143,10 @@ class Wildcard
if (expr.endsWith("package-info")) {
expr = expr.substring(0, expr.length() - "package-info".length());
}
+ // Android-changed: also include module-info
+ if (expr.endsWith("module-info")) {
+ expr = expr.substring(0, expr.length() - "module-info".length());
+ }
for (int i = 0, len = expr.length(); i < len; i++) {
char c = expr.charAt(i);
if (extra.indexOf(c) >= 0)
diff --git a/src/main/com/tonicsystems/jarjar/util/JarTransformer.java b/src/main/com/tonicsystems/jarjar/util/JarTransformer.java
index 53c7de0..d22f7bd 100644
--- a/src/main/com/tonicsystems/jarjar/util/JarTransformer.java
+++ b/src/main/com/tonicsystems/jarjar/util/JarTransformer.java
@@ -24,7 +24,8 @@ import org.objectweb.asm.ClassWriter;
abstract public class JarTransformer implements JarProcessor
{
public boolean process(EntryStruct struct) throws IOException {
- if (struct.name.endsWith(".class")) {
+ // Android-changed: exclude META-INF files, so they don't get moved into the root.
+ if (struct.name.endsWith(".class") && !struct.name.startsWith("META-INF")) {
ClassReader reader;
try {
reader = new ClassReader(struct.data);
diff --git a/src/test/com/tonicsystems/jarjar/WildcardTest.java b/src/test/com/tonicsystems/jarjar/WildcardTest.java
index 7cdcdf7..f41b2f5 100644
--- a/src/test/com/tonicsystems/jarjar/WildcardTest.java
+++ b/src/test/com/tonicsystems/jarjar/WildcardTest.java
@@ -30,10 +30,12 @@ extends TestCase
wildcard("net/sf/cglib/**", "foo/@1", "net/sf/cglib/!", null);
wildcard("net/sf/cglib/*", "foo/@1", "net/sf/cglib/Bar", "foo/Bar");
wildcard("net/sf/cglib/*/*", "foo/@2/@1", "net/sf/cglib/Bar/Baz", "foo/Baz/Bar");
+ wildcard("**/package-info", "bar/baz/@1/package-info", "foo/package-info", "bar/baz/foo/package-info");
+ wildcard("**/module-info", "bar/baz/@1/module-info", "foo/module-info", "bar/baz/foo/module-info");
}
private void wildcard(String pattern, String result, String value, String expect) {
- Wildcard wc = new Wildcard(pattern, result);
+ Wildcard wc = new Wildcard(pattern, result, 0);
// System.err.println(wc);
assertEquals(expect, wc.replace(value));
}