Wizard: fix Android SDK path on Windows
#KT-40232 fixed
This commit is contained in:
+5
@@ -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.TaskResult
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.core.computeM
|
import org.jetbrains.kotlin.tools.projectWizard.core.computeM
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.core.safe
|
import org.jetbrains.kotlin.tools.projectWizard.core.safe
|
||||||
|
import java.io.File
|
||||||
import java.nio.file.Files
|
import java.nio.file.Files
|
||||||
import java.nio.file.Path
|
import java.nio.file.Path
|
||||||
|
|
||||||
interface FileSystemWizardService : WizardService {
|
interface FileSystemWizardService : WizardService {
|
||||||
fun createFile(path: Path, text: String): TaskResult<Unit>
|
fun createFile(path: Path, text: String): TaskResult<Unit>
|
||||||
fun createDirectory(path: Path): TaskResult<Unit>
|
fun createDirectory(path: Path): TaskResult<Unit>
|
||||||
|
|
||||||
|
fun renderPath(path: Path): String {
|
||||||
|
return path.toString().replace("""\""", """\\""")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class OsFileSystemWizardService : FileSystemWizardService, IdeaIndependentWizardService {
|
class OsFileSystemWizardService : FileSystemWizardService, IdeaIndependentWizardService {
|
||||||
|
|||||||
+3
-1
@@ -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.Plugin
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.core.UNIT_SUCCESS
|
import org.jetbrains.kotlin.tools.projectWizard.core.UNIT_SUCCESS
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.core.checker
|
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.moduleConfigurators.AndroidModuleConfigurator
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.phases.GenerationPhase
|
import org.jetbrains.kotlin.tools.projectWizard.phases.GenerationPhase
|
||||||
import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.allIRModules
|
import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.allIRModules
|
||||||
@@ -40,8 +41,9 @@ class AndroidPlugin(context: Context) : Plugin(context) {
|
|||||||
withAction {
|
withAction {
|
||||||
if (allIRModules.none { it.originalModule.configurator is AndroidModuleConfigurator }) return@withAction UNIT_SUCCESS
|
if (allIRModules.none { it.originalModule.configurator is AndroidModuleConfigurator }) return@withAction UNIT_SUCCESS
|
||||||
val path = AndroidPlugin::androidSdkPath.settingValue
|
val path = AndroidPlugin::androidSdkPath.settingValue
|
||||||
|
val fileSystemService = service<FileSystemWizardService>()
|
||||||
GradlePlugin::localProperties.addValues(
|
GradlePlugin::localProperties.addValues(
|
||||||
"sdk.dir" to path
|
"sdk.dir" to fileSystemService.renderPath(path)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user