From cf7bbdde101172452815cf7f5cc59058ac94de70 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Thu, 12 Mar 2020 15:08:59 +0300 Subject: [PATCH] Wizard: do not pass writer to ModulesToIRsConverterData --- .../plugins/kotlin/KotlinPlugin.kt | 3 +-- .../plugins/kotlin/ModulesToIRsConverter.kt | 19 +++++++++---------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/KotlinPlugin.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/KotlinPlugin.kt index 8b1c38afa4d..b6982c2835f 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/KotlinPlugin.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/KotlinPlugin.kt @@ -112,8 +112,7 @@ class KotlinPlugin(context: Context) : Plugin(context) { StructurePlugin::name.settingValue, KotlinPlugin::version.propertyValue, buildSystemType, - pomIR(), - this + pomIR() ) ) ) { createBuildFiles() } diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/ModulesToIRsConverter.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/ModulesToIRsConverter.kt index 087c7bbe274..e2be5d66578 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/ModulesToIRsConverter.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/ModulesToIRsConverter.kt @@ -20,8 +20,7 @@ data class ModulesToIrConversionData( val projectName: String, val kotlinVersion: Version, val buildSystemType: BuildSystemType, - val pomIr: PomIR, - val writer: Writer + val pomIr: PomIR ) { val allModules = rootModules.withAllSubModules() val isSingleRootModuleMode = rootModules.size == 1 @@ -63,7 +62,7 @@ class ModulesToIRsConverter( else -> rootPath / module.name } - fun Reader.createBuildFiles(): TaskResult> = with(data) { + fun Writer.createBuildFiles(): TaskResult> = with(data) { val needExplicitRootBuildFile = !needFlattening val parentModuleHasTransitivelySpecifiedKotlinVersion = allModules.any { modules -> modules.configurator == AndroidSinglePlatformModuleConfigurator @@ -88,7 +87,7 @@ class ModulesToIRsConverter( } - private fun Reader.createBuildFileForModule( + private fun Writer.createBuildFileForModule( module: Module, state: ModulesToIrsState ): TaskResult> = when (val configurator = module.configurator) { @@ -97,7 +96,7 @@ class ModulesToIRsConverter( else -> Success(emptyList()) } - private fun Reader.createSinglePlatformModule( + private fun Writer.createSinglePlatformModule( module: Module, configurator: SinglePlatformModuleConfigurator, state: ModulesToIrsState @@ -109,7 +108,7 @@ class ModulesToIRsConverter( .toResult { InvalidModuleDependencyError(module, to) } dependencyType.createDependencyIrs(module, to, data) }.sequence() - data.writer.mutateProjectStructureByModuleConfigurator(module, modulePath) + mutateProjectStructureByModuleConfigurator(module, modulePath) val buildFileIR = run { if (!configurator.needCreateBuildFile) return@run null val dependenciesIRs = buildPersistenceList { @@ -165,12 +164,12 @@ class ModulesToIRsConverter( } } - private fun Reader.createMultiplatformModule( + private fun Writer.createMultiplatformModule( module: Module, state: ModulesToIrsState ): TaskResult> = with(data) { val modulePath = calculatePathForModule(module, state.parentPath) - writer.mutateProjectStructureByModuleConfigurator(module, modulePath) + mutateProjectStructureByModuleConfigurator(module, modulePath) val targetIrs = module.subModules.flatMap { subModule -> with(subModule.configurator as TargetConfigurator) { createTargetIrs(subModule) } } @@ -195,8 +194,8 @@ class ModulesToIRsConverter( ).asSingletonList().asSuccess() } - private fun Reader.createTargetModule(target: Module, modulePath: Path): MultiplatformModuleIR { - data.writer.mutateProjectStructureByModuleConfigurator(target, modulePath) + private fun Writer.createTargetModule(target: Module, modulePath: Path): MultiplatformModuleIR { + mutateProjectStructureByModuleConfigurator(target, modulePath) val sourcesetss = target.sourcesets.map { sourceset -> val sourcesetName = target.name + sourceset.sourcesetType.name.capitalize() val sourcesetIrs = buildList {