Wizard: fix kotlin and resources directory names in Android module
#KT-38428 fixed
This commit is contained in:
+5
@@ -21,14 +21,19 @@ object AndroidSinglePlatformModuleConfigurator :
|
||||
SinglePlatformModuleConfigurator,
|
||||
AndroidModuleConfigurator {
|
||||
override val moduleKind: ModuleKind get() = ModuleKind.singleplatformAndroid
|
||||
|
||||
@NonNls
|
||||
override val id = "android"
|
||||
|
||||
@NonNls
|
||||
override val suggestedModuleName = "android"
|
||||
override val text = KotlinNewProjectWizardBundle.message("module.configurator.android")
|
||||
|
||||
override val requiresRootBuildFile: Boolean = true
|
||||
|
||||
override val resourcesDirectoryName: String = "res"
|
||||
override val kotlinDirectoryName: String = "java"
|
||||
|
||||
override fun createBuildFileIRs(
|
||||
reader: Reader,
|
||||
configurationData: ModulesToIrConversionData,
|
||||
|
||||
+3
@@ -212,6 +212,9 @@ interface ModuleConfigurator : DisplayableSettingItem, EntitiesOwnerDescriptor {
|
||||
val canContainSubModules: Boolean get() = false
|
||||
val requiresRootBuildFile: Boolean get() = false
|
||||
|
||||
val kotlinDirectoryName: String get() = Defaults.KOTLIN_DIR.toString()
|
||||
val resourcesDirectoryName: String get() = Defaults.RESOURCES_DIR.toString()
|
||||
|
||||
fun createBuildFileIRs(
|
||||
reader: Reader,
|
||||
configurationData: ModulesToIrConversionData,
|
||||
|
||||
+5
-4
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.tools.projectWizard.core.service.*
|
||||
import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.BuildFileIR
|
||||
import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.RepositoryIR
|
||||
import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.withIrs
|
||||
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.ModuleConfigurator
|
||||
import org.jetbrains.kotlin.tools.projectWizard.phases.GenerationPhase
|
||||
import org.jetbrains.kotlin.tools.projectWizard.plugins.StructurePlugin
|
||||
import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.BuildSystemPlugin
|
||||
@@ -106,14 +107,14 @@ class KotlinPlugin(context: Context) : Plugin(context) {
|
||||
val createSourcesetDirectories by pipelineTask(GenerationPhase.PROJECT_GENERATION) {
|
||||
runAfter(KotlinPlugin::createModules)
|
||||
withAction {
|
||||
fun Path.createKotlinAndResourceDirectories() = with(service<FileSystemWizardService>()) {
|
||||
createDirectory(this@createKotlinAndResourceDirectories / Defaults.KOTLIN_DIR) andThen
|
||||
createDirectory(this@createKotlinAndResourceDirectories / Defaults.RESOURCES_DIR)
|
||||
fun Path.createKotlinAndResourceDirectories(moduleConfigurator: ModuleConfigurator) = with(service<FileSystemWizardService>()) {
|
||||
createDirectory(this@createKotlinAndResourceDirectories / moduleConfigurator.kotlinDirectoryName) andThen
|
||||
createDirectory(this@createKotlinAndResourceDirectories / moduleConfigurator.resourcesDirectoryName)
|
||||
}
|
||||
|
||||
forEachModule { moduleIR ->
|
||||
moduleIR.sourcesets.mapSequenceIgnore { sourcesetIR ->
|
||||
sourcesetIR.path.createKotlinAndResourceDirectories()
|
||||
sourcesetIR.path.createKotlinAndResourceDirectories(moduleIR.originalModule.configurator)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
-6
@@ -2,8 +2,6 @@ package org.jetbrains.kotlin.tools.projectWizard.plugins.templates
|
||||
|
||||
|
||||
import org.jetbrains.kotlin.tools.projectWizard.core.*
|
||||
import org.jetbrains.kotlin.tools.projectWizard.core.Defaults.KOTLIN_DIR
|
||||
import org.jetbrains.kotlin.tools.projectWizard.core.Defaults.RESOURCES_DIR
|
||||
import org.jetbrains.kotlin.tools.projectWizard.core.Defaults.SRC_DIR
|
||||
import org.jetbrains.kotlin.tools.projectWizard.core.service.TemplateEngineService
|
||||
import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.*
|
||||
@@ -144,18 +142,19 @@ class TemplatesPlugin(context: Context) : Plugin(context) {
|
||||
&& filePath.sourcesetType == SourcesetType.test
|
||||
&& settingValue(module.originalModule, ModuleConfiguratorWithTests.testFramework)?.isPresent != true
|
||||
) return null
|
||||
val moduleConfigurator = module.originalModule.configurator
|
||||
return when (module) {
|
||||
is SingleplatformModuleIR -> {
|
||||
when (filePath) {
|
||||
is SrcFilePath -> SRC_DIR / filePath.sourcesetType.toString() / KOTLIN_DIR
|
||||
is ResourcesFilePath -> SRC_DIR / filePath.sourcesetType.toString() / RESOURCES_DIR
|
||||
is SrcFilePath -> SRC_DIR / filePath.sourcesetType.toString() / moduleConfigurator.kotlinDirectoryName
|
||||
is ResourcesFilePath -> SRC_DIR / filePath.sourcesetType.toString() / moduleConfigurator.resourcesDirectoryName
|
||||
}
|
||||
}
|
||||
|
||||
is MultiplatformModuleIR -> {
|
||||
val directory = when (filePath) {
|
||||
is SrcFilePath -> KOTLIN_DIR
|
||||
is ResourcesFilePath -> RESOURCES_DIR
|
||||
is SrcFilePath -> moduleConfigurator.kotlinDirectoryName
|
||||
is ResourcesFilePath -> moduleConfigurator.resourcesDirectoryName
|
||||
}
|
||||
SRC_DIR / "${module.name}${filePath.sourcesetType.name.capitalize()}" / directory
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user