Deprecate Gradle plugin dependency aliases and provide direct
replacement.
Fixes [CMP-7613](https://youtrack.jetbrains.com/issue/CMP-7613) Consider
deprecating aliases `compose.material3`, etc in favour of using Gradle
version catalog
## Testing
Run a sample app, open build.gradle.kts, apply all suggested
replacements.
## Release Notes
### Migration Notes - Multiple Platforms
- Dependency aliases in Gradle plugin (e.g. `compose.ui`) are now
deprecated. Use provided direct artifact coordinates and add them to the
version catalog.
@ -69,41 +65,64 @@ abstract class ComposePlugin : Plugin<Project> {
@@ -69,41 +65,64 @@ abstract class ComposePlugin : Plugin<Project> {
@Suppress("DEPRECATION")
classDependencies(project:Project){
valdesktop=DesktopDependencies
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.animation:animation:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.animation:animation-graphics:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.foundation:foundation:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.material:material:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.material3:material3:${ComposeBuildConfig.composeMaterial3Version}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.material3:material3-adaptive-navigation-suite:${ComposeBuildConfig.composeMaterial3Version}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.runtime:runtime:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.runtime:runtime-saveable:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.ui:ui-test:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.ui:ui-util:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.ui:ui-tooling-preview:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog")
valhtml:HtmlDependenciesget()=HtmlDependencies
}
@Deprecated("Specify dependency via version catalog")
objectDesktopDependencies{
@Deprecated("Specify dependency via version catalog")
valcomponents=DesktopComponentsDependencies
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.desktop:desktop:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.desktop:desktop-jvm-linux-x64:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.desktop:desktop-jvm-linux-arm64:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.desktop:desktop-jvm-windows-x64:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.desktop:desktop-jvm-windows-arm64:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.desktop:desktop-jvm-macos-x64:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.desktop:desktop-jvm-macos-arm64:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.ui:ui-test-junit4:${ComposeBuildConfig.composeVersion}\""))
@ -111,47 +130,56 @@ abstract class ComposePlugin : Plugin<Project> {
@@ -111,47 +130,56 @@ abstract class ComposePlugin : Plugin<Project> {
}
}
@Deprecated("Specify dependency via version catalog")
objectCommonComponentsDependencies{
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.components:components-resources:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.ui:ui-tooling-preview:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog")
objectDesktopComponentsDependencies{
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.components:components-splitpane:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.components:components-animatedimage:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.html:html-core:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.html:html-svg:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.html:html-test-utils:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog")
objectHtmlDependencies{
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.html:html-core:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.html:html-svg:${ComposeBuildConfig.composeVersion}\""))
@Deprecated("Specify dependency via version catalog",replaceWith=ReplaceWith("\"org.jetbrains.compose.html:html-test-utils:${ComposeBuildConfig.composeVersion}\""))