diff --git a/compiler/build-tools/kotlin-build-statistics/build.gradle.kts b/compiler/build-tools/kotlin-build-statistics/build.gradle.kts
index 3e847162f20..03671936458 100644
--- a/compiler/build-tools/kotlin-build-statistics/build.gradle.kts
+++ b/compiler/build-tools/kotlin-build-statistics/build.gradle.kts
@@ -27,3 +27,7 @@ sourceSets {
}
projectTest(jUnitMode = JUnitMode.JUnit5, parallel = true)
+
+publish()
+
+standardPublicJars()
\ No newline at end of file
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index e4ee7c9f053..3d93e029aee 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -20,6 +20,7 @@
+
@@ -30,6 +31,7 @@
+
diff --git a/libraries/tools/kotlin-gradle-plugin/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin/build.gradle.kts
index 2ad37a9c434..d11ad3509ab 100644
--- a/libraries/tools/kotlin-gradle-plugin/build.gradle.kts
+++ b/libraries/tools/kotlin-gradle-plugin/build.gradle.kts
@@ -1,6 +1,5 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import com.github.jengelman.gradle.plugins.shadow.transformers.DontIncludeResourceTransformer
-import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.jetbrains.kotlin.pill.PillExtension
@@ -62,7 +61,7 @@ dependencies {
}
}
- commonCompileOnly(project(":compiler:incremental-compilation-impl"))
+ commonCompileOnly(project(":compiler:cli"))
commonCompileOnly(project(":daemon-common"))
commonCompileOnly(project(":kotlin-daemon-client"))
commonCompileOnly(project(":kotlin-gradle-compiler-types"))
@@ -99,21 +98,23 @@ dependencies {
}
commonCompileOnly(project(":kotlin-tooling-metadata"))
commonCompileOnly(project(":compiler:build-tools:kotlin-build-statistics"))
-
+ commonCompileOnly(commonDependency("org.jetbrains.intellij.deps:asm-all")) { isTransitive = false }
commonImplementation(project(":kotlin-gradle-plugin-idea"))
commonImplementation(project(":kotlin-gradle-plugin-idea-proto"))
- commonImplementation(project(":kotlin-util-klib"))
commonImplementation(project(":native:kotlin-klib-commonizer-api"))
commonImplementation(project(":compiler:build-tools:kotlin-build-tools-api"))
+ commonImplementation(project(":compiler:build-tools:kotlin-build-statistics"))
- commonRuntimeOnly(project(":kotlin-compiler-embeddable"))
commonRuntimeOnly(project(":kotlin-compiler-runner")) {
// Excluding dependency with not-relocated 'com.intellij' types
exclude(group = "org.jetbrains.kotlin", module = "kotlin-build-common")
+ exclude(group = "org.jetbrains.kotlin", module = "kotlin-compiler-embeddable")
}
commonRuntimeOnly(project(":kotlin-scripting-compiler-embeddable"))
commonRuntimeOnly(project(":kotlin-scripting-compiler-impl-embeddable"))
+ commonRuntimeOnly(project(":kotlin-util-klib"))
+ commonRuntimeOnly(project(":prepare:kotlin-gradle-plugin-compiler-dependencies"))
embedded(project(":kotlin-gradle-build-metrics"))
embedded(project(":kotlin-gradle-statistics"))
diff --git a/prepare/kotlin-gradle-plugin-compiler-dependencies/build.gradle.kts b/prepare/kotlin-gradle-plugin-compiler-dependencies/build.gradle.kts
new file mode 100644
index 00000000000..d98de93217f
--- /dev/null
+++ b/prepare/kotlin-gradle-plugin-compiler-dependencies/build.gradle.kts
@@ -0,0 +1,50 @@
+description = "Kotlin Compiler dependencies (used directly in KGP)"
+
+plugins {
+ `java`
+}
+
+// avoid adding new dependencies here
+val compilerModules = listOf(
+ ":compiler:cli", // for MessageRenderer, related to MessageCollector usage
+ ":compiler:cli-base", // for kotlinx-benchmark
+ ":compiler:cli-common", // for compiler arguments setup, for logging via MessageCollector, CompilerSystemProperties, ExitCode
+ ":compiler:config.jvm", // for K2JVMCompilerArguments initialization
+ ":compiler:config", // for kotlinx-benchmark
+ ":compiler:frontend", // for kotlinx-benchmark
+ ":compiler:ir.tree", // for PartialLinkageMode (K/N)
+ ":compiler:util", // for CommonCompilerArguments initialization, K/N
+ ":compiler:compiler.version", // for user projects buildscripts
+ ":core:compiler.common", // for kotlinx-benchmark
+ ":core:compiler.common.jvm", // for FUS statistics parsing all the compiler arguments, otherwise it fails silently
+ ":core:compiler.common.native", // for kotlinx-benchmark
+ ":core:descriptors", // for kotlinx-benchmark
+ ":core:deserialization.common", // for kotlinx-benchmark
+ ":core:deserialization", // for kotlinx-benchmark
+ ":core:metadata", // for kotlinx-benchmark
+ ":core:util.runtime", // for stdlib extensions
+ ":kotlin-build-common", // for incremental compilation setup
+ ":js:js.config", // for k/js task
+)
+
+dependencies {
+ for (dependency in compilerModules) {
+ embedded(project(dependency)) { isTransitive = false }
+ }
+ embedded(intellijUtilRt()) { isTransitive = false } // for kapt (PathUtil.getJdkClassesRoots)
+ embedded(intellijPlatformUtil()) { isTransitive = false } // for kapt (JavaVersion), KotlinToolRunner (escapeStringCharacters)
+ embedded(intellijPlatformUtilBase()) { isTransitive = false } // for kapt (PathUtil.getJdkClassesRoots)
+ embedded(commonDependency("org.jetbrains.intellij.deps.fastutil:intellij-deps-fastutil")) { isTransitive = false } // for kapt (PathUtil.getJdkClassesRoots)
+ embedded(jpsModelImpl()) { isTransitive = false } // for kapt (PathUtil.getJdkClassesRoots)
+ embedded(protobufLite()) { isTransitive = false } // for kotlinx-benchmark
+ embedded(commonDependency("org.jetbrains.intellij.deps:trove4j")) { isTransitive = false } // for k/js task
+}
+
+publish()
+
+runtimeJar(rewriteDefaultJarDepsToShadedCompiler())
+
+sourcesJar {
+ dependsOn(":compiler:ir.tree:generateTree")
+}
+javadocJar()
diff --git a/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-build-statistics/kotlin-build-statistics.pom b/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-build-statistics/kotlin-build-statistics.pom
new file mode 100644
index 00000000000..3da641d9016
--- /dev/null
+++ b/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-build-statistics/kotlin-build-statistics.pom
@@ -0,0 +1,42 @@
+
+
+ 4.0.0
+ org.jetbrains.kotlin
+ kotlin-build-statistics
+ ArtifactsTest.version
+ Kotlin Build Statistics
+ Kotlin Build Report Common
+ https://kotlinlang.org/
+
+
+ The Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+
+
+
+
+ Kotlin Team
+ JetBrains
+ https://www.jetbrains.com
+
+
+
+ scm:git:https://github.com/JetBrains/kotlin.git
+ scm:git:https://github.com/JetBrains/kotlin.git
+ https://github.com/JetBrains/kotlin
+
+
+
+ org.jetbrains.kotlin
+ kotlin-build-tools-api
+ ArtifactsTest.version
+ runtime
+
+
+ com.google.code.gson
+ gson
+ 2.8.9
+ runtime
+
+
+
diff --git a/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-gradle-plugin-compiler-dependencies/kotlin-gradle-plugin-compiler-dependencies.pom b/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-gradle-plugin-compiler-dependencies/kotlin-gradle-plugin-compiler-dependencies.pom
new file mode 100644
index 00000000000..64637e73854
--- /dev/null
+++ b/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-gradle-plugin-compiler-dependencies/kotlin-gradle-plugin-compiler-dependencies.pom
@@ -0,0 +1,29 @@
+
+
+ 4.0.0
+ org.jetbrains.kotlin
+ kotlin-gradle-plugin-compiler-dependencies
+ ArtifactsTest.version
+ Kotlin Gradle Plugin Compiler Dependencies
+ Kotlin Compiler dependencies (used directly in KGP)
+ https://kotlinlang.org/
+
+
+ The Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+
+
+
+
+ Kotlin Team
+ JetBrains
+ https://www.jetbrains.com
+
+
+
+ scm:git:https://github.com/JetBrains/kotlin.git
+ scm:git:https://github.com/JetBrains/kotlin.git
+ https://github.com/JetBrains/kotlin
+
+
diff --git a/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-gradle-plugin/kotlin-gradle-plugin.pom b/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-gradle-plugin/kotlin-gradle-plugin.pom
index 762a7f0fce5..91ba4620b87 100644
--- a/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-gradle-plugin/kotlin-gradle-plugin.pom
+++ b/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-gradle-plugin/kotlin-gradle-plugin.pom
@@ -170,38 +170,6 @@
-
- org.jetbrains.kotlin
- kotlin-util-klib
- ArtifactsTest.version
- runtime
-
-
- kotlin-reflect
- org.jetbrains.kotlin
-
-
- kotlin-stdlib-jdk8
- org.jetbrains.kotlin
-
-
- kotlin-stdlib-jdk7
- org.jetbrains.kotlin
-
-
- kotlin-stdlib
- org.jetbrains.kotlin
-
-
- kotlin-script-runtime
- org.jetbrains.kotlin
-
-
- kotlin-stdlib-common
- org.jetbrains.kotlin
-
-
-
org.jetbrains.kotlin
kotlin-klib-commonizer-api
@@ -268,7 +236,7 @@
org.jetbrains.kotlin
- kotlin-compiler-embeddable
+ kotlin-build-statistics
ArtifactsTest.version
runtime
@@ -304,6 +272,10 @@
ArtifactsTest.version
runtime
+
+ kotlin-compiler-embeddable
+ org.jetbrains.kotlin
+
kotlin-reflect
org.jetbrains.kotlin
@@ -398,5 +370,69 @@
+
+ org.jetbrains.kotlin
+ kotlin-util-klib
+ ArtifactsTest.version
+ runtime
+
+
+ kotlin-reflect
+ org.jetbrains.kotlin
+
+
+ kotlin-stdlib-jdk8
+ org.jetbrains.kotlin
+
+
+ kotlin-stdlib-jdk7
+ org.jetbrains.kotlin
+
+
+ kotlin-stdlib
+ org.jetbrains.kotlin
+
+
+ kotlin-script-runtime
+ org.jetbrains.kotlin
+
+
+ kotlin-stdlib-common
+ org.jetbrains.kotlin
+
+
+
+
+ org.jetbrains.kotlin
+ kotlin-gradle-plugin-compiler-dependencies
+ ArtifactsTest.version
+ runtime
+
+
+ kotlin-reflect
+ org.jetbrains.kotlin
+
+
+ kotlin-stdlib-jdk8
+ org.jetbrains.kotlin
+
+
+ kotlin-stdlib-jdk7
+ org.jetbrains.kotlin
+
+
+ kotlin-stdlib
+ org.jetbrains.kotlin
+
+
+ kotlin-script-runtime
+ org.jetbrains.kotlin
+
+
+ kotlin-stdlib-common
+ org.jetbrains.kotlin
+
+
+
diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/intellijDependencies.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/intellijDependencies.kt
index 75ad3ebd2c5..8a3812f70d1 100644
--- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/intellijDependencies.kt
+++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/intellijDependencies.kt
@@ -21,6 +21,7 @@ fun Project.jpsBuild() = "com.jetbrains.intellij.platform:jps-build:$intellijVer
fun Project.testFramework() = "com.jetbrains.intellij.platform:test-framework:$intellijVersion"
fun Project.devKitJps() = "com.jetbrains.intellij.devkit:devkit-jps:$intellijVersion"
fun Project.intellijPlatformUtil() = "com.jetbrains.intellij.platform:util:$intellijVersion"
+fun Project.intellijPlatformUtilBase() = "com.jetbrains.intellij.platform:util-base:$intellijVersion"
fun Project.intellijJavaRt() = "com.jetbrains.intellij.java:java-rt:$intellijVersion"
fun Project.intellijAnalysis() = "com.jetbrains.intellij.platform:analysis:$intellijVersion"
fun Project.intellijResources() = "com.jetbrains.intellij.platform:resources:$intellijVersion"
diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/tasks.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/tasks.kt
index 88fc350ac41..25380f98094 100644
--- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/tasks.kt
+++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/tasks.kt
@@ -81,6 +81,8 @@ val kotlinGradlePluginAndItsRequired = arrayOf(
":kotlin-test-js-runner",
":native:kotlin-klib-commonizer-embeddable",
":native:kotlin-klib-commonizer-api",
+ ":prepare:kotlin-gradle-plugin-compiler-dependencies",
+ ":compiler:build-tools:kotlin-build-statistics",
":compiler:build-tools:kotlin-build-tools-api",
":compiler:build-tools:kotlin-build-tools-impl",
)
diff --git a/settings.gradle b/settings.gradle
index fcb082705e6..90113e1fb85 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -268,7 +268,8 @@ include ":kotlin-imports-dumper-compiler-plugin",
":wasm:wasm.frontend",
":wasm:wasm.config",
":repo:codebase-tests",
- ":repo:artifacts-tests"
+ ":repo:artifacts-tests",
+ ":prepare:kotlin-gradle-plugin-compiler-dependencies"
include ":kotlin-atomicfu-compiler-plugin",
":kotlin-atomicfu-compiler-plugin-embeddable",