diff --git a/plugins/kotlin/base/statistics/src/org/jetbrains/kotlin/idea/statistics/WizardStatsService.kt b/plugins/kotlin/base/statistics/src/org/jetbrains/kotlin/idea/statistics/WizardStatsService.kt index f23f1afd0b70..9e0927ad4861 100644 --- a/plugins/kotlin/base/statistics/src/org/jetbrains/kotlin/idea/statistics/WizardStatsService.kt +++ b/plugins/kotlin/base/statistics/src/org/jetbrains/kotlin/idea/statistics/WizardStatsService.kt @@ -48,17 +48,12 @@ class WizardStatsService : CounterUsagesCollector() { "fullStackWebApplication", "nodejsApplication", "reactApplication", - "composeDesktopApplication", - "composeMultiplatformApplication", "none", // AppCode KMM "multiplatformMobileApplicationUsingAppleGradlePlugin", "multiplatformMobileApplicationUsingHybridProject", ) private val allowedModuleTemplates = listOf( - "composeAndroid", - "composeDesktopTemplate", - "composeMppModule", "consoleJvmApp", "ktorServer", "mobileMppModule", diff --git a/plugins/kotlin/project-wizard/core/resources/messages/KotlinNewProjectWizardBundle.properties b/plugins/kotlin/project-wizard/core/resources/messages/KotlinNewProjectWizardBundle.properties index 572c0d055d2d..67ea830600c0 100644 --- a/plugins/kotlin/project-wizard/core/resources/messages/KotlinNewProjectWizardBundle.properties +++ b/plugins/kotlin/project-wizard/core/resources/messages/KotlinNewProjectWizardBundle.properties @@ -39,8 +39,6 @@ project.kind.android=Android project.kind.kotlin.js=Kotlin/JS project.kind.multiplatform=Multiplatform project.kind.singleplatform=JVM -project.kind.compose= Compose Multiplatform (Old version) -project.kind.compose.short.name=Compose Multiplatform (Old version) project=Project @@ -77,7 +75,6 @@ module.type.native=Kotlin/Native module.name=Module name module.configurator.simple.js.browser=JS for Browser -module.configurator.simple.js.compose.browser=Compose JS for Browser module.configurator.simple.js.node=JS for Node.JS module.configurator.android=Android @@ -149,31 +146,12 @@ project.template.nodejs.description=Application for the Node.js runtime with Kot project.template.mpp.mobile.title=Mobile Application project.template.mpp.mobile.description=Mobile applications for iOS and Android with common code shared between platforms -project.template.compose.desktop.title=Compose Desktop Application -project.template.compose.desktop.description=A Compose application targeting the desktop JVM platform (Windows, Linux, macOS) - -project.template.compose.multiplatform.title=Compose Multiplatform Application -project.template.compose.multiplatform.description=Multiplatform (JVM/Windows, JVM/Linux, JVM/MacOS, Android) Compose project with shared code in common modules - -project.template.compose.web.title=Compose Web Application -project.template.compose.web.description=Web (JS) Compose project - module.template.console.jvm.title=Console Application module.template.console.jvm.description=Simple "Hello World!" Kotlin/JVM application that works in the console module.template.mpp.mobile.title=Mobile Application module.template.mpp.mobile.description=Mobile applications for iOS and Android with Kotlin Multiplatform Mobile, which supports sharing common code between platforms. - -module.template.compose.desktop.title=Compose Desktop Module -module.template.compose.desktop.description=A Compose application targeting the desktop JVM platform - -module.template.compose.web.title=Compose Web Module -module.template.compose.web.description=A Compose Web application targeting browser (JS) - -module.template.compose.mpp.title=Compose MPP Module -module.template.compose.mpp.description=Compose MPP Module - module.template.ktor.server.title=Web server module.template.ktor.server.description=Backend web server diff --git a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeAndroid/AndroidManifest.xml.vm b/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeAndroid/AndroidManifest.xml.vm deleted file mode 100644 index 5c0ebfe59e54..000000000000 --- a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeAndroid/AndroidManifest.xml.vm +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeAndroid/MainActivity.kt.vm b/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeAndroid/MainActivity.kt.vm deleted file mode 100644 index 58e1a299b9ab..000000000000 --- a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeAndroid/MainActivity.kt.vm +++ /dev/null @@ -1,23 +0,0 @@ -#if ($package) -package ${package} -#end -#if ($sharedPackage) -import ${sharedPackage}.App -#end -import android.os.Bundle -import androidx.activity.compose.setContent -import androidx.appcompat.app.AppCompatActivity -import androidx.compose.material.MaterialTheme - -class MainActivity : AppCompatActivity() { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) -#if ($sharedPackage) - setContent { - MaterialTheme { - App() - } - } -#end - } -} \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeDesktopTemplate/main.kt b/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeDesktopTemplate/main.kt deleted file mode 100644 index fed3f24ab9a4..000000000000 --- a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeDesktopTemplate/main.kt +++ /dev/null @@ -1,31 +0,0 @@ -import androidx.compose.desktop.ui.tooling.preview.Preview -import androidx.compose.material.Button -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Text -import androidx.compose.runtime.Composable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue -import androidx.compose.ui.window.Window -import androidx.compose.ui.window.application - -@Composable -@Preview -fun App() { - var text by remember { mutableStateOf("Hello, World!") } - - MaterialTheme { - Button(onClick = { - text = "Hello, Desktop!" - }) { - Text(text) - } - } -} - -fun main() = application { - Window(onCloseRequest = ::exitApplication) { - App() - } -} diff --git a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeMpp/App.kt.vm b/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeMpp/App.kt.vm deleted file mode 100644 index c648558ae9f1..000000000000 --- a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeMpp/App.kt.vm +++ /dev/null @@ -1,23 +0,0 @@ -#if ($package) -package ${package} - -#end -#set( $dollar = "${" ) -import androidx.compose.material.Text -import androidx.compose.material.Button -import androidx.compose.runtime.Composable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue - -@Composable -fun App() { - var text by remember { mutableStateOf("Hello, World!") } - - Button(onClick = { - text = "Hello, ${dollar}getPlatformName()}" - }) { - Text(text) - } -} diff --git a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeMpp/DesktopApp.kt.vm b/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeMpp/DesktopApp.kt.vm deleted file mode 100644 index 04c00e3f4847..000000000000 --- a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeMpp/DesktopApp.kt.vm +++ /dev/null @@ -1,13 +0,0 @@ -#if ($package) -package ${package} - -#end -#set( $dollar = "${" ) -import androidx.compose.desktop.ui.tooling.preview.Preview -import androidx.compose.runtime.Composable - -@Preview -@Composable -fun AppPreview() { - App() -} \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeMpp/main.kt.vm b/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeMpp/main.kt.vm deleted file mode 100644 index 8e6a48ca9c7c..000000000000 --- a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeMpp/main.kt.vm +++ /dev/null @@ -1,14 +0,0 @@ -#if ($sharedPackage) -import ${sharedPackage}.App -#end -import androidx.compose.material.MaterialTheme -import androidx.compose.ui.window.Window -import androidx.compose.ui.window.application - -fun main() = application { - Window(onCloseRequest = ::exitApplication) { - MaterialTheme { - App() - } - } -} \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeWebTemplate/index.html.vm b/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeWebTemplate/index.html.vm deleted file mode 100644 index 8ea7461cf006..000000000000 --- a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeWebTemplate/index.html.vm +++ /dev/null @@ -1,11 +0,0 @@ - - - - - Sample - - -
- - - \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeWebTemplate/main.kt b/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeWebTemplate/main.kt deleted file mode 100644 index 80f2e22c211a..000000000000 --- a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/composeWebTemplate/main.kt +++ /dev/null @@ -1,31 +0,0 @@ -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.getValue -import androidx.compose.runtime.setValue -import org.jetbrains.compose.web.css.* -import org.jetbrains.compose.web.dom.* -import org.jetbrains.compose.web.renderComposable - -fun main() { - var count: Int by mutableStateOf(0) - - renderComposable(rootElementId = "root") { - Div({ style { padding(25.px) } }) { - Button(attrs = { - onClick { count -= 1 } - }) { - Text("-") - } - - Span({ style { padding(15.px) } }) { - Text("$count") - } - - Button(attrs = { - onClick { count += 1 } - }) { - Text("+") - } - } - } -} - diff --git a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/desktopMain.kt/App.kt.vm b/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/desktopMain.kt/App.kt.vm deleted file mode 100644 index 67f89282bfa6..000000000000 --- a/plugins/kotlin/project-wizard/core/resources/org/jetbrains/kotlin/tools/projectWizard/templates/desktopMain.kt/App.kt.vm +++ /dev/null @@ -1,18 +0,0 @@ -#set( $dollar = "${" ) -import androidx.compose.material.Text -import androidx.compose.material.Button -import androidx.compose.material.MaterialTheme -import androidx.compose.runtime.* - -@Composable -fun App() { - var text by remember { mutableStateOf("Hello, World!") } - - MaterialTheme { - Button(onClick = { - text = "Hello, ${dollar}getPlatformName()}" - }) { - Text(text) - } - } -} diff --git a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/Versions.kt b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/Versions.kt index d963e8e6e005..21e481030b23 100644 --- a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/Versions.kt +++ b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/Versions.kt @@ -14,20 +14,11 @@ object Versions { val KTOR = version("2.0.2") val JUNIT = version("4.13.2") val JUNIT5 = version("5.8.2") - val JETBRAINS_COMPOSE = version("1.1.1") - - val KOTLIN_VERSION_FOR_COMPOSE = version("1.6.10") - val GRADLE_VERSION_FOR_COMPOSE = version("7.4.2") - - object COMPOSE { - val ANDROID_ACTIVITY_COMPOSE = version("1.4.0") - } object ANDROID { val ANDROID_MATERIAL = version("1.5.0") val ANDROIDX_APPCOMPAT = version("1.4.1") val ANDROIDX_CONSTRAINTLAYOUT = version("2.1.3") - val ANDROIDX_KTX = version("1.7.0") } object KOTLINX { diff --git a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/core/service/CoreJvmTargetVersionsProviderService.kt b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/core/service/CoreJvmTargetVersionsProviderService.kt index e334e3c998fa..e743037ad437 100644 --- a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/core/service/CoreJvmTargetVersionsProviderService.kt +++ b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/core/service/CoreJvmTargetVersionsProviderService.kt @@ -13,7 +13,6 @@ class CoreJvmTargetVersionsProviderService : JvmTargetVersionsProviderService(), private val kotlinToJvmTargetVersions: Map> = mapOf( Versions.KOTLIN to KOTLIN_14_JVM_TARGETS, - Versions.KOTLIN_VERSION_FOR_COMPOSE to KOTLIN_14_JVM_TARGETS ) private fun listSupportedJvmTargetVersions(kotlinVersion: Version) = @@ -21,7 +20,6 @@ class CoreJvmTargetVersionsProviderService : JvmTargetVersionsProviderService(), } override fun listSupportedJvmTargetVersions(projectKind: ProjectKind): Set { - val version = CoreKotlinVersionProviderService.getKotlinVersion(projectKind) - return listSupportedJvmTargetVersions(version) + return listSupportedJvmTargetVersions(Versions.KOTLIN) } } \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/core/service/CoreKotlinVersionProviderService.kt b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/core/service/CoreKotlinVersionProviderService.kt index f9084eb50150..9224884997d3 100644 --- a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/core/service/CoreKotlinVersionProviderService.kt +++ b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/core/service/CoreKotlinVersionProviderService.kt @@ -3,18 +3,9 @@ package org.jetbrains.kotlin.tools.projectWizard.core.service import org.jetbrains.kotlin.tools.projectWizard.Versions import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ProjectKind -import org.jetbrains.kotlin.tools.projectWizard.settings.version.Version class CoreKotlinVersionProviderService : KotlinVersionProviderService(), IdeaIndependentWizardService { - companion object { - internal fun getKotlinVersion(projectKind: ProjectKind): Version = when (projectKind) { - ProjectKind.COMPOSE -> Versions.KOTLIN_VERSION_FOR_COMPOSE - else -> Versions.KOTLIN - } - } - override fun getKotlinVersion(projectKind: ProjectKind): WizardKotlinVersion { - val version = CoreKotlinVersionProviderService.getKotlinVersion(projectKind) - return kotlinVersionWithDefaultValues(version) + return kotlinVersionWithDefaultValues(Versions.KOTLIN) } } \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/JsModuleConfigurator.kt b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/JsModuleConfigurator.kt index 80dbfec3f712..80bf1d036342 100644 --- a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/JsModuleConfigurator.kt +++ b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/JsModuleConfigurator.kt @@ -3,21 +3,17 @@ package org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators -import kotlinx.collections.immutable.toPersistentList import org.jetbrains.annotations.NonNls import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle import org.jetbrains.kotlin.tools.projectWizard.core.Reader import org.jetbrains.kotlin.tools.projectWizard.core.TaskResult import org.jetbrains.kotlin.tools.projectWizard.core.Writer -import org.jetbrains.kotlin.tools.projectWizard.core.compute import org.jetbrains.kotlin.tools.projectWizard.core.entity.settings.ModuleConfiguratorSetting import org.jetbrains.kotlin.tools.projectWizard.core.entity.settings.ModuleConfiguratorSettingReference import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.BuildSystemIR import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.KotlinBuildSystemPluginIR import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.GradleIRListBuilder -import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.GradlePropertyAccessIR import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.irsList -import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.multiplatform.DefaultTargetConfigurationIR import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.BrowserJsSinglePlatformModuleConfigurator.settingsValue import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.JSConfigurator.Companion.isApplication import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.JsBrowserBasedConfigurator.Companion.browserSubTarget @@ -26,7 +22,6 @@ import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.JvmModuleCon import org.jetbrains.kotlin.tools.projectWizard.phases.GenerationPhase import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.gradle.GradlePlugin import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.KotlinPlugin -import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModuleSubType import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModuleType import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModulesToIrConversionData import org.jetbrains.kotlin.tools.projectWizard.plugins.printer.GradlePrinter @@ -231,54 +226,3 @@ fun GradleIRListBuilder.commonCssSupport(reader: Reader) { } } } - -object JsComposeMppConfigurator : JsBrowserBasedConfigurator, SimpleTargetConfigurator { - @NonNls - override val id = "jsBrowserComposeMpp" - - @NonNls - override val suggestedModuleName = "js" - - override val moduleKind = ModuleKind.target - - override val text = KotlinNewProjectWizardBundle.message("module.configurator.simple.js.compose.browser") - - override val moduleSubType = ModuleSubType.js - - override fun createInnerTargetIrs( - reader: Reader, - module: Module - ): List = irsList { - +super.createInnerTargetIrs(reader, module) - "browser" { - "testTask" { - +"testLogging.showStandardStreams = true" - "useKarma" { - +"useChromeHeadless()" - +"useFirefox()" - } - } - } - applicationSupport() - } - - override fun Reader.createTargetIrs( - module: Module - ): List = org.jetbrains.kotlin.tools.projectWizard.core.buildList { - +DefaultTargetConfigurationIR( - module.createTargetAccessIr(moduleSubType), - createInnerTargetIrs(this@createTargetIrs, module).toPersistentList(), - listOf(GradlePropertyAccessIR("IR")) - ) - } - - override fun Writer.runArbitraryTask( - configurationData: ModulesToIrConversionData, - module: Module, - modulePath: Path, - ): TaskResult = compute { - GradlePlugin.gradleProperties.addValues("kotlin.js.webpack.major.version" to 4) //workaround for KT-48273 TODO:remove once the issue is fixed - } - -} - diff --git a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/plugins/Plugins.kt b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/plugins/Plugins.kt index 4c275e399542..a1cebdce33b9 100644 --- a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/plugins/Plugins.kt +++ b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/plugins/Plugins.kt @@ -1,7 +1,6 @@ // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package org.jetbrains.kotlin.tools.projectWizard.plugins -import kotlinx.collections.immutable.persistentListOf import org.jetbrains.kotlin.tools.projectWizard.core.Context import org.jetbrains.kotlin.tools.projectWizard.core.Plugin import org.jetbrains.kotlin.tools.projectWizard.core.buildPersistenceList @@ -48,7 +47,6 @@ object Plugins { +ReactJsTemplatesPlugin(context) +SimpleNodeJsTemplatesPlugin(context) +NativeConsoleApplicationTemplatePlugin(context) - +ComposeTemplatesPlugin(context) +MobileMppTemplatePlugin(context) } } diff --git a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/KotlinPlugin.kt b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/KotlinPlugin.kt index ef880a84a4b7..89cc3f258d96 100644 --- a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/KotlinPlugin.kt +++ b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/KotlinPlugin.kt @@ -133,7 +133,7 @@ class KotlinPlugin(context: Context) : Plugin(context) { withAction { val version = version.propertyValue if (version.kind.isStable) return@withAction UNIT_SUCCESS - val pluginRepository = version.buildSystemPluginRepository(buildSystemType) ?: return@withAction UNIT_SUCCESS + val pluginRepository = version.buildSystemPluginRepository(buildSystemType) BuildSystemPlugin.pluginRepositoreis.addValues(pluginRepository) andThen updateBuildFiles { buildFile -> buildFile.withIrs( @@ -218,12 +218,6 @@ enum class ProjectKind( Multiplatform(KotlinNewProjectWizardBundle.message("project.kind.multiplatform"), supportedBuildSystems = BuildSystemType.ALL_GRADLE), Android(KotlinNewProjectWizardBundle.message("project.kind.android"), supportedBuildSystems = BuildSystemType.ALL_GRADLE), Js(KotlinNewProjectWizardBundle.message("project.kind.kotlin.js"), supportedBuildSystems = BuildSystemType.ALL_GRADLE), - COMPOSE( - KotlinNewProjectWizardBundle.message("project.kind.compose"), - supportedBuildSystems = setOf(BuildSystemType.GradleKotlinDsl), - shortName = KotlinNewProjectWizardBundle.message("project.kind.compose.short.name"), - message = "uses Kotlin ${Versions.KOTLIN_VERSION_FOR_COMPOSE}" - ) } fun List.withAllSubModules(includeSourcesets: Boolean = false): List = buildList { diff --git a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/plugins/templates/ComposeTemplatesPlugin.kt b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/plugins/templates/ComposeTemplatesPlugin.kt deleted file mode 100644 index 4017fb24f3ac..000000000000 --- a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/plugins/templates/ComposeTemplatesPlugin.kt +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package org.jetbrains.kotlin.tools.projectWizard.plugins.templates - -import org.jetbrains.kotlin.tools.projectWizard.core.Context -import org.jetbrains.kotlin.tools.projectWizard.core.PluginSettingsOwner -import org.jetbrains.kotlin.tools.projectWizard.core.andThen -import org.jetbrains.kotlin.tools.projectWizard.core.entity.PipelineTask -import org.jetbrains.kotlin.tools.projectWizard.phases.GenerationPhase -import org.jetbrains.kotlin.tools.projectWizard.templates.compose.ComposeJvmDesktopTemplate -import org.jetbrains.kotlin.tools.projectWizard.templates.compose.ComposeMppModuleTemplate -import org.jetbrains.kotlin.tools.projectWizard.templates.compose.ComposeWebModuleTemplate - -class ComposeTemplatesPlugin(context: Context) : TemplatePlugin(context) { - override val path = pluginPath - - override val pipelineTasks: List = super.pipelineTasks + - listOf( - addTemplate, - ) - - companion object : PluginSettingsOwner() { - override val pluginPath = "template.compose" - - val addTemplate by pipelineTask(GenerationPhase.PREPARE) { - withAction { - TemplatesPlugin.addTemplate.execute(ComposeJvmDesktopTemplate()) andThen - TemplatesPlugin.addTemplate.execute(ComposeJvmDesktopTemplate()) andThen - TemplatesPlugin.addTemplate.execute(ComposeMppModuleTemplate()) andThen - TemplatesPlugin.addTemplate.execute(ComposeWebModuleTemplate) - } - } - } -} \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/projectTemplates/ProjectTemplates.kt b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/projectTemplates/ProjectTemplates.kt index 0213a9228011..569c34e8ba19 100644 --- a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/projectTemplates/ProjectTemplates.kt +++ b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/projectTemplates/ProjectTemplates.kt @@ -4,12 +4,9 @@ package org.jetbrains.kotlin.tools.projectWizard.projectTemplates import org.jetbrains.annotations.NonNls import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle -import org.jetbrains.kotlin.tools.projectWizard.Versions import org.jetbrains.kotlin.tools.projectWizard.core.buildList import org.jetbrains.kotlin.tools.projectWizard.core.entity.settings.* import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.* -import org.jetbrains.kotlin.tools.projectWizard.plugins.StructurePlugin -import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.gradle.GradlePlugin import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.KotlinPlugin import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModuleSubType import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModuleType @@ -17,7 +14,6 @@ import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ProjectKind import org.jetbrains.kotlin.tools.projectWizard.settings.DisplayableSettingItem import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.* import org.jetbrains.kotlin.tools.projectWizard.templates.* -import org.jetbrains.kotlin.tools.projectWizard.templates.compose.* import org.jetbrains.kotlin.tools.projectWizard.templates.mpp.MobileMppTemplate abstract class ProjectTemplate : DisplayableSettingItem { @@ -75,9 +71,6 @@ abstract class ProjectTemplate : DisplayableSettingItem { FrontendApplicationProjectTemplate, ReactApplicationProjectTemplate, NodeJsApplicationProjectTemplate, - ComposeDesktopApplicationProjectTemplate, - ComposeMultiplatformApplicationProjectTemplate, - ComposeWebApplicationProjectTemplate, ConsoleApplicationProjectTemplateWithSample ) @@ -90,6 +83,7 @@ abstract class ProjectTemplate : DisplayableSettingItem { private infix fun > PluginSettingReference.withValue(value: V): SettingWithValue = SettingWithValue(this, value) +@Suppress("unused") private inline infix fun > PluginSetting.withValue(value: V): SettingWithValue = SettingWithValue(reference, value) @@ -341,150 +335,3 @@ object NodeJsApplicationProjectTemplate : ProjectTemplate() { ) ) } - -object ComposeDesktopApplicationProjectTemplate : ProjectTemplate() { - override val title = KotlinNewProjectWizardBundle.message("project.template.compose.desktop.title") - override val description = KotlinNewProjectWizardBundle.message("project.template.compose.desktop.description") - override val id = "composeDesktopApplication" - - @NonNls - override val suggestedProjectName = "myComposeDesktopApplication" - override val projectKind = ProjectKind.COMPOSE - - override val setsPluginSettings: List> - get() = listOf( - GradlePlugin.gradleVersion withValue Versions.GRADLE_VERSION_FOR_COMPOSE, - StructurePlugin.version withValue "1.0", - ) - - override val setsModules: List - get() = listOf( - Module( - "compose", - JvmSinglePlatformModuleConfigurator, - template = ComposeJvmDesktopTemplate(), - sourceSets = SourcesetType.ALL.map { type -> - Sourceset(type, dependencies = emptyList()) - }, - subModules = emptyList() - ).withConfiguratorSettings { - JvmModuleConfigurator.testFramework withValue KotlinTestFramework.NONE - JvmModuleConfigurator.targetJvmVersion withValue TargetJvmVersion.JVM_11 - } - ) -} - -object ComposeMultiplatformApplicationProjectTemplate : ProjectTemplate() { - override val title = KotlinNewProjectWizardBundle.message("project.template.compose.multiplatform.title") - override val description = KotlinNewProjectWizardBundle.message("project.template.compose.multiplatform.description") - override val id = "composeMultiplatformApplication" - - @NonNls - override val suggestedProjectName = "myComposeMultiplatformApplication" - override val projectKind = ProjectKind.COMPOSE - - override val setsPluginSettings: List> - get() = listOf( - GradlePlugin.gradleVersion withValue Versions.GRADLE_VERSION_FOR_COMPOSE, - StructurePlugin.version withValue "1.0", - ) - - override val setsModules: List - get() = buildList { - val common = MultiplatformModule( - "common", - template = ComposeMppModuleTemplate(), - listOf( - ModuleType.common.createDefaultTarget().withConfiguratorSettings { - JvmModuleConfigurator.testFramework withValue KotlinTestFramework.NONE - }, - Module( - "android", - AndroidTargetConfigurator, - template = ComposeCommonAndroidTemplate(), - sourceSets = createDefaultSourceSets(), - subModules = emptyList() - ).withConfiguratorSettings { - configurator.androidPlugin withValue AndroidGradlePlugin.LIBRARY - JvmModuleConfigurator.testFramework withValue KotlinTestFramework.NONE - }, - Module( - "desktop", - JvmTargetConfigurator, - template = ComposeCommonDesktopTemplate(), - sourceSets = createDefaultSourceSets(), - subModules = emptyList() - ).withConfiguratorSettings { - JvmModuleConfigurator.testFramework withValue KotlinTestFramework.NONE - JvmModuleConfigurator.targetJvmVersion withValue TargetJvmVersion.JVM_11 - } - ) - ) - +Module( - "android", - AndroidSinglePlatformModuleConfigurator, - template = ComposeAndroidTemplate(), - sourceSets = createDefaultSourceSets(), - subModules = emptyList(), - dependencies = mutableListOf(ModuleReference.ByModule(common)) - ).withConfiguratorSettings { - JvmModuleConfigurator.testFramework withValue KotlinTestFramework.NONE - } - +Module( - "desktop", - MppModuleConfigurator, - template = ComposeCommonDesktopTemplate(), - sourceSets = createDefaultSourceSets(), - subModules = listOf( - Module( - "jvm", - JvmTargetConfigurator, - template = ComposeJvmDesktopTemplate(), - sourceSets = createDefaultSourceSets(), - subModules = emptyList(), - dependencies = mutableListOf(ModuleReference.ByModule(common)) - ).withConfiguratorSettings { - JvmModuleConfigurator.testFramework withValue KotlinTestFramework.NONE - JvmModuleConfigurator.targetJvmVersion withValue TargetJvmVersion.JVM_11 - } - ), - ) - +common - } -} - -object ComposeWebApplicationProjectTemplate : ProjectTemplate() { - override val title = KotlinNewProjectWizardBundle.message("project.template.compose.web.title") - override val description = KotlinNewProjectWizardBundle.message("project.template.compose.web.description") - override val id = "composeWebApplication" - - @NonNls - override val suggestedProjectName = "myComposeWebApplication" - override val projectKind = ProjectKind.COMPOSE - - override val setsPluginSettings: List> - get() = listOf( - GradlePlugin.gradleVersion withValue Versions.GRADLE_VERSION_FOR_COMPOSE, - StructurePlugin.version withValue "1.0", - ) - - override val setsModules: List - get() = listOf( - Module( - "web", - MppModuleConfigurator, - template = null, - sourceSets = createDefaultSourceSets(), - subModules = listOf( - Module( - "js", - JsComposeMppConfigurator, - template = ComposeWebModuleTemplate, - permittedTemplateIds = setOf(ComposeWebModuleTemplate.id), - sourceSets = createDefaultSourceSets(), - subModules = emptyList() - ) - ) - ) - ) -} \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/settings/buildsystem/Repository.kt b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/settings/buildsystem/Repository.kt index 0d1fa31984c4..634d88211915 100644 --- a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/settings/buildsystem/Repository.kt +++ b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/settings/buildsystem/Repository.kt @@ -33,6 +33,7 @@ data class DefaultRepository(val type: Type) : Repository { interface CustomMavenRepository : Repository +@Suppress("unused") data class CustomMavenRepositoryImpl(val repository: String, val base: String) : CustomMavenRepository { override val url: String = "$base/$repository" @@ -61,7 +62,6 @@ object Repositories { val KOTLINX_HTML = JetBrainsSpace("public/p/kotlinx-html/maven") val KOTLIN_JS_WRAPPERS = DefaultRepository.MAVEN_CENTRAL val KOTLIN_EAP_MAVEN_CENTRAL = DefaultRepository.MAVEN_CENTRAL - val JETBRAINS_COMPOSE_DEV = JetBrainsSpace("public/p/compose/dev") val JETBRAINS_KOTLIN_DEV = JetBrainsSpace("kotlin/p/kotlin/dev") val JETBRAINS_KOTLIN_BOOTSTRAP = CacheRedirector( "maven.pkg.jetbrains.space", diff --git a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/templates/compose/ComposeAndroidTemplate.kt b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/templates/compose/ComposeAndroidTemplate.kt deleted file mode 100644 index 6f327eebbb51..000000000000 --- a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/templates/compose/ComposeAndroidTemplate.kt +++ /dev/null @@ -1,140 +0,0 @@ -// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. - -package org.jetbrains.kotlin.tools.projectWizard.templates.compose - -import kotlinx.collections.immutable.toPersistentList -import org.jetbrains.annotations.NonNls -import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle -import org.jetbrains.kotlin.tools.projectWizard.Versions -import org.jetbrains.kotlin.tools.projectWizard.core.* -import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.* -import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.AndroidConfigIR -import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.irsList -import org.jetbrains.kotlin.tools.projectWizard.library.MavenArtifact -import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.AndroidModuleConfigurator -import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.AndroidSinglePlatformModuleConfigurator -import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.moduleType -import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.BuildSystemPlugin -import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModuleType -import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ProjectKind -import org.jetbrains.kotlin.tools.projectWizard.plugins.pomIR -import org.jetbrains.kotlin.tools.projectWizard.plugins.templates.TemplatesPlugin -import org.jetbrains.kotlin.tools.projectWizard.settings.JavaPackage -import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.DefaultRepository -import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.Module -import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.ModuleKind -import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.Repositories -import org.jetbrains.kotlin.tools.projectWizard.settings.javaPackage -import org.jetbrains.kotlin.tools.projectWizard.templates.FileTemplateDescriptor -import org.jetbrains.kotlin.tools.projectWizard.templates.Template - -class ComposeAndroidTemplate : Template() { - @NonNls - override val id: String = "composeAndroid" - - override val title: String = KotlinNewProjectWizardBundle.message("module.template.compose.desktop.title") - override val description: String = KotlinNewProjectWizardBundle.message("module.template.compose.desktop.description") - - - override fun isApplicableTo(module: Module, projectKind: ProjectKind, reader: Reader): Boolean = - module.configurator.moduleType == ModuleType.android - && projectKind == ProjectKind.COMPOSE - && module.kind == ModuleKind.singlePlatformAndroid - - - override fun Writer.getIrsToAddToBuildFile( - module: ModuleIR - ) = irsList { - +GradleOnlyPluginByNameIR("org.jetbrains.compose", version = Versions.JETBRAINS_COMPOSE) - +RepositoryIR(Repositories.JETBRAINS_COMPOSE_DEV) - +RepositoryIR(DefaultRepository.GOOGLE) - +Dependencies.ACTIVITY_COMPOSE - } - - override fun Reader.updateBuildFileIRs(irs: List): List { - val androidIR = irs.firstNotNullOfOrNull { ir-> ir.takeIf { ir is AndroidConfigIR } } - if (androidIR != null && androidIR is AndroidConfigIR) { - androidIR.androidSdkVersion = "31" - } - return irs - } - - - override fun Writer.getRequiredLibraries(module: ModuleIR): List = buildList { - +Dependencies.ACTIVITY_COMPOSE - } - - override fun Reader.updateModuleIR(module: ModuleIR): ModuleIR { - val irs = module.irs.filterNot { ir -> - ir == AndroidSinglePlatformModuleConfigurator.DEPENDENCIES.APP_COMPAT - || ir == AndroidSinglePlatformModuleConfigurator.DEPENDENCIES.CONSTRAINT_LAYOUT - || ir == AndroidModuleConfigurator.DEPENDENCIES.MATERIAL - } - return module.withReplacedIrs(irs.toPersistentList()) - } - - override fun Writer.runArbitratyTask(module: ModuleIR): TaskResult = compute { - BuildSystemPlugin.pluginRepositoreis.addValues(Repositories.JETBRAINS_COMPOSE_DEV, DefaultRepository.GOOGLE).ensure() - - //TODO hacky! - TemplatesPlugin.fileTemplatesToRender.update { templates -> - templates.mapNotNull { template -> - val descriptor = template.descriptor as? FileTemplateDescriptor - when { - descriptor == AndroidModuleConfigurator.FileTemplateDescriptors.activityMainXml - || descriptor == AndroidModuleConfigurator.FileTemplateDescriptors.colorsXml - || descriptor == AndroidModuleConfigurator.FileTemplateDescriptors.stylesXml -> null - descriptor?.templateId == "android/MainActivity.kt.vm" -> { - template.copy(descriptor = mainActivityKt(module.originalModule.javaPackage(pomIR()))) - } - descriptor?.templateId == "android/AndroidManifest.xml.vm" -> { - template.copy(descriptor = Descriptors.manifestXml) - } - else -> template - } - }.asSuccess() - } - } - - private fun mainActivityKt(javaPackage: JavaPackage) = FileTemplateDescriptor( - "composeAndroid/MainActivity.kt.vm", - "src" / "main" / "java" / javaPackage.asPath() / "MainActivity.kt" - ) - - object Descriptors { - val manifestXml = FileTemplateDescriptor( - templateId = "composeAndroid/AndroidManifest.xml.vm", - relativePath = "src" / "main" / "AndroidManifest.xml", - ) - } - - object Dependencies { - val ACTIVITY_COMPOSE = ArtifactBasedLibraryDependencyIR( - MavenArtifact(Repositories.JETBRAINS_COMPOSE_DEV, "androidx.activity", "activity-compose"), - version = Versions.COMPOSE.ANDROID_ACTIVITY_COMPOSE, - dependencyType = DependencyType.MAIN, - ) - } -} - -class ComposeCommonAndroidTemplate : Template() { - @NonNls - override val id: String = "composeCommonAndroid" - - override val title: String = KotlinNewProjectWizardBundle.message("module.template.compose.desktop.title") - override val description: String = KotlinNewProjectWizardBundle.message("module.template.compose.desktop.description") - - - override fun isApplicableTo(module: Module, projectKind: ProjectKind, reader: Reader): Boolean = - module.configurator.moduleType == ModuleType.common - && projectKind == ProjectKind.COMPOSE - && module.kind == ModuleKind.singlePlatformAndroid - - override fun Reader.updateBuildFileIRs(irs: List): List { - val androidIR = irs.firstNotNullOfOrNull { it as? AndroidConfigIR } - if (androidIR != null) { - androidIR.androidSdkVersion = "31" - } - return irs - } -} \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/templates/compose/ComposeJvmDesktopTemplate.kt b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/templates/compose/ComposeJvmDesktopTemplate.kt deleted file mode 100644 index 041697a25899..000000000000 --- a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/templates/compose/ComposeJvmDesktopTemplate.kt +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. - -package org.jetbrains.kotlin.tools.projectWizard.templates.compose - -import org.jetbrains.annotations.NonNls -import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle -import org.jetbrains.kotlin.tools.projectWizard.Versions -import org.jetbrains.kotlin.tools.projectWizard.core.* -import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.* -import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.GradleImportIR -import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.irsList -import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.moduleType -import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.BuildSystemPlugin -import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModuleType -import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ProjectKind -import org.jetbrains.kotlin.tools.projectWizard.plugins.pomIR -import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.* -import org.jetbrains.kotlin.tools.projectWizard.settings.javaPackage -import org.jetbrains.kotlin.tools.projectWizard.templates.* - -class ComposeJvmDesktopTemplate : Template() { - @NonNls - override val id: String = "composeDesktopTemplate" - - override val title: String = KotlinNewProjectWizardBundle.message("module.template.compose.desktop.title") - override val description: String = KotlinNewProjectWizardBundle.message("module.template.compose.desktop.description") - - override fun isApplicableTo(module: Module, projectKind: ProjectKind, reader: Reader): Boolean = - module.configurator.moduleType == ModuleType.jvm && projectKind == ProjectKind.COMPOSE - && (module.kind == ModuleKind.singlePlatformJvm || module.kind == ModuleKind.target) - - - override fun Writer.getIrsToAddToBuildFile( - module: ModuleIR - ) = irsList { - +RepositoryIR(Repositories.JETBRAINS_COMPOSE_DEV) - +RepositoryIR(DefaultRepository.GOOGLE) - +GradleOnlyPluginByNameIR("org.jetbrains.compose", version = Versions.JETBRAINS_COMPOSE) - - +GradleImportIR("org.jetbrains.compose.desktop.application.dsl.TargetFormat") - "compose.desktop" { - "application" { - "mainClass" assign const("MainKt") - - "nativeDistributions" { - "targetFormats"(raw("TargetFormat.Dmg"), raw("TargetFormat.Msi"), raw("TargetFormat.Deb")) - "packageName" assign const(module.name) - "packageVersion" assign const("1.0.0") - } - } - } - - +GradleImportIR("org.jetbrains.compose.compose") - } - - override fun Writer.getRequiredLibraries(module: ModuleIR): List = listOf( - CustomGradleDependencyDependencyIR("compose.desktop.currentOs", dependencyType = DependencyType.MAIN, DependencyKind.implementation) - ) - - override fun Writer.runArbitratyTask(module: ModuleIR): TaskResult = - BuildSystemPlugin.pluginRepositoreis.addValues(Repositories.JETBRAINS_COMPOSE_DEV, DefaultRepository.GOOGLE) - - override fun Reader.getFileTemplates(module: ModuleIR) = buildList { - val dependsOnMppModule: Module? = - module.originalModule.dependencies.map { moduleByReference(it) }.firstOrNull { it.template is ComposeMppModuleTemplate } - if (dependsOnMppModule == null) { - +(FileTemplateDescriptor("$id/main.kt", "Main.kt".asPath()) asSrcOf SourcesetType.main) - } else { - val javaPackage = dependsOnMppModule.javaPackage(pomIR()).asCodePackage() - +(FileTemplateDescriptor("composeMpp/main.kt.vm", "Main.kt".asPath()) - asSrcOf SourcesetType.main - withSettings ("sharedPackage" to javaPackage) - ) - } - } -} - -class ComposeCommonDesktopTemplate : Template() { - @NonNls - override val id: String = "composeCommonDesktopTemplate" - - override val title: String = KotlinNewProjectWizardBundle.message("module.template.compose.desktop.title") - override val description: String = KotlinNewProjectWizardBundle.message("module.template.compose.desktop.description") - - override fun isApplicableTo(module: Module, projectKind: ProjectKind, reader: Reader): Boolean = - module.configurator.moduleType == ModuleType.jvm && projectKind == ProjectKind.COMPOSE -} \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/templates/compose/ComposeMppModuleTemplate.kt b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/templates/compose/ComposeMppModuleTemplate.kt deleted file mode 100644 index 183d38ed4fac..000000000000 --- a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/templates/compose/ComposeMppModuleTemplate.kt +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. - -package org.jetbrains.kotlin.tools.projectWizard.templates.compose - -import org.jetbrains.annotations.NonNls -import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle -import org.jetbrains.kotlin.tools.projectWizard.Versions -import org.jetbrains.kotlin.tools.projectWizard.core.* -import org.jetbrains.kotlin.tools.projectWizard.core.safeAs -import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.* -import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.GradleImportIR -import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.irsList -import org.jetbrains.kotlin.tools.projectWizard.library.MavenArtifact -import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.* -import org.jetbrains.kotlin.tools.projectWizard.mpp.applyMppStructure -import org.jetbrains.kotlin.tools.projectWizard.mpp.mppSources -import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModuleSubType -import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ProjectKind -import org.jetbrains.kotlin.tools.projectWizard.plugins.pomIR -import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.DefaultRepository -import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.Module -import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.Repositories -import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.SourcesetType -import org.jetbrains.kotlin.tools.projectWizard.settings.javaPackage -import org.jetbrains.kotlin.tools.projectWizard.templates.FileTemplateDescriptor -import org.jetbrains.kotlin.tools.projectWizard.templates.Template - -class ComposeMppModuleTemplate : Template() { - @NonNls - override val id: String = "composeMppModule" - - override val title: String = KotlinNewProjectWizardBundle.message("module.template.compose.mpp.title") - override val description: String = KotlinNewProjectWizardBundle.message("module.template.compose.mpp.description") - - override fun isApplicableTo(module: Module, projectKind: ProjectKind, reader: Reader): Boolean = - module.configurator == MppModuleConfigurator && projectKind == ProjectKind.COMPOSE - - override fun Writer.getIrsToAddToBuildFile(module: ModuleIR): List = irsList { - +GradleImportIR("org.jetbrains.compose.compose") - +GradleOnlyPluginByNameIR("org.jetbrains.compose", version = Versions.JETBRAINS_COMPOSE) - +RepositoryIR(Repositories.JETBRAINS_COMPOSE_DEV) - +RepositoryIR(DefaultRepository.GOOGLE) - } - - override fun Reader.updateModuleIR(module: ModuleIR): ModuleIR = when (module.originalModule.configurator) { - CommonTargetConfigurator -> module.withIrs( - CustomGradleDependencyDependencyIR("compose.runtime", DependencyType.MAIN, DependencyKind.api), - CustomGradleDependencyDependencyIR("compose.foundation", DependencyType.MAIN, DependencyKind.api), - CustomGradleDependencyDependencyIR("compose.material", DependencyType.MAIN, DependencyKind.api), - ) - AndroidTargetConfigurator -> module.withIrs( - AndroidSinglePlatformModuleConfigurator.DEPENDENCIES.APP_COMPAT.withDependencyKind(DependencyKind.api), - DEPENDENCIES.ANDROID_KTX.withDependencyKind(DependencyKind.api) - ).withoutIrs { it == AndroidModuleConfigurator.DEPENDENCIES.MATERIAL } - JvmTargetConfigurator -> module.withIrs( - CustomGradleDependencyDependencyIR("compose.preview", DependencyType.MAIN, DependencyKind.api), - ) - else -> module - } - - override fun Writer.runArbitratyTask(module: ModuleIR): TaskResult { - val webSubmodule = module.originalModule.subModules.filter({ it.template is ComposeWebModuleTemplate }).firstOrNull() - if (webSubmodule != null) return UNIT_SUCCESS //disabling platform.kt creation for web module - - return inContextOfModuleConfigurator(module.originalModule) { - val javaPackage = module.originalModule.javaPackage(pomIR()) - val mpp = mppSources(javaPackage) { - mppFile("platform.kt") { - function("getPlatformName(): String") { - actualFor(ModuleSubType.jvm, actualBody = """return "Desktop" """) - actualFor(ModuleSubType.android, actualBody = """return "Android" """) - default("""return "Platform" """) - } - } - filesFor(ModuleSubType.common) { - file(FileTemplateDescriptor("composeMpp/App.kt.vm", relativePath = null), "App.kt", SourcesetType.main) - } - filesFor(ModuleSubType.jvm) { - file(FileTemplateDescriptor("composeMpp/DesktopApp.kt.vm", relativePath = null), "DesktopApp.kt", SourcesetType.main) - } - } - applyMppStructure(mpp, module.originalModule, module.path) - } - } - - object DEPENDENCIES { - val ANDROID_KTX = ArtifactBasedLibraryDependencyIR( - MavenArtifact(DefaultRepository.GOOGLE, "androidx.core", "core-ktx"), - version = Versions.ANDROID.ANDROIDX_KTX, - dependencyType = DependencyType.MAIN - ) - } -} \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/templates/compose/ComposeWebModuleTemplate.kt b/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/templates/compose/ComposeWebModuleTemplate.kt deleted file mode 100644 index 60b1250f2e49..000000000000 --- a/plugins/kotlin/project-wizard/core/src/org/jetbrains/kotlin/tools/projectWizard/templates/compose/ComposeWebModuleTemplate.kt +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. - -package org.jetbrains.kotlin.tools.projectWizard.templates.compose - -import org.jetbrains.annotations.NonNls -import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle -import org.jetbrains.kotlin.tools.projectWizard.Versions -import org.jetbrains.kotlin.tools.projectWizard.core.* -import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.* -import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.GradleImportIR -import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.irsList -import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.* -import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.BuildSystemPlugin -import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModuleType -import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ProjectKind -import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.* -import org.jetbrains.kotlin.tools.projectWizard.templates.* - -object ComposeWebModuleTemplate : Template() { - @NonNls - override val id: String = "composeWebTemplate" - - override val title: String = KotlinNewProjectWizardBundle.message("module.template.compose.web.title") - override val description: String = KotlinNewProjectWizardBundle.message("module.template.compose.web.description") - - override fun isApplicableTo(module: Module, projectKind: ProjectKind, reader: Reader): Boolean = - module.configurator.moduleType == ModuleType.js - && projectKind == ProjectKind.COMPOSE - && when (module.configurator) { - JsComposeMppConfigurator -> true - else -> false - } - - override fun Writer.getIrsToAddToBuildFile( - module: ModuleIR - ) = irsList { - +RepositoryIR(Repositories.JETBRAINS_COMPOSE_DEV) - +RepositoryIR(DefaultRepository.GOOGLE) - //+GradleOnlyPluginByNameIR("org.jetbrains.compose", version = Versions.JETBRAINS_COMPOSE) //this module is intended to be used inside Compose MPP module! - +GradleImportIR("org.jetbrains.compose.compose") - } - - override fun Writer.getRequiredLibraries(module: ModuleIR): List = listOf( - CustomGradleDependencyDependencyIR("compose.web.core", dependencyType = DependencyType.MAIN, DependencyKind.implementation), - CustomGradleDependencyDependencyIR("compose.runtime", dependencyType = DependencyType.MAIN, DependencyKind.implementation), - CustomGradleDependencyDependencyIR("kotlin(\"test-js\")", dependencyType = DependencyType.TEST, DependencyKind.implementation) - ) - - override fun Writer.runArbitratyTask(module: ModuleIR): TaskResult = - BuildSystemPlugin.pluginRepositoreis.addValues(Repositories.JETBRAINS_COMPOSE_DEV) - - override fun Reader.getFileTemplates(module: ModuleIR) = buildList { - +(FileTemplateDescriptor("$id/main.kt", "Main.kt".asPath()) asSrcOf SourcesetType.main) - +(FileTemplateDescriptor("$id/index.html.vm") asResourceOf SourcesetType.main) - } -} diff --git a/plugins/kotlin/project-wizard/idea/src/org/jetbrains/kotlin/tools/projectWizard/wizard/service/IdeaKotlinVersionProviderService.kt b/plugins/kotlin/project-wizard/idea/src/org/jetbrains/kotlin/tools/projectWizard/wizard/service/IdeaKotlinVersionProviderService.kt index 699031d6adaf..b72783338ac4 100644 --- a/plugins/kotlin/project-wizard/idea/src/org/jetbrains/kotlin/tools/projectWizard/wizard/service/IdeaKotlinVersionProviderService.kt +++ b/plugins/kotlin/project-wizard/idea/src/org/jetbrains/kotlin/tools/projectWizard/wizard/service/IdeaKotlinVersionProviderService.kt @@ -23,10 +23,6 @@ private const val SNAPSHOT_TAG = "snapshot" class IdeaKotlinVersionProviderService : KotlinVersionProviderService(), IdeaWizardService { override fun getKotlinVersion(projectKind: ProjectKind): WizardKotlinVersion { - if (projectKind == ProjectKind.COMPOSE) { - val version = Versions.KOTLIN_VERSION_FOR_COMPOSE - return kotlinVersionWithDefaultValues(version) - } val version = getPatchedKotlinVersion() ?: getKotlinVersionFromCompiler() ?: VersionsDownloader.downloadLatestEapOrStableKotlinVersion() diff --git a/plugins/kotlin/project-wizard/idea/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/firstStep/ProjectTemplateSettingComponent.kt b/plugins/kotlin/project-wizard/idea/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/firstStep/ProjectTemplateSettingComponent.kt index 0c805abee81a..25821a537ea8 100644 --- a/plugins/kotlin/project-wizard/idea/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/firstStep/ProjectTemplateSettingComponent.kt +++ b/plugins/kotlin/project-wizard/idea/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/firstStep/ProjectTemplateSettingComponent.kt @@ -106,9 +106,6 @@ private val ProjectTemplate.icon: Icon? FrontendApplicationProjectTemplate -> KotlinIcons.Wizard.JS ReactApplicationProjectTemplate -> KotlinIcons.Wizard.REACT_JS NodeJsApplicationProjectTemplate -> KotlinIcons.Wizard.NODE_JS - ComposeDesktopApplicationProjectTemplate -> KotlinIcons.Wizard.COMPOSE - ComposeMultiplatformApplicationProjectTemplate -> KotlinIcons.Wizard.COMPOSE - ComposeWebApplicationProjectTemplate -> KotlinIcons.Wizard.COMPOSE else -> null } diff --git a/plugins/kotlin/project-wizard/tests/test/org/jetbrains/kotlin/tools/projectWizard/cli/AbstractBuildFileGenerationTest.kt b/plugins/kotlin/project-wizard/tests/test/org/jetbrains/kotlin/tools/projectWizard/cli/AbstractBuildFileGenerationTest.kt index a196c332284e..1019dbf1724b 100644 --- a/plugins/kotlin/project-wizard/tests/test/org/jetbrains/kotlin/tools/projectWizard/cli/AbstractBuildFileGenerationTest.kt +++ b/plugins/kotlin/project-wizard/tests/test/org/jetbrains/kotlin/tools/projectWizard/cli/AbstractBuildFileGenerationTest.kt @@ -77,7 +77,6 @@ abstract class AbstractBuildFileGenerationTest : UsefulTestCase() { KOTLIN_REPO_BOOTSTRAP_PLACEHOLDER ) .replace("gradle-${Versions.GRADLE.text}-bin.zip", "gradle-GRADLE_VERSION-bin.zip") - .replace("gradle-${Versions.GRADLE_VERSION_FOR_COMPOSE.text}-bin.zip", "gradle-GRADLE_VERSION_FOR_COMPOSE-bin.zip") } additionalChecks(expectedDirectory, tempDirectory) } diff --git a/plugins/kotlin/project-wizard/tests/test/org/jetbrains/kotlin/tools/projectWizard/cli/KotlinVersionProviderTestWizardService.kt b/plugins/kotlin/project-wizard/tests/test/org/jetbrains/kotlin/tools/projectWizard/cli/KotlinVersionProviderTestWizardService.kt index 4ef1ead0134f..8a90ff17f0ba 100644 --- a/plugins/kotlin/project-wizard/tests/test/org/jetbrains/kotlin/tools/projectWizard/cli/KotlinVersionProviderTestWizardService.kt +++ b/plugins/kotlin/project-wizard/tests/test/org/jetbrains/kotlin/tools/projectWizard/cli/KotlinVersionProviderTestWizardService.kt @@ -3,8 +3,6 @@ package org.jetbrains.kotlin.tools.projectWizard.cli import org.jetbrains.kotlin.idea.codeInsight.gradle.KotlinGradlePluginVersions -import org.jetbrains.kotlin.tools.projectWizard.Versions -import org.jetbrains.kotlin.tools.projectWizard.core.service.EapVersionDownloader import org.jetbrains.kotlin.tools.projectWizard.core.service.WizardKotlinVersion import org.jetbrains.kotlin.tools.projectWizard.core.service.KotlinVersionProviderService import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ProjectKind @@ -12,25 +10,22 @@ import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.* import org.jetbrains.kotlin.tools.projectWizard.settings.version.Version class KotlinVersionProviderTestWizardService : KotlinVersionProviderService(), TestWizardService { - override fun getKotlinVersion(projectKind: ProjectKind): WizardKotlinVersion = - if (projectKind == ProjectKind.COMPOSE) { - kotlinVersionWithDefaultValues(Versions.KOTLIN_VERSION_FOR_COMPOSE) - } else { - val repositories = listOf( - Repositories.JETBRAINS_KOTLIN_BOOTSTRAP, - getKotlinVersionRepository(TEST_KOTLIN_VERSION), - DefaultRepository.MAVEN_LOCAL - ) - WizardKotlinVersion( - TEST_KOTLIN_VERSION, + override fun getKotlinVersion(projectKind: ProjectKind): WizardKotlinVersion { + val repositories = listOf( + Repositories.JETBRAINS_KOTLIN_BOOTSTRAP, + getKotlinVersionRepository(TEST_KOTLIN_VERSION), + DefaultRepository.MAVEN_LOCAL + ) + return WizardKotlinVersion( + TEST_KOTLIN_VERSION, + getKotlinVersionKind(TEST_KOTLIN_VERSION), + repositories, + getBuildSystemPluginRepository( getKotlinVersionKind(TEST_KOTLIN_VERSION), - repositories, - getBuildSystemPluginRepository( - getKotlinVersionKind(TEST_KOTLIN_VERSION), - repositories - ), - ) - } + repositories + ), + ) + } companion object { val TEST_KOTLIN_VERSION by lazy { diff --git a/plugins/kotlin/project-wizard/tests/test/org/jetbrains/kotlin/tools/projectWizard/cli/ProjectTemplateBuildFileGenerationTestGenerated.java b/plugins/kotlin/project-wizard/tests/test/org/jetbrains/kotlin/tools/projectWizard/cli/ProjectTemplateBuildFileGenerationTestGenerated.java index 89be3d73c492..3df2f4e3e08b 100644 --- a/plugins/kotlin/project-wizard/tests/test/org/jetbrains/kotlin/tools/projectWizard/cli/ProjectTemplateBuildFileGenerationTestGenerated.java +++ b/plugins/kotlin/project-wizard/tests/test/org/jetbrains/kotlin/tools/projectWizard/cli/ProjectTemplateBuildFileGenerationTestGenerated.java @@ -23,16 +23,6 @@ public class ProjectTemplateBuildFileGenerationTestGenerated extends AbstractPro KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } - @TestMetadata("composeDesktopApplication") - public void testComposeDesktopApplication() throws Exception { - runTest("testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/"); - } - - @TestMetadata("composeMultiplatformApplication") - public void testComposeMultiplatformApplication() throws Exception { - runTest("testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/"); - } - @TestMetadata("consoleApplication") public void testConsoleApplication() throws Exception { runTest("testData/projectTemplatesBuildFileGeneration/consoleApplication/"); diff --git a/plugins/kotlin/project-wizard/tests/test/org/jetbrains/kotlin/tools/projectWizard/wizard/ProjectTemplateNewWizardProjectImportTestGenerated.java b/plugins/kotlin/project-wizard/tests/test/org/jetbrains/kotlin/tools/projectWizard/wizard/ProjectTemplateNewWizardProjectImportTestGenerated.java index 1ac1ca44403f..3aca15941430 100644 --- a/plugins/kotlin/project-wizard/tests/test/org/jetbrains/kotlin/tools/projectWizard/wizard/ProjectTemplateNewWizardProjectImportTestGenerated.java +++ b/plugins/kotlin/project-wizard/tests/test/org/jetbrains/kotlin/tools/projectWizard/wizard/ProjectTemplateNewWizardProjectImportTestGenerated.java @@ -25,16 +25,6 @@ public abstract class ProjectTemplateNewWizardProjectImportTestGenerated extends KotlinTestUtils.runTest(this::doTestGradleKts, this, testDataFilePath); } - @TestMetadata("composeDesktopApplication") - public void testComposeDesktopApplication() throws Exception { - runTest("testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/"); - } - - @TestMetadata("composeMultiplatformApplication") - public void testComposeMultiplatformApplication() throws Exception { - runTest("testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/"); - } - @TestMetadata("consoleApplication") public void testConsoleApplication() throws Exception { runTest("testData/projectTemplatesBuildFileGeneration/consoleApplication/"); @@ -68,16 +58,6 @@ public abstract class ProjectTemplateNewWizardProjectImportTestGenerated extends KotlinTestUtils.runTest(this::doTestGradleGroovy, this, testDataFilePath); } - @TestMetadata("composeDesktopApplication") - public void testComposeDesktopApplication() throws Exception { - runTest("testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/"); - } - - @TestMetadata("composeMultiplatformApplication") - public void testComposeMultiplatformApplication() throws Exception { - runTest("testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/"); - } - @TestMetadata("consoleApplication") public void testConsoleApplication() throws Exception { runTest("testData/projectTemplatesBuildFileGeneration/consoleApplication/"); @@ -111,16 +91,6 @@ public abstract class ProjectTemplateNewWizardProjectImportTestGenerated extends KotlinTestUtils.runTest(this::doTestMaven, this, testDataFilePath); } - @TestMetadata("composeDesktopApplication") - public void testComposeDesktopApplication() throws Exception { - runTest("testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/"); - } - - @TestMetadata("composeMultiplatformApplication") - public void testComposeMultiplatformApplication() throws Exception { - runTest("testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/"); - } - @TestMetadata("consoleApplication") public void testConsoleApplication() throws Exception { runTest("testData/projectTemplatesBuildFileGeneration/consoleApplication/"); diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/build.gradle b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/build.gradle deleted file mode 100644 index 1a6936ed9117..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/build.gradle +++ /dev/null @@ -1,32 +0,0 @@ -import org.jetbrains.compose.compose - -plugins { - id 'org.jetbrains.kotlin.jvm' version '1.4.0' - id 'org.jetbrains.compose' version '0.1.0-build63' - id 'application' -} - -group = 'me.user' -version = '1.0-SNAPSHOT' - -repositories { - jcenter() - mavenCentral() - maven { url 'https://maven.pkg.jetbrains.space/public/p/compose/dev' } -} - -dependencies { - implementation compose.desktop.all -} - -compileKotlin { - kotlinOptions.jvmTarget = '1.8' -} - -compileTestKotlin { - kotlinOptions.jvmTarget = '1.8' -} - -application { - mainClassName = 'MainKt' -} \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/build.gradle.kts b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/build.gradle.kts deleted file mode 100644 index 4ab3810f9266..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/build.gradle.kts +++ /dev/null @@ -1,36 +0,0 @@ -import org.jetbrains.compose.compose -import org.jetbrains.compose.desktop.application.dsl.TargetFormat -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - -plugins { - kotlin("jvm") version "1.6.10" - id("org.jetbrains.compose") version "1.1.1" -} - -group = "me.user" -version = "1.0" - -repositories { - google() - mavenCentral() - maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") -} - -dependencies { - implementation(compose.desktop.currentOs) -} - -tasks.withType { - kotlinOptions.jvmTarget = "11" -} - -compose.desktop { - application { - mainClass = "MainKt" - nativeDistributions { - targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) - packageName = "composeDesktopApplication" - packageVersion = "1.0.0" - } - } -} diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/gradle.properties b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/gradle.properties deleted file mode 100644 index 7fc6f1ff272e..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/gradle.properties +++ /dev/null @@ -1 +0,0 @@ -kotlin.code.style=official diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/gradle/wrapper/gradle-wrapper.properties b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 4de1375a6107..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-GRADLE_VERSION-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/importParameters.txt b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/importParameters.txt deleted file mode 100644 index 29c7591c308f..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/importParameters.txt +++ /dev/null @@ -1,2 +0,0 @@ -// runForGradleGroovy false -// keepKotlinVersion true \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/settings.gradle b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/settings.gradle deleted file mode 100644 index 36552a57a9c9..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/settings.gradle +++ /dev/null @@ -1,9 +0,0 @@ -pluginManagement { - repositories { - gradlePluginPortal() - mavenCentral() - maven { url 'https://maven.pkg.jetbrains.space/public/p/compose/dev' } - } - -} -rootProject.name = 'composeDesktopApplication' \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/settings.gradle.kts b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/settings.gradle.kts deleted file mode 100644 index abab4ba5d513..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeDesktopApplication/settings.gradle.kts +++ /dev/null @@ -1,9 +0,0 @@ -pluginManagement { - repositories { - google() - gradlePluginPortal() - maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") - } - -} -rootProject.name = "composeDesktopApplication" \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/android/build.gradle b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/android/build.gradle deleted file mode 100644 index 025cb39f952c..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/android/build.gradle +++ /dev/null @@ -1,32 +0,0 @@ -plugins { - id 'org.jetbrains.compose' version '0.1.0-build63' - id 'com.android.application' - id 'org.jetbrains.kotlin.android' -} - -group = 'me.user' -version = '1.0-SNAPSHOT' - -repositories { - google() -} - -dependencies { - implementation project(':common') -} - -android { - compileSdkVersion 30 - defaultConfig { - applicationId 'me.user.android' - minSdkVersion 24 - targetSdkVersion 30 - versionCode 1 - versionName '1.0' - } - buildTypes { - 'release' { - minifyEnabled false - } - } -} \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/android/build.gradle.kts b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/android/build.gradle.kts deleted file mode 100644 index 1765adc890ce..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/android/build.gradle.kts +++ /dev/null @@ -1,37 +0,0 @@ -plugins { - id("org.jetbrains.compose") version "1.1.1" - id("com.android.application") - kotlin("android") -} - -group = "me.user" -version = "1.0" - -repositories { - jcenter() -} - -dependencies { - implementation(project(":common")) - implementation("androidx.activity:activity-compose:1.4.0") -} - -android { - compileSdkVersion(31) - defaultConfig { - applicationId = "me.user.android" - minSdkVersion(24) - targetSdkVersion(31) - versionCode = 1 - versionName = "1.0" - } - compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - } - buildTypes { - getByName("release") { - isMinifyEnabled = false - } - } -} diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/build.gradle b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/build.gradle deleted file mode 100644 index c048691ccd4f..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/build.gradle +++ /dev/null @@ -1,23 +0,0 @@ -buildscript { - repositories { - gradlePluginPortal() - jcenter() - google() - mavenCentral() - } - dependencies { - classpath('org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.0') - classpath('com.android.tools.build:gradle:4.0.1') - } -} - -group = 'me.user' -version = '1.0-SNAPSHOT' - -allprojects { - repositories { - jcenter() - mavenCentral() - maven { url 'https://maven.pkg.jetbrains.space/public/p/compose/dev' } - } -} \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/build.gradle.kts b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/build.gradle.kts deleted file mode 100644 index 024c3c652e25..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/build.gradle.kts +++ /dev/null @@ -1,23 +0,0 @@ -buildscript { - repositories { - gradlePluginPortal() - jcenter() - google() - mavenCentral() - } - dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10") - classpath("com.android.tools.build:gradle:7.0.4") - } -} - -group = "me.user" -version = "1.0" - -allprojects { - repositories { - google() - mavenCentral() - maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") - } -} diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/common/build.gradle b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/common/build.gradle deleted file mode 100644 index a4a6edd5da8e..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/common/build.gradle +++ /dev/null @@ -1,61 +0,0 @@ -import org.jetbrains.compose.compose - -plugins { - id 'org.jetbrains.kotlin.multiplatform' - id 'org.jetbrains.compose' version '0.1.0-build63' - id 'com.android.library' -} - -group = 'me.user' -version = '1.0-SNAPSHOT' - -repositories { - google() -} - -kotlin { - android() - jvm('desktop') { - compilations.all { - kotlinOptions.jvmTarget = '1.8' - } - } - sourceSets { - commonMain { - dependencies { - api compose.runtime - api compose.foundation - api compose.material - } - } - commonTest { - - } - androidMain { - dependencies { - api 'androidx.appcompat:appcompat:1.2.0' - api 'androidx.core:core-ktx:1.3.1' - } - } - androidTest { - dependencies { - implementation 'junit:junit:4.13' - } - } - desktopMain { - - } - desktopTest { - - } - } -} - -android { - compileSdkVersion 30 - sourceSets.main.manifest.srcFile('src/androidMain/AndroidManifest.xml') - defaultConfig { - minSdkVersion 24 - targetSdkVersion 30 - } -} \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/common/build.gradle.kts b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/common/build.gradle.kts deleted file mode 100644 index 15a08fbd52c0..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/common/build.gradle.kts +++ /dev/null @@ -1,63 +0,0 @@ -import org.jetbrains.compose.compose - -plugins { - kotlin("multiplatform") - id("org.jetbrains.compose") version "1.1.1" - id("com.android.library") -} - -group = "me.user" -version = "1.0" - -kotlin { - android() - jvm("desktop") { - compilations.all { - kotlinOptions.jvmTarget = "11" - } - } - sourceSets { - val commonMain by getting { - dependencies { - api(compose.runtime) - api(compose.foundation) - api(compose.material) - } - } - val commonTest by getting { - dependencies { - implementation(kotlin("test")) - } - } - val androidMain by getting { - dependencies { - api("androidx.appcompat:appcompat:1.4.1") - api("androidx.core:core-ktx:1.7.0") - } - } - val androidTest by getting { - dependencies { - implementation("junit:junit:4.13.2") - } - } - val desktopMain by getting { - dependencies { - api(compose.preview) - } - } - val desktopTest by getting - } -} - -android { - compileSdkVersion(31) - sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") - defaultConfig { - minSdkVersion(24) - targetSdkVersion(31) - } - compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - } -} \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/desktop/build.gradle b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/desktop/build.gradle deleted file mode 100644 index 1e8b9ba295f7..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/desktop/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -import org.jetbrains.compose.compose - -plugins { - id 'org.jetbrains.kotlin.jvm' - id 'org.jetbrains.compose' version '0.1.0-build63' - id 'application' -} - -group = 'me.user' -version = '1.0-SNAPSHOT' - -dependencies { - implementation project(':common') - implementation compose.desktop.all -} - -compileKotlin { - kotlinOptions.jvmTarget = '1.8' -} - -compileTestKotlin { - kotlinOptions.jvmTarget = '1.8' -} - -application { - mainClassName = 'MainKt' -} \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/desktop/build.gradle.kts b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/desktop/build.gradle.kts deleted file mode 100644 index 13c2eb6c0b36..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/desktop/build.gradle.kts +++ /dev/null @@ -1,39 +0,0 @@ -import org.jetbrains.compose.compose -import org.jetbrains.compose.desktop.application.dsl.TargetFormat - -plugins { - kotlin("multiplatform") - id("org.jetbrains.compose") version "1.1.1" -} - -group = "me.user" -version = "1.0" - -kotlin { - jvm { - compilations.all { - kotlinOptions.jvmTarget = "11" - } - withJava() - } - sourceSets { - val jvmMain by getting { - dependencies { - implementation(project(":common")) - implementation(compose.desktop.currentOs) - } - } - val jvmTest by getting - } -} - -compose.desktop { - application { - mainClass = "MainKt" - nativeDistributions { - targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) - packageName = "jvm" - packageVersion = "1.0.0" - } - } -} diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/gradle.properties b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/gradle.properties deleted file mode 100644 index 984d7ab2277d..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/gradle.properties +++ /dev/null @@ -1,4 +0,0 @@ -kotlin.code.style=official -android.useAndroidX=true -kotlin.mpp.enableGranularSourceSetsMetadata=true -kotlin.native.enableDependencyPropagation=false diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/gradle/wrapper/gradle-wrapper.properties b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 4de1375a6107..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-GRADLE_VERSION-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/settings.gradle b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/settings.gradle deleted file mode 100644 index 300d572445d1..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/settings.gradle +++ /dev/null @@ -1,16 +0,0 @@ -pluginManagement { - repositories { - google() - jcenter() - gradlePluginPortal() - mavenCentral() - maven { url 'https://maven.pkg.jetbrains.space/public/p/compose/dev' } - } - -} -rootProject.name = 'composeMultiplatformApplication' - - -include(':android') -include(':desktop') -include(':common') \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/settings.gradle.kts b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/settings.gradle.kts deleted file mode 100644 index 3910d6df3377..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/expected/settings.gradle.kts +++ /dev/null @@ -1,16 +0,0 @@ -pluginManagement { - repositories { - google() - jcenter() - gradlePluginPortal() - mavenCentral() - maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") - } - -} -rootProject.name = "composeMultiplatformApplication" - - -include(":android") -include(":desktop") -include(":common") \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/importParameters.txt b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/importParameters.txt deleted file mode 100644 index 29c7591c308f..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/importParameters.txt +++ /dev/null @@ -1,2 +0,0 @@ -// runForGradleGroovy false -// keepKotlinVersion true \ No newline at end of file diff --git a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/settings.yaml b/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/settings.yaml deleted file mode 100644 index e21db7a9cb71..000000000000 --- a/plugins/kotlin/project-wizard/tests/testData/projectTemplatesBuildFileGeneration/composeMultiplatformApplication/settings.yaml +++ /dev/null @@ -1,2 +0,0 @@ -android: - androidSdkPath: android.sdk \ No newline at end of file