From a4931568ba0930cc5263bb8d1100aac16dc3e6c0 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Mon, 5 Jun 2017 13:09:48 +0300 Subject: [PATCH] Relocate service definition files for kotlin-reflect See http://imperceptiblethoughts.com/shadow/#merging_service_descriptor_files #KT-16810 Fixed --- core/reflection.jvm/reflection.pro | 2 ++ libraries/tools/kotlin-reflect/build.gradle | 1 + 2 files changed, 3 insertions(+) diff --git a/core/reflection.jvm/reflection.pro b/core/reflection.jvm/reflection.pro index e49783a0410..9832191bd0e 100644 --- a/core/reflection.jvm/reflection.pro +++ b/core/reflection.jvm/reflection.pro @@ -13,6 +13,8 @@ -keep class kotlin.reflect.jvm.internal.ReflectionFactoryImpl { public protected *; } +-keep class * implements kotlin.reflect.jvm.internal.impl.resolve.ExternalOverridabilityCondition { public protected *; } + -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); diff --git a/libraries/tools/kotlin-reflect/build.gradle b/libraries/tools/kotlin-reflect/build.gradle index 0afaf8ac767..d4d5b0d1598 100644 --- a/libraries/tools/kotlin-reflect/build.gradle +++ b/libraries/tools/kotlin-reflect/build.gradle @@ -95,6 +95,7 @@ task reflectShadowJar(type: ShadowJar) { configurations = [project.configurations.shadows] relocate 'org.jetbrains.kotlin', 'kotlin.reflect.jvm.internal.impl' relocate 'javax.inject', 'kotlin.reflect.jvm.internal.impl.javax.inject' + mergeServiceFiles() } createScriptTask(project, "stripMetadata") {