build: add a few proguard rules [1/3]
- Introduce a new directory for some specific proguard rules. kotlin.flags: - Remove DebugMetadata - Don't warn about missing non-runtime annotations Test: build AOSP & test on internal Bug: 309023911 Change-Id: Iee740b61a2afeba3482ff4e1f8213bd4cf46174a
This commit is contained in:
parent
581b781ac4
commit
e6d996479b
2 changed files with 20 additions and 0 deletions
|
@ -61,3 +61,4 @@
|
|||
}
|
||||
|
||||
-include proguard_basic_keeps.flags
|
||||
-include proguard/kotlin.flags
|
||||
|
|
19
core/proguard/kotlin.flags
Normal file
19
core/proguard/kotlin.flags
Normal file
|
@ -0,0 +1,19 @@
|
|||
# Ignore missing Kotlin meta-annotations so that Java-only projects can depend
|
||||
# on projects that happen to be written in Kotlin but do not have a run-time
|
||||
# dependency on the Kotlin standard library. Note these annotations are RUNTIME
|
||||
# retention, but we won't need them available in Java-only projects.
|
||||
-dontwarn kotlin.Metadata
|
||||
-dontwarn kotlin.annotation.AnnotationRetention
|
||||
-dontwarn kotlin.annotation.AnnotationTarget
|
||||
-dontwarn kotlin.annotation.Retention
|
||||
-dontwarn kotlin.annotation.Target
|
||||
|
||||
# Kotlin DebugMetadata has no value in release builds, these two rules, will
|
||||
# allow AppReduce to strip out DebutMetadata.
|
||||
-checkdiscard interface kotlin.coroutines.jvm.internal.DebugMetadata
|
||||
-assumenosideeffects class kotlin.coroutines.jvm.internal.DebugMetadataKt {
|
||||
*** getDebugMetadataAnnotation(...);
|
||||
}
|
||||
-assumevalues class kotlin.coroutines.jvm.internal.DebugMetadataKt {
|
||||
*** getDebugMetadataAnnotation(...) return null;
|
||||
}
|
Loading…
Reference in a new issue