From fdc06b2c1cb6aa9bc42cff92f2276985b34652f8 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Thu, 16 Jul 2020 12:58:59 +0300 Subject: [PATCH] Wizard: fix Android SDK path on Windows #KT-40232 fixed --- .../projectWizard/core/service/FileSystemWizardService.kt | 5 +++++ .../kotlin/tools/projectWizard/plugins/AndroidPlugin.kt | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/core/service/FileSystemWizardService.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/core/service/FileSystemWizardService.kt index 45cd99ed315..7de7d9a6ed0 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/core/service/FileSystemWizardService.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/core/service/FileSystemWizardService.kt @@ -9,12 +9,17 @@ import org.jetbrains.kotlin.tools.projectWizard.core.Success import org.jetbrains.kotlin.tools.projectWizard.core.TaskResult import org.jetbrains.kotlin.tools.projectWizard.core.computeM import org.jetbrains.kotlin.tools.projectWizard.core.safe +import java.io.File import java.nio.file.Files import java.nio.file.Path interface FileSystemWizardService : WizardService { fun createFile(path: Path, text: String): TaskResult fun createDirectory(path: Path): TaskResult + + fun renderPath(path: Path): String { + return path.toString().replace("""\""", """\\""") + } } class OsFileSystemWizardService : FileSystemWizardService, IdeaIndependentWizardService { diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/AndroidPlugin.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/AndroidPlugin.kt index 9258fe5601c..df167c0188c 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/AndroidPlugin.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/AndroidPlugin.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.tools.projectWizard.core.Context import org.jetbrains.kotlin.tools.projectWizard.core.Plugin import org.jetbrains.kotlin.tools.projectWizard.core.UNIT_SUCCESS import org.jetbrains.kotlin.tools.projectWizard.core.checker +import org.jetbrains.kotlin.tools.projectWizard.core.service.FileSystemWizardService import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.AndroidModuleConfigurator import org.jetbrains.kotlin.tools.projectWizard.phases.GenerationPhase import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.allIRModules @@ -40,8 +41,9 @@ class AndroidPlugin(context: Context) : Plugin(context) { withAction { if (allIRModules.none { it.originalModule.configurator is AndroidModuleConfigurator }) return@withAction UNIT_SUCCESS val path = AndroidPlugin::androidSdkPath.settingValue + val fileSystemService = service() GradlePlugin::localProperties.addValues( - "sdk.dir" to path + "sdk.dir" to fileSystemService.renderPath(path) ) } }