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