@@ -30,8 +30,6 @@ import org.jetbrains.compose.web.internal.configureWeb
30
30
import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler
31
31
import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion
32
32
33
- internal val composeVersion get() = ComposeBuildConfig .composeVersion
34
-
35
33
abstract class ComposePlugin : Plugin <Project > {
36
34
override fun apply (project : Project ) {
37
35
val composeExtension = project.extensions.create(" compose" , ComposeExtension ::class .java, project)
@@ -65,44 +63,43 @@ abstract class ComposePlugin : Plugin<Project> {
65
63
66
64
@Suppress(" DEPRECATION" )
67
65
class Dependencies (project : Project ) {
68
- val desktop = DesktopDependencies
66
+ val animation = composeDependency(" org.jetbrains.compose.animation:animation" )
67
+ val animationGraphics = composeDependency(" org.jetbrains.compose.animation:animation-graphics" )
69
68
val compiler = CompilerDependencies (project)
70
- val animation get() = composeDependency(" org.jetbrains.compose.animation:animation" )
71
- val animationGraphics get() = composeDependency(" org.jetbrains.compose.animation:animation-graphics" )
72
- val foundation get() = composeDependency(" org.jetbrains.compose.foundation:foundation" )
73
- val material get() = composeDependency(" org.jetbrains.compose.material:material" )
74
- val material3 get() = composeDependency(" org.jetbrains.compose.material3:material3" )
75
- val material3AdaptiveNavigationSuite get() = composeDependency(" org.jetbrains.compose.material3:material3-adaptive-navigation-suite" )
76
- val runtime get() = composeDependency(" org.jetbrains.compose.runtime:runtime" )
77
- val runtimeSaveable get() = composeDependency(" org.jetbrains.compose.runtime:runtime-saveable" )
78
- val ui get() = composeDependency(" org.jetbrains.compose.ui:ui" )
69
+ val components = CommonComponentsDependencies
70
+ val desktop = DesktopDependencies
71
+ val foundation = composeDependency(" org.jetbrains.compose.foundation:foundation" )
72
+ val html: HtmlDependencies = HtmlDependencies
73
+ val material = composeDependency(" org.jetbrains.compose.material:material" )
74
+ val material3 = composeDependency(" org.jetbrains.compose.material3:material3" )
75
+ val material3AdaptiveNavigationSuite = composeDependency(" org.jetbrains.compose.material3:material3-adaptive-navigation-suite" )
76
+ val materialIconsExtended = " org.jetbrains.compose.material:material-icons-extended:1.7.0-rc01"
77
+ val preview = composeDependency(" org.jetbrains.compose.ui:ui-tooling-preview" )
78
+ val runtime = composeDependency(" org.jetbrains.compose.runtime:runtime" )
79
+ val runtimeSaveable = composeDependency(" org.jetbrains.compose.runtime:runtime-saveable" )
80
+ val ui = composeDependency(" org.jetbrains.compose.ui:ui" )
81
+ val uiTest = composeDependency(" org.jetbrains.compose.ui:ui-test" )
82
+ val uiTooling = composeDependency(" org.jetbrains.compose.ui:ui-tooling" )
83
+ val uiUtil = composeDependency(" org.jetbrains.compose.ui:ui-util" )
84
+
79
85
@Deprecated(" Use desktop.uiTestJUnit4" , replaceWith = ReplaceWith (" desktop.uiTestJUnit4" ))
80
- @ExperimentalComposeLibrary
81
- val uiTestJUnit4 get() = composeDependency(" org.jetbrains.compose.ui:ui-test-junit4" )
82
- @ExperimentalComposeLibrary
83
- val uiTest get() = composeDependency(" org.jetbrains.compose.ui:ui-test" )
84
- val uiTooling get() = composeDependency(" org.jetbrains.compose.ui:ui-tooling" )
85
- val uiUtil get() = composeDependency(" org.jetbrains.compose.ui:ui-util" )
86
- val preview get() = composeDependency(" org.jetbrains.compose.ui:ui-tooling-preview" )
87
- val materialIconsExtended get() = " org.jetbrains.compose.material:material-icons-extended:1.7.0-rc01"
88
- val components get() = CommonComponentsDependencies
86
+ val uiTestJUnit4 = composeDependency(" org.jetbrains.compose.ui:ui-test-junit4" )
87
+
89
88
@Deprecated(" Use compose.html" , replaceWith = ReplaceWith (" html" ))
90
- val web: WebDependencies get() = WebDependencies
91
- val html: HtmlDependencies get() = HtmlDependencies
89
+ val web: WebDependencies = WebDependencies
92
90
}
93
91
94
92
object DesktopDependencies {
93
+ val common = composeDependency(" org.jetbrains.compose.desktop:desktop" )
95
94
val components = DesktopComponentsDependencies
95
+ val uiTestJUnit4 = composeDependency(" org.jetbrains.compose.ui:ui-test-junit4" )
96
96
97
- val common = composeDependency(" org.jetbrains.compose.desktop:desktop" )
98
- val linux_x64 = composeDependency(" org.jetbrains.compose.desktop:desktop-jvm-linux-x64" )
99
97
val linux_arm64 = composeDependency(" org.jetbrains.compose.desktop:desktop-jvm-linux-arm64" )
100
- val windows_x64 = composeDependency(" org.jetbrains.compose.desktop:desktop-jvm-windows-x64" )
101
- val windows_arm64 = composeDependency(" org.jetbrains.compose.desktop:desktop-jvm-windows-arm64" )
102
- val macos_x64 = composeDependency(" org.jetbrains.compose.desktop:desktop-jvm-macos-x64" )
98
+ val linux_x64 = composeDependency(" org.jetbrains.compose.desktop:desktop-jvm-linux-x64" )
103
99
val macos_arm64 = composeDependency(" org.jetbrains.compose.desktop:desktop-jvm-macos-arm64" )
104
-
105
- val uiTestJUnit4 get() = composeDependency(" org.jetbrains.compose.ui:ui-test-junit4" )
100
+ val macos_x64 = composeDependency(" org.jetbrains.compose.desktop:desktop-jvm-macos-x64" )
101
+ val windows_arm64 = composeDependency(" org.jetbrains.compose.desktop:desktop-jvm-windows-arm64" )
102
+ val windows_x64 = composeDependency(" org.jetbrains.compose.desktop:desktop-jvm-windows-x64" )
106
103
107
104
val currentOs by lazy {
108
105
composeDependency(" org.jetbrains.compose.desktop:desktop-jvm-${currentTarget.id} " )
@@ -126,39 +123,23 @@ abstract class ComposePlugin : Plugin<Project> {
126
123
127
124
object DesktopComponentsDependencies {
128
125
@ExperimentalComposeLibrary
129
- val splitPane = composeDependency(" org.jetbrains.compose.components:components-splitpane " )
126
+ val animatedImage = composeDependency(" org.jetbrains.compose.components:components-animatedimage " )
130
127
131
128
@ExperimentalComposeLibrary
132
- val animatedImage = composeDependency(" org.jetbrains.compose.components:components-animatedimage " )
129
+ val splitPane = composeDependency(" org.jetbrains.compose.components:components-splitpane " )
133
130
}
134
131
135
132
@Deprecated(" Use compose.html" )
136
133
object WebDependencies {
137
- val core by lazy {
138
- composeDependency(" org.jetbrains.compose.html:html-core" )
139
- }
140
-
141
- val svg by lazy {
142
- composeDependency(" org.jetbrains.compose.html:html-svg" )
143
- }
144
-
145
- val testUtils by lazy {
146
- composeDependency(" org.jetbrains.compose.html:html-test-utils" )
147
- }
134
+ val core = composeDependency(" org.jetbrains.compose.html:html-core" )
135
+ val svg = composeDependency(" org.jetbrains.compose.html:html-svg" )
136
+ val testUtils = composeDependency(" org.jetbrains.compose.html:html-test-utils" )
148
137
}
149
138
150
139
object HtmlDependencies {
151
- val core by lazy {
152
- composeDependency(" org.jetbrains.compose.html:html-core" )
153
- }
154
-
155
- val svg by lazy {
156
- composeDependency(" org.jetbrains.compose.html:html-svg" )
157
- }
158
-
159
- val testUtils by lazy {
160
- composeDependency(" org.jetbrains.compose.html:html-test-utils" )
161
- }
140
+ val core = composeDependency(" org.jetbrains.compose.html:html-core" )
141
+ val svg = composeDependency(" org.jetbrains.compose.html:html-svg" )
142
+ val testUtils = composeDependency(" org.jetbrains.compose.html:html-test-utils" )
162
143
}
163
144
}
164
145
@@ -169,7 +150,7 @@ fun KotlinDependencyHandler.compose(groupWithArtifact: String) = composeDependen
169
150
170
151
fun DependencyHandler.compose (groupWithArtifact : String ) = composeDependency(groupWithArtifact)
171
152
172
- private fun composeDependency (groupWithArtifact : String ) = " $groupWithArtifact :$composeVersion "
153
+ private fun composeDependency (groupWithArtifact : String ) = " $groupWithArtifact :${ ComposeBuildConfig . composeVersion} "
173
154
174
155
private fun setUpGroovyDslExtensions (project : Project ) {
175
156
project.plugins.withId(" org.jetbrains.kotlin.multiplatform" ) {
0 commit comments