- Fix ParameterizedType casting error in release builds - Add ProGuard rules for Google Tink (security-crypto dependency) - Add dontwarn rules for Tink optional dependencies - Bump version to 1.1 - Update README with changelog
57 lines
1.9 KiB
Prolog
57 lines
1.9 KiB
Prolog
# Add project specific ProGuard rules here.
|
|
# You can control the set of applied configuration files using the
|
|
# proguardFiles setting in build.gradle.kts.
|
|
|
|
# Keep Kotlin serialization
|
|
-keepattributes *Annotation*, InnerClasses
|
|
-dontnote kotlinx.serialization.AnnotationsKt
|
|
|
|
-keepclassmembers class kotlinx.serialization.json.** {
|
|
*** Companion;
|
|
}
|
|
-keepclasseswithmembers class kotlinx.serialization.json.** {
|
|
kotlinx.serialization.KSerializer serializer(...);
|
|
}
|
|
|
|
# Keep JMAP models
|
|
-keep,includedescriptorclasses class com.fastmask.data.api.**$$serializer { *; }
|
|
-keepclassmembers class com.fastmask.data.api.** {
|
|
*** Companion;
|
|
}
|
|
-keepclasseswithmembers class com.fastmask.data.api.** {
|
|
kotlinx.serialization.KSerializer serializer(...);
|
|
}
|
|
|
|
# Retrofit
|
|
-keepattributes Signature, InnerClasses, EnclosingMethod
|
|
-keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations
|
|
-keepclassmembers,allowshrinking,allowobfuscation interface * {
|
|
@retrofit2.http.* <methods>;
|
|
}
|
|
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
|
|
-dontwarn javax.annotation.**
|
|
-dontwarn kotlin.Unit
|
|
-dontwarn retrofit2.KotlinExtensions
|
|
-dontwarn retrofit2.KotlinExtensions$*
|
|
|
|
# OkHttp
|
|
-dontwarn okhttp3.**
|
|
-dontwarn okio.**
|
|
|
|
# Google Tink (used by security-crypto)
|
|
-keep class com.google.crypto.tink.** { *; }
|
|
-keepclassmembers class * extends com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite {
|
|
<fields>;
|
|
}
|
|
|
|
# Tink optional dependencies (not used but referenced)
|
|
-dontwarn com.google.api.client.http.**
|
|
-dontwarn com.google.errorprone.annotations.InlineMe
|
|
-dontwarn org.joda.time.**
|
|
|
|
# Google Error Prone annotations
|
|
-dontwarn com.google.errorprone.annotations.CanIgnoreReturnValue
|
|
-dontwarn com.google.errorprone.annotations.CheckReturnValue
|
|
-dontwarn com.google.errorprone.annotations.Immutable
|
|
-dontwarn com.google.errorprone.annotations.RestrictedApi
|
|
-dontwarn javax.annotation.**
|