# ProGuard usage for DAVdroid: # shrinking yes (main reason for using ProGuard) # optimization yes # obfuscation no (DAVdroid is open-source) # preverification no -dontobfuscate -optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/* -optimizationpasses 5 -allowaccessmodification # Kotlin -dontwarn kotlin.** # Apache Commons -dontwarn javax.script.** # ez-vcard -dontwarn ezvcard.io.json.** # JSON serializer (for jCards) not used -dontwarn freemarker.** # freemarker templating library (for creating hCards) not used -dontwarn org.jsoup.** # jsoup library (for hCard parsing) not used -keep class ezvcard.property.** { *; } # keep all vCard properties (created at runtime) # ical4j: ignore unused dynamic libraries -keep class net.fortuna.ical4j.** { *; } # keep all model classes (properties/factories, created at runtime) # okhttp # JSR 305 annotations are for embedding nullability information. -dontwarn javax.annotation.** # A resource is loaded with a relative path so the package of this class must be preserved. -keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase # Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java. -dontwarn org.codehaus.mojo.animal_sniffer.* # OkHttp platform used only on JVM and when Conscrypt dependency is available. -dontwarn okhttp3.internal.platform.ConscryptPlatform # DAVdroid + libs -keep,includedescriptorclasses class com.etesync.syncadapter.** { *; } # all DAVdroid code and deps are required # Android support -keep,includedescriptorclasses class androidx.core.content.FileProvider { *; } # all DAVdroid code and deps are required # gson -dontnote sun.misc.Unsafe # not available on Android # Spongcastle -dontwarn org.spongycastle.jce.provider.X509LDAPCertStoreSpi -dontwarn org.spongycastle.x509.util.LDAPStoreHelper # Android stuff automatically generated by the Android Gradle plugin. -dontwarn com.android.org.conscrypt.SSLParametersImpl -dontwarn groovy.lang.GroovyObject -dontwarn groovy.lang.MetaClass -dontwarn groovy.transform.Generated -dontwarn groovy.transform.Internal -dontwarn groovy.util.AbstractFactory -dontwarn groovy.util.FactoryBuilderSupport -dontwarn org.apache.harmony.xnet.provider.jsse.SSLParametersImpl -dontwarn org.bouncycastle.jsse.BCSSLParameters -dontwarn org.bouncycastle.jsse.BCSSLSocket -dontwarn org.bouncycastle.jsse.provider.BouncyCastleJsseProvider -dontwarn org.codehaus.groovy.reflection.ClassInfo -dontwarn org.codehaus.groovy.runtime.ScriptBytecodeAdapter -dontwarn org.codehaus.groovy.runtime.callsite.CallSite -dontwarn org.codehaus.groovy.runtime.callsite.CallSiteArray -dontwarn org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation -dontwarn org.codehaus.groovy.runtime.typehandling.ShortTypeHandling -dontwarn org.openjsse.javax.net.ssl.SSLParameters -dontwarn org.openjsse.javax.net.ssl.SSLSocket -dontwarn org.openjsse.net.ssl.OpenJSSE