Wizard: fix Android SDK path on Windows

#KT-40232 fixed
This commit is contained in:
Ilya Kirillov
2020-07-16 12:58:59 +03:00
parent a153e7fe30
commit fdc06b2c1c
2 changed files with 8 additions and 1 deletions
@@ -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<Unit>
fun createDirectory(path: Path): TaskResult<Unit>
fun renderPath(path: Path): String {
return path.toString().replace("""\""", """\\""")
}
}
class OsFileSystemWizardService : FileSystemWizardService, IdeaIndependentWizardService {
@@ -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<FileSystemWizardService>()
GradlePlugin::localProperties.addValues(
"sdk.dir" to path
"sdk.dir" to fileSystemService.renderPath(path)
)
}
}