diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposePlugin.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposePlugin.kt index 34735fbcbd4..78e9694c998 100644 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposePlugin.kt +++ b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposePlugin.kt @@ -14,11 +14,9 @@ import org.gradle.api.artifacts.dsl.DependencyHandler import org.gradle.api.artifacts.dsl.RepositoryHandler import org.gradle.api.artifacts.repositories.MavenArtifactRepository import org.gradle.api.plugins.ExtensionAware -import org.jetbrains.compose.android.AndroidExtension import org.jetbrains.compose.desktop.DesktopExtension import org.jetbrains.compose.desktop.application.internal.configureDesktop import org.jetbrains.compose.desktop.preview.internal.initializePreview -import org.jetbrains.compose.experimental.dsl.ExperimentalExtension import org.jetbrains.compose.experimental.internal.configureExperimentalTargetsFlagsCheck import org.jetbrains.compose.internal.KOTLIN_MPP_PLUGIN_ID import org.jetbrains.compose.internal.mppExt @@ -37,8 +35,6 @@ abstract class ComposePlugin : Plugin { override fun apply(project: Project) { val composeExtension = project.extensions.create("compose", ComposeExtension::class.java, project) val desktopExtension = composeExtension.extensions.create("desktop", DesktopExtension::class.java) - val androidExtension = composeExtension.extensions.create("android", AndroidExtension::class.java) - val experimentalExtension = composeExtension.extensions.create("experimental", ExperimentalExtension::class.java) val resourcesExtension = composeExtension.extensions.create("resources", ResourcesExtension::class.java) project.dependencies.extensions.add("compose", Dependencies(project)) @@ -69,41 +65,64 @@ abstract class ComposePlugin : Plugin { @Suppress("DEPRECATION") class Dependencies(project: Project) { val desktop = DesktopDependencies + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.animation:animation:${ComposeBuildConfig.composeVersion}\"")) val animation get() = composeDependency("org.jetbrains.compose.animation:animation") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.animation:animation-graphics:${ComposeBuildConfig.composeVersion}\"")) val animationGraphics get() = composeDependency("org.jetbrains.compose.animation:animation-graphics") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.foundation:foundation:${ComposeBuildConfig.composeVersion}\"")) val foundation get() = composeDependency("org.jetbrains.compose.foundation:foundation") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.material:material:${ComposeBuildConfig.composeVersion}\"")) val material get() = composeDependency("org.jetbrains.compose.material:material") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.material3:material3:${ComposeBuildConfig.composeMaterial3Version}\"")) val material3 get() = composeMaterial3Dependency("org.jetbrains.compose.material3:material3") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.material3:material3-adaptive-navigation-suite:${ComposeBuildConfig.composeMaterial3Version}\"")) val material3AdaptiveNavigationSuite get() = composeMaterial3Dependency("org.jetbrains.compose.material3:material3-adaptive-navigation-suite") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.runtime:runtime:${ComposeBuildConfig.composeVersion}\"")) val runtime get() = composeDependency("org.jetbrains.compose.runtime:runtime") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.runtime:runtime-saveable:${ComposeBuildConfig.composeVersion}\"")) val runtimeSaveable get() = composeDependency("org.jetbrains.compose.runtime:runtime-saveable") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.ui:ui:${ComposeBuildConfig.composeVersion}\"")) val ui get() = composeDependency("org.jetbrains.compose.ui:ui") - @Deprecated("Use desktop.uiTestJUnit4", replaceWith = ReplaceWith("desktop.uiTestJUnit4")) - @ExperimentalComposeLibrary - val uiTestJUnit4 get() = composeDependency("org.jetbrains.compose.ui:ui-test-junit4") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.ui:ui-test:${ComposeBuildConfig.composeVersion}\"")) @ExperimentalComposeLibrary val uiTest get() = composeDependency("org.jetbrains.compose.ui:ui-test") + @Deprecated("Use org.jetbrains.compose.ui:ui-tooling-preview module instead", replaceWith = ReplaceWith("\"org.jetbrains.compose.ui:ui-tooling:${ComposeBuildConfig.composeVersion}\"")) val uiTooling get() = composeDependency("org.jetbrains.compose.ui:ui-tooling") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.ui:ui-util:${ComposeBuildConfig.composeVersion}\"")) val uiUtil get() = composeDependency("org.jetbrains.compose.ui:ui-util") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.ui:ui-tooling-preview:${ComposeBuildConfig.composeVersion}\"")) val preview get() = composeDependency("org.jetbrains.compose.ui:ui-tooling-preview") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.material:material-icons-extended:1.7.3\"")) val materialIconsExtended get() = "org.jetbrains.compose.material:material-icons-extended:1.7.3" + @Deprecated("Specify dependency via version catalog") val components get() = CommonComponentsDependencies - @Deprecated("Use compose.html", replaceWith = ReplaceWith("html")) + @Deprecated("Use compose.html", replaceWith = ReplaceWith("html"), level = DeprecationLevel.ERROR) val web: WebDependencies get() = WebDependencies + @Deprecated("Specify dependency via version catalog") val html: HtmlDependencies get() = HtmlDependencies } + @Deprecated("Specify dependency via version catalog") object DesktopDependencies { + @Deprecated("Specify dependency via version catalog") val components = DesktopComponentsDependencies + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.desktop:desktop:${ComposeBuildConfig.composeVersion}\"")) val common = composeDependency("org.jetbrains.compose.desktop:desktop") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.desktop:desktop-jvm-linux-x64:${ComposeBuildConfig.composeVersion}\"")) val linux_x64 = composeDependency("org.jetbrains.compose.desktop:desktop-jvm-linux-x64") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.desktop:desktop-jvm-linux-arm64:${ComposeBuildConfig.composeVersion}\"")) val linux_arm64 = composeDependency("org.jetbrains.compose.desktop:desktop-jvm-linux-arm64") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.desktop:desktop-jvm-windows-x64:${ComposeBuildConfig.composeVersion}\"")) val windows_x64 = composeDependency("org.jetbrains.compose.desktop:desktop-jvm-windows-x64") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.desktop:desktop-jvm-windows-arm64:${ComposeBuildConfig.composeVersion}\"")) val windows_arm64 = composeDependency("org.jetbrains.compose.desktop:desktop-jvm-windows-arm64") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.desktop:desktop-jvm-macos-x64:${ComposeBuildConfig.composeVersion}\"")) val macos_x64 = composeDependency("org.jetbrains.compose.desktop:desktop-jvm-macos-x64") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.desktop:desktop-jvm-macos-arm64:${ComposeBuildConfig.composeVersion}\"")) val macos_arm64 = composeDependency("org.jetbrains.compose.desktop:desktop-jvm-macos-arm64") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.ui:ui-test-junit4:${ComposeBuildConfig.composeVersion}\"")) val uiTestJUnit4 get() = composeDependency("org.jetbrains.compose.ui:ui-test-junit4") val currentOs by lazy { @@ -111,47 +130,56 @@ abstract class ComposePlugin : Plugin { } } + @Deprecated("Specify dependency via version catalog") object CommonComponentsDependencies { + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.components:components-resources:${ComposeBuildConfig.composeVersion}\"")) val resources = composeDependency("org.jetbrains.compose.components:components-resources") - @Deprecated( - "Use org.jetbrains.compose.ui:ui-tooling-preview module instead", - ReplaceWith("compose.preview") - ) + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.ui:ui-tooling-preview:${ComposeBuildConfig.composeVersion}\"")) val uiToolingPreview = composeDependency("org.jetbrains.compose.components:components-ui-tooling-preview") } + @Deprecated("Specify dependency via version catalog") object DesktopComponentsDependencies { + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.components:components-splitpane:${ComposeBuildConfig.composeVersion}\"")) @ExperimentalComposeLibrary val splitPane = composeDependency("org.jetbrains.compose.components:components-splitpane") + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.components:components-animatedimage:${ComposeBuildConfig.composeVersion}\"")) @ExperimentalComposeLibrary val animatedImage = composeDependency("org.jetbrains.compose.components:components-animatedimage") } @Deprecated("Use compose.html") object WebDependencies { + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.html:html-core:${ComposeBuildConfig.composeVersion}\"")) val core by lazy { composeDependency("org.jetbrains.compose.html:html-core") } + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.html:html-svg:${ComposeBuildConfig.composeVersion}\"")) val svg by lazy { composeDependency("org.jetbrains.compose.html:html-svg") } + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.html:html-test-utils:${ComposeBuildConfig.composeVersion}\"")) val testUtils by lazy { composeDependency("org.jetbrains.compose.html:html-test-utils") } } + @Deprecated("Specify dependency via version catalog") object HtmlDependencies { + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.html:html-core:${ComposeBuildConfig.composeVersion}\"")) val core by lazy { composeDependency("org.jetbrains.compose.html:html-core") } + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.html:html-svg:${ComposeBuildConfig.composeVersion}\"")) val svg by lazy { composeDependency("org.jetbrains.compose.html:html-svg") } + @Deprecated("Specify dependency via version catalog", replaceWith = ReplaceWith("\"org.jetbrains.compose.html:html-test-utils:${ComposeBuildConfig.composeVersion}\"")) val testUtils by lazy { composeDependency("org.jetbrains.compose.html:html-test-utils") } diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ExperimentalComposeLibrary.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ExperimentalComposeLibrary.kt index 355efb8f6cf..47f8ec61d6a 100644 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ExperimentalComposeLibrary.kt +++ b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ExperimentalComposeLibrary.kt @@ -2,4 +2,5 @@ package org.jetbrains.compose // We write explicitly about OptIn, because IDEA doesn't suggest it. @RequiresOptIn("This library is experimental and can be unstable. Add @OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class) annotation.") +@Deprecated("Please specify dependency via version catalog") annotation class ExperimentalComposeLibrary \ No newline at end of file diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/experimental/dsl/ExperimentalExtension.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/experimental/dsl/ExperimentalExtension.kt deleted file mode 100644 index 4144d7a4206..00000000000 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/experimental/dsl/ExperimentalExtension.kt +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2020-2021 JetBrains s.r.o. and respective authors and developers. - * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file. - */ - -package org.jetbrains.compose.experimental.dsl - -import org.gradle.api.Action -import org.gradle.api.model.ObjectFactory -import javax.inject.Inject - -abstract class ExperimentalExtension @Inject constructor( - objects: ObjectFactory -) { - - @Deprecated( - message = "Starting from 1.6.10, Compose for Web goes to Alpha. Experimental configuration is not needed anymore.", - ) - val web: ExperimentalWebExtension = objects.newInstance(ExperimentalWebExtension::class.java) - - @Deprecated( - message = "Starting from 1.6.10, Compose for Web goes to Alpha. Experimental configuration is not needed anymore." - ) - fun web(action: Action) { - action.execute(web) - } -} \ No newline at end of file diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/experimental/dsl/ExperimentalWebApplication.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/experimental/dsl/ExperimentalWebApplication.kt deleted file mode 100644 index c9f4981998d..00000000000 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/experimental/dsl/ExperimentalWebApplication.kt +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 2020-2022 JetBrains s.r.o. and respective authors and developers. - * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file. - */ - -package org.jetbrains.compose.experimental.dsl - -import javax.inject.Inject - -@Deprecated( - message = "Starting from 1.6.10, Compose for Web goes to Alpha. Experimental configuration is not needed anymore.", -) -abstract class ExperimentalWebApplication @Inject constructor( - @Suppress("unused") - val name: String, -) { - -} \ No newline at end of file diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/experimental/dsl/ExperimentalWebExtension.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/experimental/dsl/ExperimentalWebExtension.kt deleted file mode 100644 index 5d8439f7db6..00000000000 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/experimental/dsl/ExperimentalWebExtension.kt +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2020-2022 JetBrains s.r.o. and respective authors and developers. - * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file. - */ - -package org.jetbrains.compose.experimental.dsl - -import org.gradle.api.Action -import org.gradle.api.model.ObjectFactory -import org.gradle.api.plugins.ExtensionAware -import javax.inject.Inject - -@Deprecated( - message = "Starting from 1.6.10, Compose for Web goes to Alpha. Experimental configuration is not needed anymore.", -) -abstract class ExperimentalWebExtension @Inject constructor(private val objectFactory: ObjectFactory) : ExtensionAware { - internal var _isApplicationInitialized = false - private set - - @Deprecated( - message = "Starting from 1.6.10, Compose for Web goes to Alpha. Experimental configuration is not needed anymore.", - ) - val application: ExperimentalWebApplication by lazy { - _isApplicationInitialized = true - objectFactory.newInstance(ExperimentalWebApplication::class.java, "main") - } - - @Deprecated( - message = "Starting from 1.6.10, Compose for Web goes to Alpha. Experimental configuration is not needed anymore.", - ) - fun application(fn: Action) { - fn.execute(application) - } -} diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/experimental/web/tasks/ExperimentalUnpackSkikoWasmRuntimeTask.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/experimental/web/tasks/ExperimentalUnpackSkikoWasmRuntimeTask.kt deleted file mode 100644 index c627cde01d0..00000000000 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/experimental/web/tasks/ExperimentalUnpackSkikoWasmRuntimeTask.kt +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright 2020-2022 JetBrains s.r.o. and respective authors and developers. - * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file. - */ - -package org.jetbrains.compose.experimental.web.tasks - -import org.jetbrains.compose.web.tasks.UnpackSkikoWasmRuntimeTask - -@Deprecated( - message = "Starting from 1.6.10 Compose for Web goes to Alpha", - replaceWith = ReplaceWith("UnpackSkikoWasmRuntimeTask") -) -abstract class ExperimentalUnpackSkikoWasmRuntimeTask : UnpackSkikoWasmRuntimeTask() \ No newline at end of file