Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e6d99647 authored by Yifei Zhang's avatar Yifei Zhang
Browse files

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
parent 581b781a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -61,3 +61,4 @@
}

-include proguard_basic_keeps.flags
-include proguard/kotlin.flags
+19 −0
Original line number Diff line number Diff line
# 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;
}