Drop coroutines from compiler jar, add appropriate plugin dependency

#KT-30778 fixed
This commit is contained in:
Ilya Chernikov
2020-05-20 15:14:51 +02:00
parent 343e519f7f
commit 9d98c90881
8 changed files with 15 additions and 13 deletions

View File

@@ -20,7 +20,6 @@ val packagesToRelocate =
"org.picocontainer",
"org.jline",
"org.fusesource",
"kotlinx.coroutines",
"net.jpountz",
"one.util.streamex",
"kotlinx.collections.immutable"

View File

@@ -83,7 +83,9 @@ object PathUtil {
val KOTLIN_SCRIPTING_PLUGIN_CLASSPATH_JARS = arrayOf(
KOTLIN_SCRIPTING_COMPILER_PLUGIN_JAR, KOTLIN_SCRIPTING_COMPILER_IMPL_JAR,
KOTLIN_SCRIPTING_COMMON_JAR, KOTLIN_SCRIPTING_JVM_JAR, KOTLIN_SCRIPTING_JS_JAR, JS_ENGINES_JAR
KOTLINX_COROUTINES_CORE_JAR,
KOTLIN_SCRIPTING_COMMON_JAR, KOTLIN_SCRIPTING_JVM_JAR,
KOTLIN_SCRIPTING_JS_JAR, JS_ENGINES_JAR
)
const val KOTLIN_TEST_NAME = "kotlin-test"

View File

@@ -22,7 +22,6 @@ dependencies {
fatJarContents(protobufFull())
fatJarContents(commonDep("com.google.code.findbugs", "jsr305"))
fatJarContents(commonDep("io.javaslang", "javaslang"))
fatJarContents(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) { isTransitive = false }
fatJarContents(intellijCoreDep()) { includeJars("intellij-core") }
fatJarContents(intellijDep()) { includeIntellijCoreJarDependencies(project, { !(it.startsWith("jdom") || it.startsWith("log4j")) }) }

View File

@@ -83,7 +83,7 @@ val proguard by task<CacheableProguardTask> {
dependsOn(relocatedJar)
configuration("main-kts.pro")
injars(mapOf("filter" to "!META-INF/versions/**"), relocatedJar.get().outputs.files)
injars(mapOf("filter" to "!META-INF/versions/**,!kotlinx/coroutines/debug/**"), relocatedJar.get().outputs.files)
outjars(fileFrom(buildDir, "libs", "$jarBaseName-$version-after-proguard.jar"))

View File

@@ -15,6 +15,8 @@
-dontwarn org.bouncycastle.**
-dontwarn org.apache.ivy.ant.**
-dontwarn kotlin.annotations.jvm.**
# hopefully temporarily, for coroutines
-dontwarn kotlin.time.**
-keep class org.jetbrains.kotlin.mainKts.** { *; }
-keep class kotlin.script.experimental.** { *; }

View File

@@ -46,6 +46,8 @@ val libraries by configurations.creating {
}
}
val librariesStripVersion by configurations.creating
// Compiler plugins should be copied without `kotlin-` prefix
val compilerPlugins by configurations.creating {
exclude("org.jetbrains.kotlin", "kotlin-stdlib-common")
@@ -153,6 +155,8 @@ dependencies {
libraries(project(":kotlin-test:kotlin-test-js", configuration = "distLibrary"))
}
librariesStripVersion(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) { isTransitive = false }
distLibraryProjects.forEach {
libraries(project(it)) { isTransitive = false }
}
@@ -196,7 +200,6 @@ dependencies {
fatJarContents(protobufFull())
fatJarContents(commonDep("com.google.code.findbugs", "jsr305"))
fatJarContents(commonDep("io.javaslang", "javaslang"))
fatJarContents(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) { isTransitive = false }
fatJarContents(commonDep("org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm")) { isTransitive = false }
fatJarContents(intellijCoreDep()) { includeJars("intellij-core") }
@@ -342,6 +345,11 @@ val distKotlinc = distTask<Sync>("distKotlinc") {
into("lib") {
from(jar) { rename { "$compilerBaseName.jar" } }
from(libraries)
from(librariesStripVersion) {
rename {
it.replace(Regex("-\\d.*\\.jar\$"), ".jar")
}
}
from(sources)
from(compilerPlugins) {
rename { it.removePrefix("kotlin-") }

View File

@@ -13,7 +13,6 @@
-dontwarn com.intellij.ui.**
-dontwarn com.intellij.util.IconUtil
-dontwarn com.intellij.util.ImageLoader
-dontwarn kotlinx.coroutines.flow.FlowKt__MergeKt
-dontwarn net.sf.cglib.**
-dontwarn org.objectweb.asm.** # this is ASM3, the old version that we do not use
-dontwarn com.sun.jna.NativeString
@@ -64,7 +63,6 @@
-dontwarn org.w3c.dom.Window
-dontwarn org.slf4j.**
#-libraryjars '<rtjar>'
#-libraryjars '<jssejar>'
#-libraryjars '<bootstrap.runtime>'
@@ -219,9 +217,6 @@
-keep class com.sun.tools.javac.** { *; }
-keep class com.sun.source.** { *; }
# for coroutines
-keep class kotlinx.coroutines.** { *; }
# for webdemo
-keep class com.intellij.openapi.progress.ProgressManager { *; }

View File

@@ -218,9 +218,6 @@
-keep class com.sun.tools.javac.** { *; }
-keep class com.sun.source.** { *; }
# for coroutines
-keep class kotlinx.coroutines.** { *; }
# for webdemo
-keep class com.intellij.openapi.progress.ProgressManager { *; }