@@ -11,6 +11,7 @@ import org.gradle.api.artifacts.Configuration
11
11
import org.gradle.api.plugins.*
12
12
import org.gradle.api.provider.*
13
13
import org.gradle.api.tasks.*
14
+ import org.gradle.util.GradleVersion
14
15
import org.jetbrains.kotlin.gradle.dsl.*
15
16
import org.jetbrains.kotlin.gradle.plugin.*
16
17
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
@@ -659,7 +660,7 @@ private fun Project.prepareKlibValidationClasspath(): NamedDomainObjectProvider<
659
660
it.description = " Runtime classpath for running binary-compatibility-validator."
660
661
it.isCanBeResolved = false
661
662
it.isCanBeConsumed = false
662
- it.isCanBeDeclared = true
663
+ it.isCanBeDeclaredCompat = true
663
664
it.isVisible = false
664
665
}
665
666
@@ -669,7 +670,7 @@ private fun Project.prepareKlibValidationClasspath(): NamedDomainObjectProvider<
669
670
it.description = " Resolve the runtime classpath for running binary-compatibility-validator."
670
671
it.isCanBeResolved = true
671
672
it.isCanBeConsumed = false
672
- it.isCanBeDeclared = false
673
+ it.isCanBeDeclaredCompat = false
673
674
it.isVisible = false
674
675
it.extendsFrom(dependencyConfiguration)
675
676
}
@@ -689,7 +690,7 @@ private fun Project.prepareJvmValidationClasspath(): NamedDomainObjectProvider<C
689
690
it.description = " Runtime classpath for running binary-compatibility-validator."
690
691
it.isCanBeResolved = false
691
692
it.isCanBeConsumed = false
692
- it.isCanBeDeclared = true
693
+ it.isCanBeDeclaredCompat = true
693
694
it.isVisible = false
694
695
}
695
696
@@ -701,7 +702,7 @@ private fun Project.prepareJvmValidationClasspath(): NamedDomainObjectProvider<C
701
702
it.description = " Resolve the runtime classpath for running binary-compatibility-validator."
702
703
it.isCanBeResolved = true
703
704
it.isCanBeConsumed = false
704
- it.isCanBeDeclared = false
705
+ it.isCanBeDeclaredCompat = false
705
706
it.isVisible = false
706
707
it.extendsFrom(dependencyConfiguration)
707
708
}
@@ -757,3 +758,16 @@ private fun Project.readVersion(): String? {
757
758
758
759
return version
759
760
}
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