mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
42 lines
1.7 KiB
INI
42 lines
1.7 KiB
INI
# Proguard step for stripping debug information.
|
|
#
|
|
# This is useful to work around a bug in the way Proguard handles debug information: it
|
|
# sometimes corrupts it. Classes with corrupt debug information cannot be dexed, but
|
|
# classes with *no* debug information can be. There's no way to configure Proguard to
|
|
# delete debug information on a per-class basis, so we need this special extra step for
|
|
# stripping debug information only from those classes for which the Proguard bug is
|
|
# encountered.
|
|
#
|
|
# Currently, this pass is applied to all bundled library jars for which we are not
|
|
# compiling the source. This is slightly more than is strictly necessary to work around
|
|
# the Proguard bug, but such debug information is of negligible value and stripping it
|
|
# too slightly simplifies the makefile and saves us a handful of kilobytes of binary size.
|
|
#
|
|
# Configuring Proguard to do nothing except strip metadata is done by having it run only
|
|
# the obfuscation pass, but with a configuration that prevents it from renaming any classes.
|
|
# It then attempts to delete class metadata, so we further configure it not to do so for
|
|
# anything except the problematic debug information.
|
|
|
|
# Run only the obfuscator.
|
|
-dontoptimize
|
|
-dontshrink
|
|
-dontpreverify
|
|
-verbose
|
|
|
|
# Don't rename anything.
|
|
-keeppackagenames
|
|
|
|
# Seriously, don't rename anything.
|
|
-keep class *
|
|
-keepclassmembers class * {
|
|
*;
|
|
}
|
|
|
|
# Don't delete other useful metadata.
|
|
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,*Annotation*,EnclosingMethod
|
|
|
|
# Don't print spurious warnings from the support library.
|
|
# See: http://stackoverflow.com/questions/22441366/note-android-support-v4-text-icucompatics-cant-find-dynamically-referenced-cl
|
|
-dontnote android.support.**
|
|
-dontwarn android.support.**
|