Replaced using of the separate BCV plugin to BCV in KGP
diff --git a/analysis/analysis-api/build.gradle.kts b/analysis/analysis-api/build.gradle.kts
index 6fff126..af90d51 100644
--- a/analysis/analysis-api/build.gradle.kts
+++ b/analysis/analysis-api/build.gradle.kts
@@ -3,7 +3,6 @@
plugins {
kotlin("jvm")
id("jps-compatible")
- id("org.jetbrains.kotlinx.binary-compatibility-validator")
}
kotlin {
@@ -42,15 +41,26 @@
"test" { projectDefault() }
}
-apiValidation {
- nonPublicMarkers += listOf(
- "org.jetbrains.kotlin.analysis.api.KaImplementationDetail",
- "org.jetbrains.kotlin.analysis.api.KaNonPublicApi",
- "org.jetbrains.kotlin.analysis.api.KaIdeApi",
- "org.jetbrains.kotlin.analysis.api.KaExperimentalApi",
- "org.jetbrains.kotlin.analysis.api.KaPlatformInterface", // Platform interface is not stable yet
- "org.jetbrains.kotlin.analysis.api.KaContextParameterApi",
- )
+kotlin {
+ @OptIn(org.jetbrains.kotlin.gradle.dsl.abi.ExperimentalAbiValidation::class)
+ abiValidation {
+ enabled = true
+
+ filters {
+ excluded.annotatedWith.addAll(
+ "org.jetbrains.kotlin.analysis.api.KaImplementationDetail",
+ "org.jetbrains.kotlin.analysis.api.KaNonPublicApi",
+ "org.jetbrains.kotlin.analysis.api.KaIdeApi",
+ "org.jetbrains.kotlin.analysis.api.KaExperimentalApi",
+ "org.jetbrains.kotlin.analysis.api.KaPlatformInterface", // Platform interface is not stable yet
+ "org.jetbrains.kotlin.analysis.api.KaContextParameterApi",
+ )
+ }
+ }
+}
+
+tasks.check {
+ dependsOn(tasks.checkLegacyAbi)
}
testsJar()
diff --git a/compiler/build-tools/kotlin-build-tools-api/build.gradle.kts b/compiler/build-tools/kotlin-build-tools-api/build.gradle.kts
index 82f8403..d11f6cb 100644
--- a/compiler/build-tools/kotlin-build-tools-api/build.gradle.kts
+++ b/compiler/build-tools/kotlin-build-tools-api/build.gradle.kts
@@ -4,7 +4,6 @@
plugins {
kotlin("jvm")
id("jps-compatible")
- id("org.jetbrains.kotlinx.binary-compatibility-validator")
}
configureKotlinCompileTasksGradleCompatibility()
@@ -25,6 +24,16 @@
explicitApi()
}
+kotlin {
+ @OptIn(org.jetbrains.kotlin.gradle.dsl.abi.ExperimentalAbiValidation::class)
+ abiValidation {
+ enabled = true
+ }
+}
+tasks.check {
+ dependsOn(tasks.checkLegacyAbi)
+}
+
publish()
standardPublicJars()
diff --git a/compiler/psi/psi-api/build.gradle.kts b/compiler/psi/psi-api/build.gradle.kts
index 44a3b8e..2689222 100644
--- a/compiler/psi/psi-api/build.gradle.kts
+++ b/compiler/psi/psi-api/build.gradle.kts
@@ -1,7 +1,6 @@
plugins {
kotlin("jvm")
id("jps-compatible")
- id("org.jetbrains.kotlinx.binary-compatibility-validator")
id("java-test-fixtures")
}
@@ -31,10 +30,18 @@
"testFixtures" { projectDefault() }
}
-apiValidation {
- nonPublicMarkers += listOf(
- "org.jetbrains.kotlin.psi.KtImplementationDetail",
- )
+kotlin {
+ @OptIn(org.jetbrains.kotlin.gradle.dsl.abi.ExperimentalAbiValidation::class)
+ abiValidation {
+ enabled = true
+
+ filters {
+ excluded.annotatedWith.add("org.jetbrains.kotlin.psi.KtImplementationDetail")
+ }
+ }
+}
+tasks.check {
+ dependsOn(tasks.checkLegacyAbi)
}
testsJar()
diff --git a/libraries/kotlinx-metadata/jvm/build.gradle.kts b/libraries/kotlinx-metadata/jvm/build.gradle.kts
index 7145c41..18c2805 100644
--- a/libraries/kotlinx-metadata/jvm/build.gradle.kts
+++ b/libraries/kotlinx-metadata/jvm/build.gradle.kts
@@ -62,6 +62,7 @@
}
tasks.apiBuild {
+ // dependency on local jar
inputJar.value(runtimeJar.flatMap { it.archiveFile })
}
diff --git a/libraries/tools/abi-validation/abi-tools-api/build.gradle.kts b/libraries/tools/abi-validation/abi-tools-api/build.gradle.kts
index 80fd7c0..d1380ba 100644
--- a/libraries/tools/abi-validation/abi-tools-api/build.gradle.kts
+++ b/libraries/tools/abi-validation/abi-tools-api/build.gradle.kts
@@ -1,6 +1,5 @@
plugins {
kotlin("jvm")
- id("org.jetbrains.kotlinx.binary-compatibility-validator")
}
kotlin {
@@ -13,6 +12,16 @@
standardPublicJars()
+kotlin {
+ @OptIn(org.jetbrains.kotlin.gradle.dsl.abi.ExperimentalAbiValidation::class)
+ abiValidation {
+ enabled = true
+ }
+}
+tasks.check {
+ dependsOn(tasks.checkLegacyAbi)
+}
+
dependencies {
// remove stdlib dependency from api artifact in order not to affect the dependencies of the user project
val coreDepsVersion = libs.versions.kotlin.`for`.gradle.plugins.compilation.get()
diff --git a/libraries/tools/abi-validation/abi-tools/build.gradle.kts b/libraries/tools/abi-validation/abi-tools/build.gradle.kts
index 3c0c343..600591f 100644
--- a/libraries/tools/abi-validation/abi-tools/build.gradle.kts
+++ b/libraries/tools/abi-validation/abi-tools/build.gradle.kts
@@ -1,6 +1,5 @@
plugins {
kotlin("jvm")
- id("org.jetbrains.kotlinx.binary-compatibility-validator")
}
kotlin {
@@ -29,6 +28,16 @@
}
}
+kotlin {
+ @OptIn(org.jetbrains.kotlin.gradle.dsl.abi.ExperimentalAbiValidation::class)
+ abiValidation {
+ enabled = true
+ }
+}
+tasks.check {
+ dependsOn(tasks.checkLegacyAbi)
+}
+
dependencies {
api(project(":libraries:tools:abi-validation:abi-tools-api"))
diff --git a/libraries/tools/gradle/kotlin-gradle-ecosystem-plugin/build.gradle.kts b/libraries/tools/gradle/kotlin-gradle-ecosystem-plugin/build.gradle.kts
index 39e74a6..3f9d8e9 100644
--- a/libraries/tools/gradle/kotlin-gradle-ecosystem-plugin/build.gradle.kts
+++ b/libraries/tools/gradle/kotlin-gradle-ecosystem-plugin/build.gradle.kts
@@ -21,5 +21,6 @@
}
tasks.named<KotlinApiBuildTask>("apiBuild") {
+ // local jar
inputJar.value(tasks.named<Jar>("jar").flatMap { it.archiveFile })
}
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin-annotations/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-annotations/build.gradle.kts
index 4d7fae9..2e38c718 100644
--- a/libraries/tools/kotlin-gradle-plugin-annotations/build.gradle.kts
+++ b/libraries/tools/kotlin-gradle-plugin-annotations/build.gradle.kts
@@ -22,6 +22,7 @@
tasks {
apiBuild {
+ // local jar
inputJar.value(jar.flatMap { it.archiveFile })
}
}
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin-api/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-api/build.gradle.kts
index ceb7465..2af5e05 100644
--- a/libraries/tools/kotlin-gradle-plugin-api/build.gradle.kts
+++ b/libraries/tools/kotlin-gradle-plugin-api/build.gradle.kts
@@ -38,6 +38,7 @@
tasks {
apiBuild {
+ // same with local jar task
inputJar.value(jar.flatMap { it.archiveFile })
}
}
diff --git a/libraries/tools/kotlin-gradle-plugin-idea-proto/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-idea-proto/build.gradle.kts
index fce8e65..67f9e5b 100644
--- a/libraries/tools/kotlin-gradle-plugin-idea-proto/build.gradle.kts
+++ b/libraries/tools/kotlin-gradle-plugin-idea-proto/build.gradle.kts
@@ -61,6 +61,7 @@
tasks {
apiBuild {
+ // actually we use only `mainSourceSet.output` classes, classes from `FileCollection`
inputJar.value(binaryValidationApiJar.flatMap { it.archiveFile })
}
}
diff --git a/libraries/tools/kotlin-gradle-plugin-idea/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-idea/build.gradle.kts
index 424a946..8918bbe 100644
--- a/libraries/tools/kotlin-gradle-plugin-idea/build.gradle.kts
+++ b/libraries/tools/kotlin-gradle-plugin-idea/build.gradle.kts
@@ -71,6 +71,7 @@
tasks {
apiBuild {
+ // local jar
inputJar.value(jar.flatMap { it.archiveFile })
}
}
diff --git a/libraries/tools/kotlin-tooling-core/build.gradle.kts b/libraries/tools/kotlin-tooling-core/build.gradle.kts
index 2f03793..2cffa423 100644
--- a/libraries/tools/kotlin-tooling-core/build.gradle.kts
+++ b/libraries/tools/kotlin-tooling-core/build.gradle.kts
@@ -17,6 +17,7 @@
tasks {
apiBuild {
+ // use output of local JAR task
inputJar.value(jar.flatMap { it.archiveFile })
}
}
\ No newline at end of file