From 26c27f55b3d9144a3df9f6b6a27818f48fe613b9 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Wed, 29 Jan 2020 19:03:10 +0300 Subject: [PATCH] [Gradle, JS] Fix test for resolving --- .../org/jetbrains/kotlin/gradle/BaseGradleIT.kt | 5 +++++ .../kotlin/gradle/VariantAwareDependenciesIT.kt | 12 ++++++++++++ .../gradle/util/testResolveAllConfigurations.kt | 17 ++++++++++------- 3 files changed, 27 insertions(+), 7 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 46b40a97e8a..af92a2ff198 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 @@ -627,6 +627,11 @@ Finished executing task ':$taskName'| singleOrNull { it.exists() } ?: first() } + fun Project.gradleProperties(): File = + listOf("gradle.properties").mapNotNull { + File(projectDir, it).takeIf(File::exists) + }.single() + /** * @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/VariantAwareDependenciesIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/VariantAwareDependenciesIT.kt index 636a2aebc9a..c1d60c1713a 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/VariantAwareDependenciesIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/VariantAwareDependenciesIT.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.gradle.util.isWindows import org.jetbrains.kotlin.gradle.util.modify import org.jetbrains.kotlin.gradle.util.testResolveAllConfigurations import org.junit.Test +import kotlin.test.assertTrue class VariantAwareDependenciesIT : BaseGradleIT() { private val gradleVersion = GradleVersionRequired.None @@ -39,6 +40,17 @@ class VariantAwareDependenciesIT : BaseGradleIT() { gradleBuildScript(innerProject.projectName).appendText("\nrepositories { jcenter() }; dependencies { compile rootProject }") testResolveAllConfigurations(innerProject.projectName) { + assertContains(">> :${innerProject.projectName}:runtime --> sample-lib-nodejs-1.0.klib") + } + + gradleProperties().appendText("\nkotlin.js.mode=legacy") + + assertTrue { gradleProperties().readText().contains("kotlin.js.mode=legacy") } + + testResolveAllConfigurations( + subproject = innerProject.projectName, + skipSetup = true + ) { assertContains(">> :${innerProject.projectName}:runtime --> sample-lib-nodejs-1.0.jar") } } 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 a27cbfcc81d..35e9314189c 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 @@ -14,18 +14,21 @@ private val unresolvedConfigurationRegex = "${Regex.escape(UNRESOLVED_MARKER)}(. fun BaseGradleIT.Project.testResolveAllConfigurations( subproject: String? = null, + skipSetup: Boolean = false, excludePredicate: String = "false", withUnresolvedConfigurationNames: BaseGradleIT.CompiledProject.(List) -> Unit = { assertTrue("Unresolved configurations: $it") { it.isEmpty() } } ) = with(testCase) { - setupWorkingDir() - gradleBuildScript(subproject).run { - val taskCode = when (extension) { - "gradle" -> generateResolveAllConfigurationsTask(excludePredicate) - "kts" -> generateResolveAllConfigurationsTaskKts(excludePredicate) - else -> error("Unexpected build script extension $extension") + if (!skipSetup) { + setupWorkingDir() + gradleBuildScript(subproject).run { + val taskCode = when (extension) { + "gradle" -> generateResolveAllConfigurationsTask(excludePredicate) + "kts" -> generateResolveAllConfigurationsTaskKts(excludePredicate) + else -> error("Unexpected build script extension $extension") + } + appendText("\n" + taskCode) } - appendText("\n" + taskCode) } build(RESOLVE_ALL_CONFIGURATIONS_TASK_NAME) {