Skip to content

Commit c38bedf

Browse files
committed
Remove get() and lazy for all dependencies, and sort all dependencies
Since ComposeBuildConfig.composeVersion is a static Sting and its parent is an object class we don't need to use get or lazy.
1 parent a2e7825 commit c38bedf

File tree

1 file changed

+42
-53
lines changed

1 file changed

+42
-53
lines changed

gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposePlugin.kt

Lines changed: 42 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ import org.jetbrains.compose.web.internal.configureWeb
3030
import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler
3131
import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion
3232

33-
internal val composeVersion get() = ComposeBuildConfig.composeVersion
34-
3533
abstract class ComposePlugin : Plugin<Project> {
3634
override fun apply(project: Project) {
3735
val composeExtension = project.extensions.create("compose", ComposeExtension::class.java, project)
@@ -63,46 +61,53 @@ abstract class ComposePlugin : Plugin<Project> {
6361
}
6462
}
6563

64+
// Please sort them in the order of stable, experimental, and deprecated,
65+
// and keep them in alphabetical order.
66+
// Thus make it easier to find a missing dependency.
6667
@Suppress("DEPRECATION")
6768
class Dependencies(project: Project) {
68-
val desktop = DesktopDependencies
6969
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")
79-
@Deprecated("Use desktop.uiTestJUnit4", replaceWith = ReplaceWith("desktop.uiTestJUnit4"))
80-
@ExperimentalComposeLibrary
81-
val uiTestJUnit4 get() = composeDependency("org.jetbrains.compose.ui:ui-test-junit4")
70+
val components = CommonComponentsDependencies
71+
val desktop = DesktopDependencies
72+
val html: HtmlDependencies = HtmlDependencies
73+
74+
val animation = composeDependency("org.jetbrains.compose.animation:animation")
75+
val animationGraphics = composeDependency("org.jetbrains.compose.animation:animation-graphics")
76+
val foundation = composeDependency("org.jetbrains.compose.foundation:foundation")
77+
val material3 = composeDependency("org.jetbrains.compose.material3:material3")
78+
val material3AdaptiveNavigationSuite = composeDependency("org.jetbrains.compose.material3:material3-adaptive-navigation-suite")
79+
val material = composeDependency("org.jetbrains.compose.material:material")
80+
val materialIconsExtended = "org.jetbrains.compose.material:material-icons-extended:1.7.3"
81+
val preview = composeDependency("org.jetbrains.compose.ui:ui-tooling-preview")
82+
val runtime = composeDependency("org.jetbrains.compose.runtime:runtime")
83+
val runtimeSaveable = composeDependency("org.jetbrains.compose.runtime:runtime-saveable")
84+
val ui = composeDependency("org.jetbrains.compose.ui:ui")
85+
val uiTooling = composeDependency("org.jetbrains.compose.ui:ui-tooling")
86+
val uiUtil = composeDependency("org.jetbrains.compose.ui:ui-util")
87+
8288
@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.3"
88-
val components get() = CommonComponentsDependencies
89+
val uiTest = composeDependency("org.jetbrains.compose.ui:ui-test")
90+
8991
@Deprecated("Use compose.html", replaceWith = ReplaceWith("html"))
9092
val web: WebDependencies get() = WebDependencies
91-
val html: HtmlDependencies get() = HtmlDependencies
93+
94+
@Deprecated("Use desktop.uiTestJUnit4", replaceWith = ReplaceWith("desktop.uiTestJUnit4"))
95+
@ExperimentalComposeLibrary
96+
val uiTestJUnit4 = composeDependency("org.jetbrains.compose.ui:ui-test-junit4")
9297
}
9398

9499
object DesktopDependencies {
95100
val components = DesktopComponentsDependencies
96101

97102
val common = composeDependency("org.jetbrains.compose.desktop:desktop")
98-
val linux_x64 = composeDependency("org.jetbrains.compose.desktop:desktop-jvm-linux-x64")
99103
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")
104+
val linux_x64 = composeDependency("org.jetbrains.compose.desktop:desktop-jvm-linux-x64")
103105
val macos_arm64 = composeDependency("org.jetbrains.compose.desktop:desktop-jvm-macos-arm64")
106+
val macos_x64 = composeDependency("org.jetbrains.compose.desktop:desktop-jvm-macos-x64")
107+
val windows_arm64 = composeDependency("org.jetbrains.compose.desktop:desktop-jvm-windows-arm64")
108+
val windows_x64 = composeDependency("org.jetbrains.compose.desktop:desktop-jvm-windows-x64")
104109

105-
val uiTestJUnit4 get() = composeDependency("org.jetbrains.compose.ui:ui-test-junit4")
110+
val uiTestJUnit4 = composeDependency("org.jetbrains.compose.ui:ui-test-junit4")
106111

107112
val currentOs by lazy {
108113
composeDependency("org.jetbrains.compose.desktop:desktop-jvm-${currentTarget.id}")
@@ -111,7 +116,7 @@ abstract class ComposePlugin : Plugin<Project> {
111116

112117
class CompilerDependencies(private val project: Project) {
113118
fun forKotlin(version: String) = "org.jetbrains.compose.compiler:compiler:" +
114-
ComposeCompilerCompatibility.compilerVersionFor(version)
119+
ComposeCompilerCompatibility.compilerVersionFor(version)
115120

116121
/**
117122
* Compose Compiler that is chosen by the version of Kotlin applied to the Gradle project
@@ -126,39 +131,23 @@ abstract class ComposePlugin : Plugin<Project> {
126131

127132
object DesktopComponentsDependencies {
128133
@ExperimentalComposeLibrary
129-
val splitPane = composeDependency("org.jetbrains.compose.components:components-splitpane")
134+
val animatedImage = composeDependency("org.jetbrains.compose.components:components-animatedimage")
130135

131136
@ExperimentalComposeLibrary
132-
val animatedImage = composeDependency("org.jetbrains.compose.components:components-animatedimage")
137+
val splitPane = composeDependency("org.jetbrains.compose.components:components-splitpane")
133138
}
134139

135140
@Deprecated("Use compose.html")
136141
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-
}
142+
val core = composeDependency("org.jetbrains.compose.html:html-core")
143+
val svg = composeDependency("org.jetbrains.compose.html:html-svg")
144+
val testUtils = composeDependency("org.jetbrains.compose.html:html-test-utils")
148145
}
149146

150147
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-
}
148+
val core = composeDependency("org.jetbrains.compose.html:html-core")
149+
val svg = composeDependency("org.jetbrains.compose.html:html-svg")
150+
val testUtils = composeDependency("org.jetbrains.compose.html:html-test-utils")
162151
}
163152
}
164153

@@ -169,7 +158,7 @@ fun KotlinDependencyHandler.compose(groupWithArtifact: String) = composeDependen
169158

170159
fun DependencyHandler.compose(groupWithArtifact: String) = composeDependency(groupWithArtifact)
171160

172-
private fun composeDependency(groupWithArtifact: String) = "$groupWithArtifact:$composeVersion"
161+
private fun composeDependency(groupWithArtifact: String) = "$groupWithArtifact:${ComposeBuildConfig.composeVersion}"
173162

174163
private fun setUpGroovyDslExtensions(project: Project) {
175164
project.plugins.withId("org.jetbrains.kotlin.multiplatform") {

0 commit comments

Comments
 (0)