Sharrit/app/proguard-rules.pro
2026-01-11 19:47:49 -05:00

63 lines
1.8 KiB
Prolog

# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Keep classes used for serialization
-keepattributes *Annotation*,EnclosingMethod,InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
# Retrofit
-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$*
-if interface * { @retrofit2.http.* <methods>; }
-keep,allowobfuscation interface <1>
-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation
# OkHttp
-dontwarn okhttp3.**
-dontwarn okio.**
-dontwarn javax.annotation.**
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
# Moshi
-keep class com.squareup.moshi.** { *; }
-keep interface com.squareup.moshi.** { *; }
-keep class com.shaarit.data.dto.** { *; }
-keepclassmembers class com.shaarit.data.dto.** { *; }
# Keep Kotlin Metadata
-keep class kotlin.Metadata { *; }
# Hilt
-keepclasseswithmembers class * {
@dagger.* <methods>;
}
-keepclasseswithmembers class * {
@javax.inject.* <fields>;
@javax.inject.* <methods>;
}
-keep class dagger.* { *; }
-keep class javax.inject.* { *; }
-dontwarn dagger.internal.codegen.**
# JWT (io.jsonwebtoken)
-keep class io.jsonwebtoken.** { *; }
# Compose
-keep class androidx.compose.** { *; }
# Application classes
-keep class com.shaarit.domain.model.** { *; }
-keep class com.shaarit.data.api.** { *; }