blob: deb8e6d03436561bce6d554399ae2193ba66ee64 [file] [log] [blame]
# Copyright (c) 2018, the R8 project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
# TODO(b/204058761): Remove when we can use test proguard options.
-keep @com.android.tools.r8.Keep class * { public *; }
-keep @com.android.tools.r8.KeepForSubclassing class * { public *; protected *; }
# Keep all things that can be reached from the retrace api and keep the annotation
-keep @com.android.tools.r8.KeepForRetraceApi class * { public *; }
-keep public class com.android.tools.r8.D8 { public static void main(java.lang.String[]); }
-keep public class com.android.tools.r8.R8 { public static void main(java.lang.String[]); }
-keep public class com.android.tools.r8.ExtractMarker { public static void main(java.lang.String[]); }
-keep public class com.android.tools.r8.Version { public static final java.lang.String LABEL; }
-keep public class com.android.tools.r8.Version { public static java.lang.String getVersionString(); }
-keep public class com.android.tools.r8.Version { public static int getMajorVersion(); }
-keep public class com.android.tools.r8.Version { public static int getMinorVersion(); }
-keep public class com.android.tools.r8.Version { public static int getPatchVersion(); }
-keep public class com.android.tools.r8.Version { public static java.lang.String getPreReleaseString(); }
-keep public class com.android.tools.r8.Version { public static boolean isDevelopmentVersion(); }
-keepattributes SourceFile, LineNumberTable, InnerClasses, EnclosingMethod, Exceptions, Signature, RuntimeInvisibleAnnotations
-keepparameternames
-keeppackagenames com.android.tools.r8
-repackageclasses com.android.tools.r8.internal
# Compatibility command line program used by the Android Platform build.
-keep public class com.android.tools.r8.compatproguard.CompatProguard { public static void main(java.lang.String[]); }
# TODO(b/176783536): Avoid need to use -dontwarn.
-include dontwarn.txt
# TODO(b/185756596): Remove when no longer needed
-keep class com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade {
com.android.tools.r8.jetbrains.kotlin.Lazy packageData$delegate;
}
-keep class com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class {
com.android.tools.r8.jetbrains.kotlin.Lazy classData$delegate;
}
-keep class com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass {
com.android.tools.r8.jetbrains.kotlin.Lazy functionData$delegate;
}
-keep class com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart {
com.android.tools.r8.jetbrains.kotlin.Lazy packageData$delegate;
}
-keep class com.android.tools.r8.jetbrains.kotlin.SafePublicationLazyImpl {
java.lang.Object getValue();
}