4/5 Replace source dependency on kotlin-reflect with binary dependency

Review: https://jetbrains.team/p/kt/reviews/6753

Meaningful semantic change was splitted into 5 commits to simplify the
change review. Sinle commit would be too big.

Why replace source to binary: to get rid of kotlin-reflect in Kotlin
plugin artifact KTIJ-22276
This commit is contained in:
Nikita Bobko
2022-07-26 14:41:13 +02:00
parent e2cda2a272
commit 0a6dadd04d
6 changed files with 30 additions and 3 deletions
+4 -1
View File
@@ -276,13 +276,16 @@ extra["kotlinJpsPluginEmbeddedDependencies"] = listOf(
extra["kotlinJpsPluginMavenDependencies"] = listOf( extra["kotlinJpsPluginMavenDependencies"] = listOf(
":kotlin-daemon-client", ":kotlin-daemon-client",
":kotlin-build-common", ":kotlin-build-common",
":kotlin-reflect",
":kotlin-util-io", ":kotlin-util-io",
":kotlin-util-klib", ":kotlin-util-klib",
":kotlin-util-klib-metadata", ":kotlin-util-klib-metadata",
":native:kotlin-native-utils" ":native:kotlin-native-utils"
) )
extra["kotlinJpsPluginMavenDependenciesNonTransitiveLibs"] = listOf(
commonDependency("org.jetbrains.kotlin:kotlin-reflect")
)
extra["compilerArtifactsForIde"] = listOfNotNull( extra["compilerArtifactsForIde"] = listOfNotNull(
":prepare:ide-plugin-dependencies:android-extensions-compiler-plugin-for-ide", ":prepare:ide-plugin-dependencies:android-extensions-compiler-plugin-for-ide",
":prepare:ide-plugin-dependencies:allopen-compiler-plugin-for-ide", ":prepare:ide-plugin-dependencies:allopen-compiler-plugin-for-ide",
+1 -1
View File
@@ -264,7 +264,7 @@ fun Project.publishProjectJars(projects: List<String>, libraryDependencies: List
} }
for (libraryDependency in libraryDependencies) { for (libraryDependency in libraryDependencies) {
fatJarContents(libraryDependency) fatJarContents(libraryDependency) { isTransitive = false }
} }
} }
+7
View File
@@ -6,14 +6,21 @@ plugins {
dependencies { dependencies {
implementation(kotlinStdlib()) implementation(kotlinStdlib())
@Suppress("UNCHECKED_CAST")
rootProject.extra["kotlinJpsPluginEmbeddedDependencies"] rootProject.extra["kotlinJpsPluginEmbeddedDependencies"]
.let { it as List<String> } .let { it as List<String> }
.forEach { implementation(project(it)) } .forEach { implementation(project(it)) }
@Suppress("UNCHECKED_CAST")
rootProject.extra["kotlinJpsPluginMavenDependencies"] rootProject.extra["kotlinJpsPluginMavenDependencies"]
.let { it as List<String> } .let { it as List<String> }
.forEach { implementation(project(it)) } .forEach { implementation(project(it)) }
@Suppress("UNCHECKED_CAST")
rootProject.extra["kotlinJpsPluginMavenDependenciesNonTransitiveLibs"]
.let { it as List<String> }
.forEach { implementation(it) { isTransitive = false } }
compileOnly(intellijUtilRt()) compileOnly(intellijUtilRt())
compileOnly(intellijPlatformUtil()) compileOnly(intellijPlatformUtil())
compileOnly(jpsModel()) compileOnly(jpsModel())
+7
View File
@@ -18,14 +18,21 @@ dependencies {
compileOnly(project(":jps:jps-platform-api-signatures")) compileOnly(project(":jps:jps-platform-api-signatures"))
testImplementation(projectTests(":generators:test-generator")) testImplementation(projectTests(":generators:test-generator"))
@Suppress("UNCHECKED_CAST")
rootProject.extra["kotlinJpsPluginEmbeddedDependencies"] rootProject.extra["kotlinJpsPluginEmbeddedDependencies"]
.let { it as List<String> } .let { it as List<String> }
.forEach { implementation(project(it)) } .forEach { implementation(project(it)) }
@Suppress("UNCHECKED_CAST")
rootProject.extra["kotlinJpsPluginMavenDependencies"] rootProject.extra["kotlinJpsPluginMavenDependencies"]
.let { it as List<String> } .let { it as List<String> }
.forEach { implementation(project(it)) } .forEach { implementation(project(it)) }
@Suppress("UNCHECKED_CAST")
rootProject.extra["kotlinJpsPluginMavenDependenciesNonTransitiveLibs"]
.let { it as List<String> }
.forEach { implementation(it) { isTransitive = false } }
implementation(project(":jps:jps-common")) implementation(project(":jps:jps-common"))
compileOnly(commonDependency("org.jetbrains.intellij.deps.fastutil:intellij-deps-fastutil")) compileOnly(commonDependency("org.jetbrains.intellij.deps.fastutil:intellij-deps-fastutil"))
compileOnly(jpsModel()) compileOnly(jpsModel())
@@ -4,8 +4,12 @@ idePluginDependency {
val embeddedDependencies = rootProject.extra["kotlinJpsPluginEmbeddedDependencies"] as List<String> val embeddedDependencies = rootProject.extra["kotlinJpsPluginEmbeddedDependencies"] as List<String>
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
val mavenDependencies = rootProject.extra["kotlinJpsPluginMavenDependencies"] as List<String> val mavenDependencies = rootProject.extra["kotlinJpsPluginMavenDependencies"] as List<String>
val mavenDependenciesLibs = rootProject.extra["kotlinJpsPluginMavenDependenciesNonTransitiveLibs"] as List<String>
val otherProjects = listOf(":jps:jps-plugin", ":jps:jps-common") val otherProjects = listOf(":jps:jps-plugin", ":jps:jps-common")
publishProjectJars(embeddedDependencies + mavenDependencies + otherProjects, libraryDependencies = listOf(protobufFull())) publishProjectJars(
embeddedDependencies + mavenDependencies + otherProjects,
libraryDependencies = mavenDependenciesLibs + listOf(protobufFull())
)
} }
@@ -3,9 +3,15 @@ plugins {
} }
dependencies { dependencies {
@Suppress("UNCHECKED_CAST")
rootProject.extra["kotlinJpsPluginMavenDependencies"] rootProject.extra["kotlinJpsPluginMavenDependencies"]
.let { it as List<String> } .let { it as List<String> }
.forEach { implementation(project(it)) } .forEach { implementation(project(it)) }
@Suppress("UNCHECKED_CAST")
rootProject.extra["kotlinJpsPluginMavenDependenciesNonTransitiveLibs"]
.let { it as List<String> }
.forEach { implementation(it) { isTransitive = false } }
} }
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")