diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/AndroidModuleConfigurator.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/AndroidModuleConfigurator.kt index ba99eae4e4a..5af8df9583e 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/AndroidModuleConfigurator.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/AndroidModuleConfigurator.kt @@ -69,7 +69,9 @@ interface AndroidModuleConfigurator : ModuleConfigurator, ) = buildList { +GradleOnlyPluginByNameIR(reader.createAndroidPlugin(module).pluginName, priority = 1) - +GradleOnlyPluginByNameIR("kotlin-android-extensions", priority = 3) + if (reader { AndroidPlugin.addAndroidExtensionPlugin.settingValue }) { + +GradleOnlyPluginByNameIR("kotlin-android-extensions", priority = 3) + } } fun Reader.createAndroidPlugin(module: Module): AndroidGradlePlugin diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/AndroidPlugin.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/AndroidPlugin.kt index 1f1d2b863fb..f6b3cbd5fef 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/AndroidPlugin.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/AndroidPlugin.kt @@ -22,7 +22,8 @@ class AndroidPlugin(context: Context) : Plugin(context) { override val path = pluginPath override val settings: List> = listOf( - androidSdkPath + androidSdkPath, + addAndroidExtensionPlugin, ) override val pipelineTasks: List = listOf( addAndroidSdkToLocalProperties @@ -41,6 +42,14 @@ class AndroidPlugin(context: Context) : Plugin(context) { shouldExists() } + val addAndroidExtensionPlugin by booleanSetting( + ">", + neededAtPhase = GenerationPhase.PROJECT_GENERATION, + ) { + isAvailable = isAndroidContainingProject + defaultValue = value(true) + } + private val isAndroidContainingProject = checker { KotlinPlugin.modules.settingValue .withAllSubModules(includeSourcesets = true)