0

Conditional keeps for verifies stuff

Bug: 1094569
Change-Id: I306f3831b204968fa6c1066b8e522d88c19fbe26
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2246927
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Sam Maier <smaier@chromium.org>
Cr-Commit-Position: refs/heads/master@{#778781}
This commit is contained in:
Sam Maier
2020-06-16 14:14:39 +00:00
committed by Commit Bot
parent 35f2c3eb55
commit 57aa84017e
3 changed files with 38 additions and 20 deletions
base/android/proguard
build/android/gyp
chrome/android/java

@ -70,11 +70,11 @@
# Never inline classes or methods with this annotation, but allow shrinking and
# obfuscation.
-keepclassmembers,allowobfuscation,allowoptimization @org.chromium.base.annotations.DoNotInline class ** {
<methods>;
-if @org.chromium.base.annotations.DoNotInline class * {
*** *(...);
}
-keepclassmembers,allowobfuscation,allowoptimization class ** {
@org.chromium.base.annotations.DoNotInline <methods>;
-keep,allowobfuscation class <1> {
*** <2>(...);
}
# Keep all CREATOR fields within Parcelable that are kept.

@ -472,8 +472,11 @@ def _CreateDynamicConfig(options):
if api_level > _min_api:
ret.append('-keep @interface %s' % annotation_name)
ret.append("""\
-keepclassmembers,allowobfuscation,allowoptimization @%s class ** {
<methods>;
-if @%s class * {
*** *(...);
}
-keep,allowobfuscation class <1> {
*** <2>(...);
}""" % annotation_name)
ret.append("""\
-keepclassmembers,allowobfuscation,allowoptimization class ** {

@ -252,11 +252,11 @@
# Never inline classes or methods with this annotation, but allow shrinking and
# obfuscation.
-keepclassmembers,allowobfuscation,allowoptimization @org.chromium.base.annotations.DoNotInline class ** {
<methods>;
-if @org.chromium.base.annotations.DoNotInline class * {
*** *(...);
}
-keepclassmembers,allowobfuscation,allowoptimization class ** {
@org.chromium.base.annotations.DoNotInline <methods>;
-keep,allowobfuscation class <1> {
*** <2>(...);
}
# Keep all CREATOR fields within Parcelable that are kept.
@ -794,36 +794,51 @@
################################################################################
# THIS LINE WAS OMITTED
-keep @interface org.chromium.base.annotations.VerifiesOnNMR1
-keepclassmembers,allowobfuscation,allowoptimization @org.chromium.base.annotations.VerifiesOnNMR1 class ** {
<methods>;
-if @org.chromium.base.annotations.VerifiesOnNMR1 class * {
*** *(...);
}
-keep,allowobfuscation class <1> {
*** <2>(...);
}
-keepclassmembers,allowobfuscation,allowoptimization class ** {
@org.chromium.base.annotations.VerifiesOnNMR1 <methods>;
}
-keep @interface org.chromium.base.annotations.VerifiesOnO
-keepclassmembers,allowobfuscation,allowoptimization @org.chromium.base.annotations.VerifiesOnO class ** {
<methods>;
-if @org.chromium.base.annotations.VerifiesOnO class * {
*** *(...);
}
-keep,allowobfuscation class <1> {
*** <2>(...);
}
-keepclassmembers,allowobfuscation,allowoptimization class ** {
@org.chromium.base.annotations.VerifiesOnO <methods>;
}
-keep @interface org.chromium.base.annotations.VerifiesOnOMR1
-keepclassmembers,allowobfuscation,allowoptimization @org.chromium.base.annotations.VerifiesOnOMR1 class ** {
<methods>;
-if @org.chromium.base.annotations.VerifiesOnOMR1 class * {
*** *(...);
}
-keep,allowobfuscation class <1> {
*** <2>(...);
}
-keepclassmembers,allowobfuscation,allowoptimization class ** {
@org.chromium.base.annotations.VerifiesOnOMR1 <methods>;
}
-keep @interface org.chromium.base.annotations.VerifiesOnP
-keepclassmembers,allowobfuscation,allowoptimization @org.chromium.base.annotations.VerifiesOnP class ** {
<methods>;
-if @org.chromium.base.annotations.VerifiesOnP class * {
*** *(...);
}
-keep,allowobfuscation class <1> {
*** <2>(...);
}
-keepclassmembers,allowobfuscation,allowoptimization class ** {
@org.chromium.base.annotations.VerifiesOnP <methods>;
}
-keep @interface org.chromium.base.annotations.VerifiesOnQ
-keepclassmembers,allowobfuscation,allowoptimization @org.chromium.base.annotations.VerifiesOnQ class ** {
<methods>;
-if @org.chromium.base.annotations.VerifiesOnQ class * {
*** *(...);
}
-keep,allowobfuscation class <1> {
*** <2>(...);
}
-keepclassmembers,allowobfuscation,allowoptimization class ** {
@org.chromium.base.annotations.VerifiesOnQ <methods>;