From cd32cef2b6ca893fffb6197775828e819e38498c Mon Sep 17 00:00:00 2001 From: Sergey Igushkin Date: Wed, 29 Jan 2020 18:00:59 +0300 Subject: [PATCH] Fix MPP Gradle tests * Use `maven { setUrl(...) }` in Groovy DSL * Configure compilation tasks beforehand in testMppBuildWithCompilerPlugins * Prevent `gradleSettingsScript()` from failing when no settings script is found --- .../kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt | 8 +++++--- .../org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt | 3 +++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt index a7ac167374f..46b40a97e8a 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt @@ -621,9 +621,11 @@ Finished executing task ':$taskName'| }.single() fun Project.gradleSettingsScript(): File = - listOf("settings.gradle", "settings.gradle.kts").mapNotNull { - File(projectDir, it).takeIf(File::exists) - }.single() + listOf("settings.gradle", "settings.gradle.kts").map { + File(projectDir, it) + }.run { + singleOrNull { it.exists() } ?: first() + } /** * @param assertionFileName path to xml with expected test results, relative to test resources root diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt index dac827b6dc5..57ff78f48bd 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt @@ -1836,6 +1836,9 @@ class NewMultiplatformIT : BaseGradleIT() { noArg { annotation 'com.example.Annotation' } task $printOptionsTaskName { + // if the tasks are not configured during evaluation phase, configuring them during execution + // leads to new dependencies unsuccessfully added to the resolved compilerPluginsClasspath configuration + kotlin.targets.all { compilations.all { /*force to configure the*/ compileKotlinTask } } doFirst { kotlin.sourceSets.each { sourceSet -> def args = sourceSet.languageSettings.compilerPluginArguments