mirror of
https://github.com/openMF/mobile-wallet.git
synced 2026-02-06 09:16:59 +00:00
135 lines
5.2 KiB
Prolog
135 lines
5.2 KiB
Prolog
-ignorewarnings
|
|
|
|
# Rules for: uCrop - Image Cropping Library for Android
|
|
-dontwarn com.yalantis.ucrop**
|
|
-dontwarn java.lang.management.ManagementFactory
|
|
-keep class com.yalantis.ucrop** { *; }
|
|
-keep interface com.yalantis.ucrop** { *; }
|
|
|
|
# Proguard Kotlin Example https://github.com/Guardsquare/proguard/blob/master/examples/application-kotlin/proguard.pro
|
|
|
|
-keepattributes *Annotation*
|
|
|
|
-keep class kotlin.Metadata { *; }
|
|
|
|
# Kotlin
|
|
|
|
-keep class kotlin.reflect.jvm.internal.** { *; }
|
|
-keep class kotlin.text.RegexOption { *; }
|
|
|
|
-keep class kotlin.** { *; }
|
|
-keep class org.jetbrains.skia.** { *; }
|
|
-keep class org.jetbrains.skiko.** { *; }
|
|
|
|
-assumenosideeffects public class androidx.compose.runtime.ComposerKt {
|
|
void sourceInformation(androidx.compose.runtime.Composer,java.lang.String);
|
|
void sourceInformationMarkerStart(androidx.compose.runtime.Composer,int,java.lang.String);
|
|
void sourceInformationMarkerEnd(androidx.compose.runtime.Composer);
|
|
boolean isTraceInProgress();
|
|
void traceEventEnd();
|
|
}
|
|
|
|
# Kotlinx Coroutines Rules
|
|
# https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-core/jvm/resources/META-INF/proguard/coroutines.pro
|
|
|
|
-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
|
|
-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
|
|
-keepclassmembers class kotlinx.coroutines.** {
|
|
volatile <fields>;
|
|
}
|
|
-keepclassmembers class kotlin.coroutines.SafeContinuation {
|
|
volatile <fields>;
|
|
}
|
|
-dontwarn java.lang.instrument.ClassFileTransformer
|
|
-dontwarn sun.misc.SignalHandler
|
|
-dontwarn java.lang.instrument.Instrumentation
|
|
-dontwarn sun.misc.Signal
|
|
-dontwarn java.lang.ClassValue
|
|
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
|
|
|
|
# https://github.com/Kotlin/kotlinx.coroutines/issues/2046
|
|
-dontwarn android.annotation.SuppressLint
|
|
|
|
# https://github.com/JetBrains/compose-jb/issues/2393
|
|
-dontnote kotlin.coroutines.jvm.internal.**
|
|
-dontnote kotlin.internal.**
|
|
-dontnote kotlin.jvm.internal.**
|
|
-dontnote kotlin.reflect.**
|
|
-dontnote kotlinx.coroutines.debug.internal.**
|
|
-dontnote kotlinx.coroutines.internal.**
|
|
-keep class kotlin.coroutines.Continuation
|
|
-keep class kotlinx.coroutines.CancellableContinuation
|
|
-keep class kotlinx.coroutines.channels.Channel
|
|
-keep class kotlinx.coroutines.CoroutineDispatcher
|
|
-keep class kotlinx.coroutines.CoroutineScope
|
|
# this is a weird one, but breaks build on some combinations of OS and JDK (reproduced on Windows 10 + Corretto 16)
|
|
-dontwarn org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules_MatchStatementSet*
|
|
|
|
### kotlinx.serialization rules
|
|
|
|
# Keep `Companion` object fields of serializable classes.
|
|
# This avoids serializer lookup through `getDeclaredClasses` as done for named companion objects.
|
|
-if @kotlinx.serialization.Serializable class **
|
|
-keepclassmembers class <1> {
|
|
static <1>$Companion Companion;
|
|
}
|
|
|
|
# Keep `serializer()` on companion objects (both default and named) of serializable classes.
|
|
-if @kotlinx.serialization.Serializable class ** {
|
|
static **$* *;
|
|
}
|
|
-keepclassmembers class <2>$<3> {
|
|
kotlinx.serialization.KSerializer serializer(...);
|
|
}
|
|
|
|
# Keep `INSTANCE.serializer()` of serializable objects.
|
|
-if @kotlinx.serialization.Serializable class ** {
|
|
public static ** INSTANCE;
|
|
}
|
|
-keepclassmembers class <1> {
|
|
public static <1> INSTANCE;
|
|
kotlinx.serialization.KSerializer serializer(...);
|
|
}
|
|
|
|
# @Serializable and @Polymorphic are used at runtime for polymorphic serialization.
|
|
-keepattributes RuntimeVisibleAnnotations,AnnotationDefault
|
|
|
|
# Don't print notes about potential mistakes or omissions in the configuration for kotlinx-serialization classes
|
|
# See also https://github.com/Kotlin/kotlinx.serialization/issues/1900
|
|
-dontnote kotlinx.serialization.**
|
|
|
|
# Serialization core uses `java.lang.ClassValue` for caching inside these specified classes.
|
|
# If there is no `java.lang.ClassValue` (for example, in Android), then R8/ProGuard will print a warning.
|
|
# However, since in this case they will not be used, we can disable these warnings
|
|
-dontwarn kotlinx.serialization.internal.ClassValueReferences
|
|
|
|
# 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.
|
|
-keeppackagenames okhttp3.internal.publicsuffix.*
|
|
-adaptresourcefilenames okhttp3/internal/publicsuffix/PublicSuffixDatabase.gz
|
|
|
|
# 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 and other security providers are available.
|
|
-dontwarn okhttp3.internal.platform.**
|
|
-dontwarn org.conscrypt.**
|
|
-dontwarn org.bouncycastle.**
|
|
-dontwarn org.openjsse.**
|
|
|
|
-keep class io.ktor.** { *; }
|
|
-keep class kotlinx.serialization.** { *; }
|
|
-keep class io.ktor.client.network.sockets.** { *; }
|
|
-keep class io.ktor.client.plugins.* { *; }
|
|
-keep class io.ktor.util.* { *; }
|
|
-keep class io.ktor.utils.io.* { *; }
|
|
-keep class java.lang.management.* { *; }
|
|
-dontwarn io.ktor.client.network.sockets.SocketTimeoutException
|
|
-dontwarn java.lang.management.RuntimeMXBean
|
|
|
|
-keep class org.mifospay.core.network.services.* { *;}
|
|
-keep class de.jensklingenberg.ktorfit.converter.** { *; }
|
|
-keep class de.jensklingenberg.ktorfit.** { *; }
|
|
-keeppackagenames de.jensklingenberg.ktorfit.* |