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:
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
|
# Never inline classes or methods with this annotation, but allow shrinking and
|
||||||
# obfuscation.
|
# obfuscation.
|
||||||
-keepclassmembers,allowobfuscation,allowoptimization @org.chromium.base.annotations.DoNotInline class ** {
|
-if @org.chromium.base.annotations.DoNotInline class * {
|
||||||
<methods>;
|
*** *(...);
|
||||||
}
|
}
|
||||||
-keepclassmembers,allowobfuscation,allowoptimization class ** {
|
-keep,allowobfuscation class <1> {
|
||||||
@org.chromium.base.annotations.DoNotInline <methods>;
|
*** <2>(...);
|
||||||
}
|
}
|
||||||
|
|
||||||
# Keep all CREATOR fields within Parcelable that are kept.
|
# Keep all CREATOR fields within Parcelable that are kept.
|
||||||
|
@@ -472,8 +472,11 @@ def _CreateDynamicConfig(options):
|
|||||||
if api_level > _min_api:
|
if api_level > _min_api:
|
||||||
ret.append('-keep @interface %s' % annotation_name)
|
ret.append('-keep @interface %s' % annotation_name)
|
||||||
ret.append("""\
|
ret.append("""\
|
||||||
-keepclassmembers,allowobfuscation,allowoptimization @%s class ** {
|
-if @%s class * {
|
||||||
<methods>;
|
*** *(...);
|
||||||
|
}
|
||||||
|
-keep,allowobfuscation class <1> {
|
||||||
|
*** <2>(...);
|
||||||
}""" % annotation_name)
|
}""" % annotation_name)
|
||||||
ret.append("""\
|
ret.append("""\
|
||||||
-keepclassmembers,allowobfuscation,allowoptimization class ** {
|
-keepclassmembers,allowobfuscation,allowoptimization class ** {
|
||||||
|
@@ -252,11 +252,11 @@
|
|||||||
|
|
||||||
# Never inline classes or methods with this annotation, but allow shrinking and
|
# Never inline classes or methods with this annotation, but allow shrinking and
|
||||||
# obfuscation.
|
# obfuscation.
|
||||||
-keepclassmembers,allowobfuscation,allowoptimization @org.chromium.base.annotations.DoNotInline class ** {
|
-if @org.chromium.base.annotations.DoNotInline class * {
|
||||||
<methods>;
|
*** *(...);
|
||||||
}
|
}
|
||||||
-keepclassmembers,allowobfuscation,allowoptimization class ** {
|
-keep,allowobfuscation class <1> {
|
||||||
@org.chromium.base.annotations.DoNotInline <methods>;
|
*** <2>(...);
|
||||||
}
|
}
|
||||||
|
|
||||||
# Keep all CREATOR fields within Parcelable that are kept.
|
# Keep all CREATOR fields within Parcelable that are kept.
|
||||||
@@ -794,36 +794,51 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
# THIS LINE WAS OMITTED
|
# THIS LINE WAS OMITTED
|
||||||
-keep @interface org.chromium.base.annotations.VerifiesOnNMR1
|
-keep @interface org.chromium.base.annotations.VerifiesOnNMR1
|
||||||
-keepclassmembers,allowobfuscation,allowoptimization @org.chromium.base.annotations.VerifiesOnNMR1 class ** {
|
-if @org.chromium.base.annotations.VerifiesOnNMR1 class * {
|
||||||
<methods>;
|
*** *(...);
|
||||||
|
}
|
||||||
|
-keep,allowobfuscation class <1> {
|
||||||
|
*** <2>(...);
|
||||||
}
|
}
|
||||||
-keepclassmembers,allowobfuscation,allowoptimization class ** {
|
-keepclassmembers,allowobfuscation,allowoptimization class ** {
|
||||||
@org.chromium.base.annotations.VerifiesOnNMR1 <methods>;
|
@org.chromium.base.annotations.VerifiesOnNMR1 <methods>;
|
||||||
}
|
}
|
||||||
-keep @interface org.chromium.base.annotations.VerifiesOnO
|
-keep @interface org.chromium.base.annotations.VerifiesOnO
|
||||||
-keepclassmembers,allowobfuscation,allowoptimization @org.chromium.base.annotations.VerifiesOnO class ** {
|
-if @org.chromium.base.annotations.VerifiesOnO class * {
|
||||||
<methods>;
|
*** *(...);
|
||||||
|
}
|
||||||
|
-keep,allowobfuscation class <1> {
|
||||||
|
*** <2>(...);
|
||||||
}
|
}
|
||||||
-keepclassmembers,allowobfuscation,allowoptimization class ** {
|
-keepclassmembers,allowobfuscation,allowoptimization class ** {
|
||||||
@org.chromium.base.annotations.VerifiesOnO <methods>;
|
@org.chromium.base.annotations.VerifiesOnO <methods>;
|
||||||
}
|
}
|
||||||
-keep @interface org.chromium.base.annotations.VerifiesOnOMR1
|
-keep @interface org.chromium.base.annotations.VerifiesOnOMR1
|
||||||
-keepclassmembers,allowobfuscation,allowoptimization @org.chromium.base.annotations.VerifiesOnOMR1 class ** {
|
-if @org.chromium.base.annotations.VerifiesOnOMR1 class * {
|
||||||
<methods>;
|
*** *(...);
|
||||||
|
}
|
||||||
|
-keep,allowobfuscation class <1> {
|
||||||
|
*** <2>(...);
|
||||||
}
|
}
|
||||||
-keepclassmembers,allowobfuscation,allowoptimization class ** {
|
-keepclassmembers,allowobfuscation,allowoptimization class ** {
|
||||||
@org.chromium.base.annotations.VerifiesOnOMR1 <methods>;
|
@org.chromium.base.annotations.VerifiesOnOMR1 <methods>;
|
||||||
}
|
}
|
||||||
-keep @interface org.chromium.base.annotations.VerifiesOnP
|
-keep @interface org.chromium.base.annotations.VerifiesOnP
|
||||||
-keepclassmembers,allowobfuscation,allowoptimization @org.chromium.base.annotations.VerifiesOnP class ** {
|
-if @org.chromium.base.annotations.VerifiesOnP class * {
|
||||||
<methods>;
|
*** *(...);
|
||||||
|
}
|
||||||
|
-keep,allowobfuscation class <1> {
|
||||||
|
*** <2>(...);
|
||||||
}
|
}
|
||||||
-keepclassmembers,allowobfuscation,allowoptimization class ** {
|
-keepclassmembers,allowobfuscation,allowoptimization class ** {
|
||||||
@org.chromium.base.annotations.VerifiesOnP <methods>;
|
@org.chromium.base.annotations.VerifiesOnP <methods>;
|
||||||
}
|
}
|
||||||
-keep @interface org.chromium.base.annotations.VerifiesOnQ
|
-keep @interface org.chromium.base.annotations.VerifiesOnQ
|
||||||
-keepclassmembers,allowobfuscation,allowoptimization @org.chromium.base.annotations.VerifiesOnQ class ** {
|
-if @org.chromium.base.annotations.VerifiesOnQ class * {
|
||||||
<methods>;
|
*** *(...);
|
||||||
|
}
|
||||||
|
-keep,allowobfuscation class <1> {
|
||||||
|
*** <2>(...);
|
||||||
}
|
}
|
||||||
-keepclassmembers,allowobfuscation,allowoptimization class ** {
|
-keepclassmembers,allowobfuscation,allowoptimization class ** {
|
||||||
@org.chromium.base.annotations.VerifiesOnQ <methods>;
|
@org.chromium.base.annotations.VerifiesOnQ <methods>;
|
||||||
|
Reference in New Issue
Block a user