32 lines
1.3 KiB
Prolog
32 lines
1.3 KiB
Prolog
# When editing this file, update the following files as well:
|
|
# - META-INF/com.android.tools/proguard/coroutines.pro
|
|
# - META-INF/com.android.tools/r8/coroutines.pro
|
|
|
|
# ServiceLoader support
|
|
-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
|
|
-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
|
|
|
|
# Most of volatile fields are updated with AFU and should not be mangled
|
|
-keepclassmembers class kotlinx.coroutines.** {
|
|
volatile <fields>;
|
|
}
|
|
|
|
# Same story for the standard library's SafeContinuation that also uses AtomicReferenceFieldUpdater
|
|
-keepclassmembers class kotlin.coroutines.SafeContinuation {
|
|
volatile <fields>;
|
|
}
|
|
|
|
# These classes are only required by kotlinx.coroutines.debug.internal.AgentPremain, which is only loaded when
|
|
# kotlinx-coroutines-core is used as a Java agent, so these are not needed in contexts where ProGuard is used.
|
|
-dontwarn java.lang.instrument.ClassFileTransformer
|
|
-dontwarn sun.misc.SignalHandler
|
|
-dontwarn java.lang.instrument.Instrumentation
|
|
-dontwarn sun.misc.Signal
|
|
|
|
# Only used in `kotlinx.coroutines.internal.ExceptionsConstructor`.
|
|
# The case when it is not available is hidden in a `try`-`catch`, as well as a check for Android.
|
|
-dontwarn java.lang.ClassValue
|
|
|
|
# An annotation used for build tooling, won't be directly accessed.
|
|
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
|