67 lines
2 KiB
Prolog
67 lines
2 KiB
Prolog
# JSR 305 annotations are for embedding nullability information.
|
|
-dontwarn javax.annotation.**
|
|
|
|
-keepclasseswithmembers class * {
|
|
@com.squareup.moshi.* <methods>;
|
|
}
|
|
|
|
-keep @com.squareup.moshi.JsonQualifier interface *
|
|
|
|
# Enum field names are used by the integrated EnumJsonAdapter.
|
|
# values() is synthesized by the Kotlin compiler and is used by EnumJsonAdapter indirectly
|
|
# Annotate enums with @JsonClass(generateAdapter = false) to use them with Moshi.
|
|
-keepclassmembers @com.squareup.moshi.JsonClass class * extends java.lang.Enum {
|
|
<fields>;
|
|
**[] values();
|
|
}
|
|
|
|
# The name of @JsonClass types is used to look up the generated adapter.
|
|
-keepnames @com.squareup.moshi.JsonClass class *
|
|
|
|
# Retain generated target class's synthetic defaults constructor and keep DefaultConstructorMarker's
|
|
# name. We will look this up reflectively to invoke the type's constructor.
|
|
#
|
|
# We can't _just_ keep the defaults constructor because Proguard/R8's spec doesn't allow wildcard
|
|
# matching preceding parameters.
|
|
-keepnames class kotlin.jvm.internal.DefaultConstructorMarker
|
|
-keepclassmembers @com.squareup.moshi.JsonClass @kotlin.Metadata class * {
|
|
synthetic <init>(...);
|
|
}
|
|
|
|
# Retain generated JsonAdapters if annotated type is retained.
|
|
-if @com.squareup.moshi.JsonClass class *
|
|
-keep class <1>JsonAdapter {
|
|
<init>(...);
|
|
<fields>;
|
|
}
|
|
-if @com.squareup.moshi.JsonClass class **$*
|
|
-keep class <1>_<2>JsonAdapter {
|
|
<init>(...);
|
|
<fields>;
|
|
}
|
|
-if @com.squareup.moshi.JsonClass class **$*$*
|
|
-keep class <1>_<2>_<3>JsonAdapter {
|
|
<init>(...);
|
|
<fields>;
|
|
}
|
|
-if @com.squareup.moshi.JsonClass class **$*$*$*
|
|
-keep class <1>_<2>_<3>_<4>JsonAdapter {
|
|
<init>(...);
|
|
<fields>;
|
|
}
|
|
-if @com.squareup.moshi.JsonClass class **$*$*$*$*
|
|
-keep class <1>_<2>_<3>_<4>_<5>JsonAdapter {
|
|
<init>(...);
|
|
<fields>;
|
|
}
|
|
-if @com.squareup.moshi.JsonClass class **$*$*$*$*$*
|
|
-keep class <1>_<2>_<3>_<4>_<5>_<6>JsonAdapter {
|
|
<init>(...);
|
|
<fields>;
|
|
}
|
|
|
|
-keep class kotlin.reflect.jvm.internal.impl.builtins.BuiltInsLoaderImpl
|
|
|
|
-keepclassmembers class kotlin.Metadata {
|
|
public <methods>;
|
|
}
|