From 031c5f47d9db4f0f36d7a757581f99b89725cc3e Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Thu, 14 Oct 2021 14:52:39 +0200 Subject: [PATCH] Populate default settings even when 'build.gradle' file is missing. ^KT-45745 In Progress --- .../kotlin/gradle/testbase/testDsl.kt | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt index a10967b8855..a60572ca9a1 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt @@ -257,29 +257,33 @@ private fun setupProjectFromTestResources( } private fun Path.addDefaultBuildFiles() { - if (Files.exists(resolve("build.gradle"))) { - val settingsFile = resolve("settings.gradle") - settingsFile.addPluginManagementToSettings() - } + addPluginManagementToSettings() val buildSrc = resolve("buildSrc") if (Files.exists(buildSrc)) { - val settingsFile = buildSrc.resolve("settings.gradle") - settingsFile.addPluginManagementToSettings() + buildSrc.addPluginManagementToSettings() } } private fun Path.addPluginManagementToSettings() { - if (!Files.exists(this)) { - toFile().writeText(DEFAULT_GROOVY_SETTINGS_FILE) + val settingsGradle = resolve("settings.gradle") + val settingsGradleKts = resolve("settings.gradle.kts") + val fileToUpdate = when { + Files.exists(settingsGradle) -> settingsGradle + Files.exists(settingsGradleKts) -> settingsGradleKts + else -> null + } + + if (fileToUpdate == null) { + settingsGradle.toFile().writeText(DEFAULT_GROOVY_SETTINGS_FILE) } else { - val settingsContent = toFile().readText() + val settingsContent = fileToUpdate.toFile().readText() if (!settingsContent .lines() .first { !it.startsWith("//") } .startsWith("pluginManagement {") ) { - toFile().writeText( + fileToUpdate.toFile().writeText( """ $DEFAULT_GROOVY_SETTINGS_FILE