Kotlin / binary-compatibility-validator

Public API management tool
Apache License 2.0
799 stars 59 forks source link

Can't apply the BCV plugin to multimodule projects having the KMP applied only in sub-module #190

Open fzhinkin opened 7 months ago

fzhinkin commented 7 months ago

For a project having following structure:

root project: apply BCV plugin
  sub-project: apply kotlin-multiplatform plugin

tasks fails with:

* Exception is:
java.lang.NoClassDefFoundError: org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformExtension
        at kotlinx.validation.BinaryCompatibilityValidatorPlugin$configureMultiplatformPlugin$1.execute(BinaryCompatibilityValidatorPlugin.kt:57)
        at kotlinx.validation.BinaryCompatibilityValidatorPlugin$configureMultiplatformPlugin$1.execute(BinaryCompatibilityValidatorPlugin.kt:16)
        at kotlinx.validation.BinaryCompatibilityValidatorPlugin$configurePlugin$1.execute(BinaryCompatibilityValidatorPlugin.kt:49)
        at kotlinx.validation.BinaryCompatibilityValidatorPlugin$configurePlugin$1.execute(BinaryCompatibilityValidatorPlugin.kt:16)

There's no such an issue for Kotlin/JVM plugin applied to a sub-project.

fzhinkin commented 7 months ago

Reproducer: https://github.com/fzhinkin/bcv-190-repro