@@ -11,6 +11,7 @@ import org.gradle.api.artifacts.Configuration
1111import org.gradle.api.plugins.*
1212import org.gradle.api.provider.*
1313import org.gradle.api.tasks.*
14+ import org.gradle.util.GradleVersion
1415import org.jetbrains.kotlin.gradle.dsl.*
1516import org.jetbrains.kotlin.gradle.plugin.*
1617import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
@@ -659,7 +660,7 @@ private fun Project.prepareKlibValidationClasspath(): NamedDomainObjectProvider<
659660 it.description = " Runtime classpath for running binary-compatibility-validator."
660661 it.isCanBeResolved = false
661662 it.isCanBeConsumed = false
662- it.isCanBeDeclared = true
663+ it.isCanBeDeclaredCompat = true
663664 it.isVisible = false
664665 }
665666
@@ -669,7 +670,7 @@ private fun Project.prepareKlibValidationClasspath(): NamedDomainObjectProvider<
669670 it.description = " Resolve the runtime classpath for running binary-compatibility-validator."
670671 it.isCanBeResolved = true
671672 it.isCanBeConsumed = false
672- it.isCanBeDeclared = false
673+ it.isCanBeDeclaredCompat = false
673674 it.isVisible = false
674675 it.extendsFrom(dependencyConfiguration)
675676 }
@@ -689,7 +690,7 @@ private fun Project.prepareJvmValidationClasspath(): NamedDomainObjectProvider<C
689690 it.description = " Runtime classpath for running binary-compatibility-validator."
690691 it.isCanBeResolved = false
691692 it.isCanBeConsumed = false
692- it.isCanBeDeclared = true
693+ it.isCanBeDeclaredCompat = true
693694 it.isVisible = false
694695 }
695696
@@ -701,7 +702,7 @@ private fun Project.prepareJvmValidationClasspath(): NamedDomainObjectProvider<C
701702 it.description = " Resolve the runtime classpath for running binary-compatibility-validator."
702703 it.isCanBeResolved = true
703704 it.isCanBeConsumed = false
704- it.isCanBeDeclared = false
705+ it.isCanBeDeclaredCompat = false
705706 it.isVisible = false
706707 it.extendsFrom(dependencyConfiguration)
707708 }
@@ -757,3 +758,16 @@ private fun Project.readVersion(): String? {
757758
758759 return version
759760}
761+
762+ private val Gradle820 = GradleVersion .version(" 8.2" )
763+
764+ /* *
765+ * [Configuration.isCanBeDeclared] is introduced in Gradle 8.2, we need to compat older Gradle users.
766+ */
767+ private var Configuration .isCanBeDeclaredCompat: Boolean
768+ get() = if (GradleVersion .current() >= Gradle820 ) isCanBeDeclared else true
769+ set(value) {
770+ if (GradleVersion .current() >= Gradle820 ) {
771+ isCanBeDeclared = value
772+ }
773+ }
0 commit comments