diff --git a/buildSrc/src/main/kotlin/tasks.kt b/buildSrc/src/main/kotlin/tasks.kt index c8a7c9b2b25..f891fa27941 100644 --- a/buildSrc/src/main/kotlin/tasks.kt +++ b/buildSrc/src/main/kotlin/tasks.kt @@ -44,6 +44,7 @@ val kotlinGradlePluginAndItsRequired = arrayOf( ":kotlin-daemon-embeddable", ":kotlin-daemon-client", ":kotlin-project-model", + ":kotlin-gradle-plugins-bom", ":kotlin-gradle-plugin-api", ":kotlin-gradle-plugin-annotations", ":kotlin-gradle-plugin-idea", diff --git a/libraries/tools/atomicfu/build.gradle.kts b/libraries/tools/atomicfu/build.gradle.kts index 844e5911196..9ca84c05ef0 100644 --- a/libraries/tools/atomicfu/build.gradle.kts +++ b/libraries/tools/atomicfu/build.gradle.kts @@ -10,6 +10,8 @@ pill { } dependencies { + api(platform(project(":kotlin-gradle-plugins-bom"))) + compileOnly(project(":kotlin-gradle-plugin")) compileOnly(project(":kotlin-compiler-embeddable")) diff --git a/libraries/tools/kotlin-allopen/build.gradle.kts b/libraries/tools/kotlin-allopen/build.gradle.kts index a2a9fb31169..cec452a9e7e 100644 --- a/libraries/tools/kotlin-allopen/build.gradle.kts +++ b/libraries/tools/kotlin-allopen/build.gradle.kts @@ -10,6 +10,7 @@ pill { } dependencies { + commonApi(platform(project(":kotlin-gradle-plugins-bom"))) commonApi(project(":kotlin-gradle-plugin-model")) commonCompileOnly(project(":kotlin-compiler-embeddable")) diff --git a/libraries/tools/kotlin-assignment/build.gradle.kts b/libraries/tools/kotlin-assignment/build.gradle.kts index 3736a535658..e6055476b21 100644 --- a/libraries/tools/kotlin-assignment/build.gradle.kts +++ b/libraries/tools/kotlin-assignment/build.gradle.kts @@ -10,6 +10,7 @@ pill { } dependencies { + commonApi(platform(project(":kotlin-gradle-plugins-bom"))) commonApi(project(":kotlin-gradle-plugin-model")) commonCompileOnly(project(":compiler")) diff --git a/libraries/tools/kotlin-gradle-plugin-annotations/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-annotations/build.gradle.kts index e555831a01c..34246eb42d8 100644 --- a/libraries/tools/kotlin-gradle-plugin-annotations/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-annotations/build.gradle.kts @@ -10,6 +10,7 @@ publish() standardPublicJars() dependencies { + api(platform(project(":kotlin-gradle-plugins-bom"))) compileOnly(kotlinStdlib()) } diff --git a/libraries/tools/kotlin-gradle-plugin-api/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-api/build.gradle.kts index e550d698c88..9ed540ab9f6 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-api/build.gradle.kts @@ -5,6 +5,7 @@ plugins { } dependencies { + commonApi(platform(project(":kotlin-gradle-plugins-bom"))) commonApi(project(":kotlin-gradle-plugin-annotations")) commonApi(project(":native:kotlin-native-utils")) commonApi(project(":kotlin-project-model")) @@ -31,4 +32,4 @@ tasks { apiBuild { inputJar.value(jar.flatMap { it.archiveFile }) } -} \ No newline at end of file +} diff --git a/libraries/tools/kotlin-gradle-plugin-model/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-model/build.gradle.kts index c40b1133752..b75dd4e169f 100644 --- a/libraries/tools/kotlin-gradle-plugin-model/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-model/build.gradle.kts @@ -1,4 +1,8 @@ plugins { id("gradle-plugin-dependency-configuration") id("jps-compatible") -} \ No newline at end of file +} + +dependencies { + api(platform(project(":kotlin-gradle-plugins-bom"))) +} diff --git a/libraries/tools/kotlin-gradle-plugin/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin/build.gradle.kts index de99e592e33..d9927f8a03d 100644 --- a/libraries/tools/kotlin-gradle-plugin/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin/build.gradle.kts @@ -29,6 +29,7 @@ kotlin.sourceSets.all { } dependencies { + commonApi(platform(project(":kotlin-gradle-plugins-bom"))) commonApi(project(":kotlin-gradle-plugin-api")) commonApi(project(":kotlin-gradle-plugin-model")) commonApi(project(":kotlin-tooling-core")) diff --git a/libraries/tools/kotlin-gradle-plugins-bom/build.gradle.kts b/libraries/tools/kotlin-gradle-plugins-bom/build.gradle.kts new file mode 100644 index 00000000000..36f288f5d10 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugins-bom/build.gradle.kts @@ -0,0 +1,40 @@ +import plugins.signLibraryPublication + +plugins { + id("java-platform") + id("maven-publish") +} + +dependencies { + constraints { + // kotlin-gradle-plugin-api + api(project(":kotlin-gradle-plugin-api")) + api(project(":kotlin-gradle-plugin-annotations")) + api(project(":kotlin-gradle-plugin-model")) + api(project(":native:kotlin-native-utils")) + api(project(":kotlin-tooling-core")) + + // plugins + api(project(":kotlin-gradle-plugin")) + api(project(":atomicfu")) + api(project(":kotlin-allopen")) + api(project(":kotlin-lombok")) + api(project(":kotlin-noarg")) + api(project(":kotlin-sam-with-receiver")) + api(project(":kotlin-serialization")) + api(project(":kotlin-assignment")) + } +} + +configureCommonPublicationSettingsForGradle(signLibraryPublication) + +publishing { + publications { + create("myPlatform") { + from(components["javaPlatform"]) + pom { + packaging = "pom" + } + } + } +} diff --git a/libraries/tools/kotlin-lombok/build.gradle.kts b/libraries/tools/kotlin-lombok/build.gradle.kts index d0351d10ad4..baf90e7ccf6 100644 --- a/libraries/tools/kotlin-lombok/build.gradle.kts +++ b/libraries/tools/kotlin-lombok/build.gradle.kts @@ -6,9 +6,10 @@ plugins { } dependencies { - embedded(project(":kotlin-lombok-compiler-plugin")) { isTransitive = false } - + commonApi(platform(project(":kotlin-gradle-plugins-bom"))) commonApi(project(":kotlin-gradle-plugin-model")) + + embedded(project(":kotlin-lombok-compiler-plugin")) { isTransitive = false } } projectTest(parallel = true) diff --git a/libraries/tools/kotlin-noarg/build.gradle.kts b/libraries/tools/kotlin-noarg/build.gradle.kts index bbc4987ffea..facb2dd8882 100644 --- a/libraries/tools/kotlin-noarg/build.gradle.kts +++ b/libraries/tools/kotlin-noarg/build.gradle.kts @@ -10,6 +10,7 @@ pill { } dependencies { + commonApi(platform(project(":kotlin-gradle-plugins-bom"))) commonApi(project(":kotlin-gradle-plugin-model")) commonCompileOnly(project(":compiler")) diff --git a/libraries/tools/kotlin-sam-with-receiver/build.gradle.kts b/libraries/tools/kotlin-sam-with-receiver/build.gradle.kts index 433e447cd23..fbaa543f9c2 100644 --- a/libraries/tools/kotlin-sam-with-receiver/build.gradle.kts +++ b/libraries/tools/kotlin-sam-with-receiver/build.gradle.kts @@ -10,6 +10,7 @@ pill { } dependencies { + commonApi(platform(project(":kotlin-gradle-plugins-bom"))) commonApi(project(":kotlin-gradle-plugin-model")) commonCompileOnly(project(":compiler")) diff --git a/libraries/tools/kotlin-serialization/build.gradle.kts b/libraries/tools/kotlin-serialization/build.gradle.kts index e95ac36b598..7269a524859 100644 --- a/libraries/tools/kotlin-serialization/build.gradle.kts +++ b/libraries/tools/kotlin-serialization/build.gradle.kts @@ -10,6 +10,8 @@ pill { } dependencies { + commonApi(platform(project(":kotlin-gradle-plugins-bom"))) + commonCompileOnly(project(":kotlin-gradle-plugin")) commonCompileOnly(project(":kotlin-compiler-embeddable")) diff --git a/libraries/tools/kotlin-tooling-core/build.gradle.kts b/libraries/tools/kotlin-tooling-core/build.gradle.kts index 28e3374e4d0..b73f54ab444 100644 --- a/libraries/tools/kotlin-tooling-core/build.gradle.kts +++ b/libraries/tools/kotlin-tooling-core/build.gradle.kts @@ -15,6 +15,7 @@ kotlin.sourceSets.configureEach { } dependencies { + api(platform(project(":kotlin-gradle-plugins-bom"))) compileOnly(kotlinStdlib()) testImplementation(project(":kotlin-test:kotlin-test-junit")) } diff --git a/native/utils/build.gradle.kts b/native/utils/build.gradle.kts index e46a8b494e3..83d57bea345 100644 --- a/native/utils/build.gradle.kts +++ b/native/utils/build.gradle.kts @@ -8,6 +8,7 @@ description = "Kotlin/Native utils" dependencies { compileOnly(kotlinStdlib()) api(project(":kotlin-util-io")) + api(platform(project(":kotlin-gradle-plugins-bom"))) testImplementation(commonDependency("junit:junit")) testImplementation(kotlinStdlib()) diff --git a/settings.gradle b/settings.gradle index 33502d4001b..4b521c75e83 100644 --- a/settings.gradle +++ b/settings.gradle @@ -246,6 +246,7 @@ include ":kotlin-imports-dumper-compiler-plugin", ":kotlin-gradle-plugin-model", ":kotlin-gradle-plugin-test-utils-embeddable", ":kotlin-gradle-plugin-integration-tests", + ":kotlin-gradle-plugins-bom", ":gradle:android-test-fixes", ":gradle:regression-benchmark-templates", ":gradle:regression-benchmarks", @@ -750,6 +751,7 @@ project(':kotlin-gradle-plugin-tcs-android').projectDir = "$rootDir/libraries/to project(':kotlin-gradle-plugin-model').projectDir = "$rootDir/libraries/tools/kotlin-gradle-plugin-model" as File project(':kotlin-gradle-plugin-test-utils-embeddable').projectDir = "$rootDir/libraries/tools/kotlin-gradle-plugin-test-utils-embeddable" as File project(':kotlin-gradle-plugin-integration-tests').projectDir = "$rootDir/libraries/tools/kotlin-gradle-plugin-integration-tests" as File +project(':kotlin-gradle-plugins-bom').projectDir = "$rootDir/libraries/tools/kotlin-gradle-plugins-bom" as File project(':gradle:android-test-fixes').projectDir = "$rootDir/libraries/tools/gradle/android-test-fixes" as File project(":gradle:regression-benchmark-templates").projectDir = "$rootDir/libraries/tools/gradle/regression-benchmark-templates" as File project(":gradle:regression-benchmarks").projectDir = "$rootDir/libraries/tools/gradle/regression-benchmarks" as File