diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/PreHmppDependenciesDeprecationIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/PreHmppDependenciesDeprecationIT.kt index c7c2be4457a..06fc157b094 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/PreHmppDependenciesDeprecationIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/PreHmppDependenciesDeprecationIT.kt @@ -17,6 +17,12 @@ class PreHmppDependenciesDeprecationIT : KGPBaseTest() { checkDiagnostics(gradleVersion, "simpleReport", tempDir, expectReportForDependency = "preHmppLibrary") } + @GradleTest + fun testReportFromIntermediateSourceSet(gradleVersion: GradleVersion, @TempDir tempDir: Path) { + publishLibrary("preHmppLibrary", gradleVersion, tempDir) + checkDiagnostics(gradleVersion, "reportFromIntermediateSourceSet", tempDir, expectReportForDependency = "preHmppLibrary") + } + @GradleTest fun testTransitiveDependencyUpgradesVersion(gradleVersion: GradleVersion, @TempDir tempDir: Path) { // 0.1 diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/preHmppDependenciesDeprecation/reportFromIntermediateSourceSet/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/preHmppDependenciesDeprecation/reportFromIntermediateSourceSet/build.gradle.kts new file mode 100644 index 00000000000..327105aef04 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/preHmppDependenciesDeprecation/reportFromIntermediateSourceSet/build.gradle.kts @@ -0,0 +1,34 @@ +plugins { + kotlin("multiplatform") +} + +repositories { + mavenCentral() + mavenLocal() + maven("") +} + +kotlin { + jvm() + linuxX64() + js() + + sourceSets { + val commonMain by getting + + val intermediate by creating { + dependsOn(commonMain) + dependencies { + implementation("org.jetbrains.kotlin.tests:preHmppLibrary:0.1") + } + } + + val jvmMain by getting { + dependsOn(intermediate) + } + + val linuxX64Main by getting { + dependsOn(intermediate) + } + } +} diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/internal/deprecationDiagnostics.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/internal/deprecationDiagnostics.kt index 63b89ca9d23..c8a7899b078 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/internal/deprecationDiagnostics.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/internal/deprecationDiagnostics.kt @@ -56,9 +56,9 @@ private fun reportTargetsWithNonUniqueConsumableConfigurations(project: Project) } SingleWarningPerBuild.show( - project,"w: The following targets are not distinguishable:\n$nonUniqueTargetsString" + - "\nUse distinguish attribute. " + - "See https://kotlinlang.org/docs/multiplatform-set-up-targets.html#distinguish-several-targets-for-one-platform for more details." + project, "w: The following targets are not distinguishable:\n$nonUniqueTargetsString" + + "\nUse distinguish attribute. " + + "See https://kotlinlang.org/docs/multiplatform-set-up-targets.html#distinguish-several-targets-for-one-platform for more details." ) } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/runProjectConfigurationHealthCheck.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/runProjectConfigurationHealthCheck.kt index 9d0453b17fb..18794ebf718 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/runProjectConfigurationHealthCheck.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/runProjectConfigurationHealthCheck.kt @@ -9,8 +9,10 @@ import org.gradle.api.Project import org.gradle.api.internal.project.ProjectInternal import org.gradle.api.provider.Provider import org.gradle.tooling.model.kotlin.dsl.KotlinDslModelsParameters +import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle import org.jetbrains.kotlin.gradle.plugin.internal.configurationTimePropertiesAccessor import org.jetbrains.kotlin.gradle.plugin.internal.usedAtConfigurationTime +import org.jetbrains.kotlin.gradle.plugin.launchInStage import org.jetbrains.kotlin.gradle.plugin.whenEvaluated /** @@ -97,7 +99,7 @@ private fun Project.inLenientMode() = * @see runProjectConfigurationHealthCheck */ internal inline fun Project.runProjectConfigurationHealthCheckWhenEvaluated(crossinline check: Project.() -> Unit) { - whenEvaluated { + launchInStage(KotlinPluginLifecycle.Stage.ReadyForExecution) { runProjectConfigurationHealthCheck(check) } }