1
1
#KEEP MODEL
2
- -keep class ca.bc.gov.data.datasource.remote.model.** { *; }
2
+ -keep class ca.bc.gov.data.datasource.remote.model.** { *; }
3
+ # JSR 305 annotations are for embedding nullability information.
4
+ -dontwarn javax.annotation.**
5
+
6
+ # A resource is loaded with a relative path so the package of this class must be preserved.
7
+ -adaptresourcefilenames okhttp3/internal/publicsuffix/PublicSuffixDatabase.gz
8
+
9
+ # Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
10
+ -dontwarn org.codehaus.mojo.animal_sniffer.*
11
+
12
+ # OkHttp platform used only on JVM and when Conscrypt and other security providers are available.
13
+ -dontwarn okhttp3.internal.platform.**
14
+ -dontwarn org.conscrypt.**
15
+ -dontwarn org.bouncycastle.**
16
+ -dontwarn org.openjsse.**
17
+
18
+ # Retrofit does reflection on generic parameters. InnerClasses is required to use Signature and
19
+ # EnclosingMethod is required to use InnerClasses.
20
+ -keepattributes Signature, InnerClasses, EnclosingMethod
21
+
22
+ # Retrofit does reflection on method and parameter annotations.
23
+ -keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations
24
+
25
+ # Keep annotation default values (e.g., retrofit2.http.Field.encoded).
26
+ -keepattributes AnnotationDefault
27
+
28
+ # Retain service method parameters when optimizing.
29
+ -keepclassmembers,allowshrinking,allowobfuscation interface * {
30
+ @retrofit2.http.* <methods>;
31
+ }
32
+
33
+ # Ignore annotation used for build tooling.
34
+ -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
35
+
36
+ # Ignore JSR 305 annotations for embedding nullability information.
37
+ -dontwarn javax.annotation.**
38
+
39
+ # Guarded by a NoClassDefFoundError try/catch and only used when on the classpath.
40
+ -dontwarn kotlin.Unit
41
+
42
+ # Top-level functions that can only be used by Kotlin.
43
+ -dontwarn retrofit2.KotlinExtensions
44
+ -dontwarn retrofit2.KotlinExtensions$*
45
+
46
+ # With R8 full mode, it sees no subtypes of Retrofit interfaces since they are created with a Proxy
47
+ # and replaces all potential values with null. Explicitly keeping the interfaces prevents this.
48
+ -if interface * { @retrofit2.http.* <methods>; }
49
+ -keep,allowobfuscation interface <1>
50
+
51
+ # Keep inherited services.
52
+ -if interface * { @retrofit2.http.* <methods>; }
53
+ -keep,allowobfuscation interface * extends <1>
54
+
55
+ # With R8 full mode generic signatures are stripped for classes that are not
56
+ # kept. Suspend functions are wrapped in continuations where the type argument
57
+ # is used.
58
+ -keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation
59
+
60
+ # R8 full mode strips generic signatures from return types if not kept.
61
+ -if interface * { @retrofit2.http.* public *** *(...); }
62
+ -keep,allowoptimization,allowshrinking,allowobfuscation class <3>
63
+
64
+ # With R8 full mode generic signatures are stripped for classes that are not kept.
65
+ -keep,allowobfuscation,allowshrinking class retrofit2.Response
0 commit comments