@@ -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