Use proguard to remove unused symbols from kotlin-reflect.jar

#KT-16268 Fixed
This commit is contained in:
Alexander Udalov
2017-02-09 19:13:51 +03:00
parent 2e8bfde2e7
commit c10524586a
2 changed files with 61 additions and 17 deletions
+36
View File
@@ -0,0 +1,36 @@
-injars '<output>/kotlin-reflect-before-proguard.jar'
-outjars '<kotlin-home>/lib/kotlin-reflect.jar'
-dontnote **
-libraryjars '<rtjar>'
-libraryjars '<kotlin-home>/lib/kotlin-runtime.jar'
-target 1.6
-dontoptimize
-dontobfuscate
# -dontshrink
-keep public class kotlin.reflect.* { *; }
-keep public class kotlin.reflect.jvm.* { *; }
-keep public class kotlin.reflect.full.* { *; }
-keepattributes SourceFile,LineNumberTable,InnerClasses,Signature,Deprecated,*Annotation*,EnclosingMethod
-keep class kotlin.reflect.jvm.internal.ReflectionFactoryImpl { public protected *; }
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keepclassmembers class * {
** toString();
}
# For tests on HashPMap, see compiler/testData/codegen/box/hashPMap
-keepclassmembers class kotlin.reflect.jvm.internal.pcollections.HashPMap {
public int size();
public boolean containsKey(java.lang.Object);
public kotlin.reflect.jvm.internal.pcollections.HashPMap minus(java.lang.Object);
}