From 5d46e45da727513002038d4cb3b116192b79e90b Mon Sep 17 00:00:00 2001 From: Anton Lakotka Date: Fri, 10 Nov 2023 12:55:34 +0100 Subject: [PATCH] [Gradle] Fix tests for Gradle 8.2 compatibility * Dependency scope configurations can't have attributes * ConfigurationInternal.path is removed ^KT-60879 --- .../util/testResolveAllConfigurations.kt | 22 ++++++++++--------- .../plain-jvm/build.gradle | 4 +++- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/util/testResolveAllConfigurations.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/util/testResolveAllConfigurations.kt index 979f8ad629d..5b468a383c2 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/util/testResolveAllConfigurations.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/util/testResolveAllConfigurations.kt @@ -85,16 +85,17 @@ private fun generateResolveAllConfigurationsTask(excludes: List) = .matching { !excludeConfigs.contains(it.name) } .each { configuration -> try { - println "Resolving " + configuration.path - configuration.files.each { println '>> ' + configuration.path + ' --> ' + it.name } - println "OK, resolved " + configuration.path + "\n" + def configurationPath = (project.path == ":") ? ":" + configuration.name : project.path + ":" + configuration.name + println "Resolving " + configurationPath + configuration.files.each { println '>> ' + configurationPath + ' --> ' + it.name } + println "OK, resolved " + configurationPath + "\n" } catch (e) { def ex = e while (ex != null) { println ex.message ex = ex.cause } - println '$UNRESOLVED_MARKER' + configuration.name + "\n" + println '$UNRESOLVED_MARKER' + configurationPath + "\n" } } } @@ -115,24 +116,25 @@ private fun generateResolveAllConfigurationsTaskKts(excludes: List) = .filter { it.isCanBeResolved } .filterNot { excludeConfigs.contains(it.name) } .forEach { configuration -> - val path = (configuration as org.gradle.api.internal.artifacts.configurations.ConfigurationInternal).path + val configurationPath = + if (project.path == ":") ":" + configuration.name + else project.path + ":" + configuration.name try { - println("Resolving ${'$'}path") - configuration.files.forEach { println(">> ${'$'}path --> ${'$'}{it.name}") } - println("OK, resolved ${'$'}path\n") + println("Resolving ${'$'}configurationPath") + configuration.files.forEach { println(">> ${'$'}configurationPath --> ${'$'}{it.name}") } + println("OK, resolved ${'$'}configurationPath\n") } catch (e: Throwable) { var ex = e as Throwable? while (ex != null) { println(ex.message) ex = ex.cause } - println("$UNRESOLVED_MARKER ${'$'}{configuration.name}\n") + println("$UNRESOLVED_MARKER ${'$'}configurationPath\n") } } } } """.trimIndent() - private fun computeExcludeConfigurations(excludes: List): String { val deprecatedConfigurations = listOf("compile", "runtime", "compileOnly", "runtimeOnly") return """ diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-multi-modules/plain-jvm/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-multi-modules/plain-jvm/build.gradle index 2455dd8dba2..602effadba4 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-multi-modules/plain-jvm/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-multi-modules/plain-jvm/build.gradle @@ -34,5 +34,7 @@ publishing { def complexLibAttribute = Attribute.of('org.jetbrains.qa.complexlib', String) configurations.all { - attributes { attribute(complexLibAttribute, 'jvmWithJava') } + if (isCanBeResolved()) { + attributes { attribute(complexLibAttribute, 'jvmWithJava') } + } }