Pack jvm builtins into kotlin-stdlib shipped with idea plugin

This lessens the possibility that kotlin plugin will get different
variants of builtins in the classpath, thus making builtins resources
loading less order-dependent.
This commit is contained in:
Ilya Gorbunov
2020-08-27 05:54:24 +03:00
committed by Dmitry Savvinov
parent f2cf64aec7
commit 0b5aedb0a2
2 changed files with 31 additions and 4 deletions
+18
View File
@@ -11,6 +11,7 @@ configureSourcesJar()
configurations {
distSources
withJvmBuiltins.extendsFrom(configurations.compile)
}
sourceSets {
@@ -46,6 +47,7 @@ configurations {
attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, objects.named(LibraryElements, LibraryElements.JAR))
}
}
builtinsJvm
compileOnly.extendsFrom(builtins)
}
@@ -60,6 +62,7 @@ dependencies {
testCompile project(':kotlin-coroutines-experimental-compat')
builtins project(':core:builtins')
builtinsJvm project(path: ':core:builtins', configuration: "runtimeElementsJvm")
}
jar {
@@ -97,11 +100,26 @@ configureModularJar {
from zipTree(jar.outputs.files.singleFile)
}
task withJvmBuiltinsJar(type: Jar) {
dependsOn(jar)
dependsOn(configurations.builtinsJvm)
manifestAttributes(manifest, project, 'Main', true)
destinationDirectory = file("$buildDir/lib/with-jvm-builtins")
from(zipTree(jar.outputs.files.singleFile)) {
exclude("**/*.kotlin_builtins")
}
from {
zipTree(configurations.builtinsJvm.singleFile)
}
}
artifacts {
archives sourcesJar
sources sourcesJar
distSources distSourcesJar
archives modularJar
withJvmBuiltins withJvmBuiltinsJar
}
DexMethodCountKt.dexMethodCount(project) { task ->