summaryrefslogtreecommitdiffstats
path: root/src/main/com/tonicsystems
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-04-22 01:01:40 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-04-22 01:01:40 +0000
commit3830b4f8f02ebc8b8aa92cd242556bcca9c54dfe (patch)
tree3b6c36375f0d0e569d4b2e2de5d089bbe9e18160 /src/main/com/tonicsystems
parentb743f11d3736f6aa33eb19d7a96d6852e4a75ff2 (diff)
parent05bc010f959ef81af8326ab6654b871ecee57ded (diff)
downloadplatform_external_jarjar-3830b4f8f02ebc8b8aa92cd242556bcca9c54dfe.tar.gz
platform_external_jarjar-3830b4f8f02ebc8b8aa92cd242556bcca9c54dfe.tar.bz2
platform_external_jarjar-3830b4f8f02ebc8b8aa92cd242556bcca9c54dfe.zip
Change-Id: I93d4f355e10e203cb80d7e47fe14069d58c26794
Diffstat (limited to 'src/main/com/tonicsystems')
-rw-r--r--src/main/com/tonicsystems/jarjar/Main.java6
-rw-r--r--src/main/com/tonicsystems/jarjar/MainProcessor.java15
2 files changed, 19 insertions, 2 deletions
diff --git a/src/main/com/tonicsystems/jarjar/Main.java b/src/main/com/tonicsystems/jarjar/Main.java
index 117bdbb..1eaa3e3 100644
--- a/src/main/com/tonicsystems/jarjar/Main.java
+++ b/src/main/com/tonicsystems/jarjar/Main.java
@@ -90,7 +90,11 @@ public class Main {
List<PatternElement> rules = RulesFileParser.parse(rulesFile);
boolean verbose = Boolean.getBoolean("verbose");
boolean skipManifest = Boolean.getBoolean("skipManifest");
- MainProcessor proc = new MainProcessor(rules, verbose, skipManifest);
+ // ANDROID-BEGIN: b/146418363 Add an Android-specific transformer to strip compat annotation
+ boolean removeAndroidCompatAnnotations = Boolean.getBoolean("removeAndroidCompatAnnotations");
+ MainProcessor proc = new MainProcessor(rules, verbose, skipManifest,
+ removeAndroidCompatAnnotations);
+ // ANDROID-END: b/146418363 Add an Android-specific transformer to strip compat annotation
StandaloneJarProcessor.run(inJar, outJar, proc);
proc.strip(outJar);
}
diff --git a/src/main/com/tonicsystems/jarjar/MainProcessor.java b/src/main/com/tonicsystems/jarjar/MainProcessor.java
index de15924..2778cc5 100644
--- a/src/main/com/tonicsystems/jarjar/MainProcessor.java
+++ b/src/main/com/tonicsystems/jarjar/MainProcessor.java
@@ -21,14 +21,23 @@ import java.io.File;
import java.io.IOException;
import java.util.*;
+import com.android.jarjar.RemoveAndroidCompatAnnotationsJarTransformer;
+
class MainProcessor implements JarProcessor
{
private final boolean verbose;
private final JarProcessorChain chain;
private final KeepProcessor kp;
private final Map<String, String> renames = new HashMap<String, String>();
-
+
+ // ANDROID-BEGIN: b/146418363 Add an Android-specific transformer to strip compat annotation
public MainProcessor(List<PatternElement> patterns, boolean verbose, boolean skipManifest) {
+ this(patterns, verbose, skipManifest, false /* removeAndroidCompatAnnotations */);
+ }
+
+ public MainProcessor(List<PatternElement> patterns, boolean verbose, boolean skipManifest,
+ boolean removeAndroidCompatAnnotations) {
+ // ANDROID-END: b/146418363 Add an Android-specific transformer to strip compat annotation
this.verbose = verbose;
List<Zap> zapList = new ArrayList<Zap>();
List<Rule> ruleList = new ArrayList<Rule>();
@@ -52,6 +61,10 @@ class MainProcessor implements JarProcessor
if (kp != null)
processors.add(kp);
processors.add(new ZapProcessor(zapList));
+ // ANDROID-BEGIN: b/146418363 Add an Android-specific transformer to strip compat annotation
+ if (removeAndroidCompatAnnotations)
+ processors.add(new RemoveAndroidCompatAnnotationsJarTransformer(pr));
+ // ANDROID-END: b/146418363 Add an Android-specific transformer to strip compat annotation
processors.add(new JarTransformerChain(new RemappingClassTransformer[]{ new RemappingClassTransformer(pr) }));
processors.add(new ResourceProcessor(pr));
chain = new JarProcessorChain(processors.toArray(new JarProcessor[processors.size()]));