Skip to content

Commit 9e159b3

Browse files
committed
build: update dependencies and migrate to version catalog
- Update kotlinx-serialization to 1.10.0 and composeMultiplatform to 1.10.0 - Add version definitions for materialIconsExtended and material3WindowSizeClass - Introduce Compose and Material3 library definitions in version catalog - Migrate Compose Multiplatform and Material3 dependencies to version catalog references - Enable includeAllModules for desktop distributions
1 parent ef80e6e commit 9e159b3

2 files changed

Lines changed: 24 additions & 10 deletions

File tree

composeApp/build.gradle.kts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,20 @@ kotlin {
1515
sourceSets {
1616
commonMain.dependencies {
1717
// Compose Multiplatform - UI Framework
18-
implementation(compose.runtime) // Compose runtime for state management
19-
implementation(compose.foundation) // Foundation layouts and components
20-
implementation(compose.ui) // Core UI components
21-
implementation(compose.components.resources) // Resource handling
22-
implementation(compose.components.uiToolingPreview) // Preview support
18+
implementation(libs.runtime) // Compose runtime for state management
19+
implementation(libs.foundation) // Foundation layouts and components
20+
implementation(libs.ui) // Core UI components
21+
implementation(libs.components.resources) // Resource handling
22+
implementation(libs.ui.tooling.preview) // Preview support
2323

2424
// Lifecycle - ViewModel and state management
2525
implementation(libs.androidx.lifecycle.viewmodel.compose) // ViewModel for business logic
2626
implementation(libs.androidx.lifecycle.runtime.compose) // Lifecycle-aware Compose
2727

2828
// Material Design 3 - Enhanced design system
29-
implementation(compose.material3) // Material3 design system
30-
implementation(compose.material3AdaptiveNavigationSuite) // Material3 adaptive design suite
31-
implementation(compose.materialIconsExtended) // Extended Material icons
29+
implementation(libs.material3) // Material3 design system
30+
implementation(libs.material3.adaptive.navigation.suite) // Material3 adaptive design suite
31+
implementation(libs.material.icons.extended) // Extended Material icons
3232
implementation(libs.material3.adaptive) // Material3 adaptive
3333

3434
// Navigation - Type-safe screen navigation
@@ -128,6 +128,7 @@ compose {
128128
dirChooser = true
129129
shortcut = true
130130
menu = true
131+
includeAllModules = true
131132
}
132133
linux {
133134
iconFile.set(iconsRoot.resolve("app_logo.png"))

gradle/libs.versions.toml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ kotlin = "2.3.0"
44

55
# Coroutines & Serialization & Datetime
66
kotlinx-coroutines = "1.10.2"
7-
kotlinx-serialization = "1.9.0"
7+
kotlinx-serialization = "1.10.0"
88
kotlinx-datetime = "0.7.1"
99

1010
# Compose Multiplatform
11-
composeMultiplatform = "1.9.3"
11+
composeMultiplatform = "1.10.0"
1212
composeHotReload = "1.0.0"
1313

1414
# Androidx Core
@@ -22,6 +22,8 @@ androidx-navigation = "2.9.1"
2222

2323
# Material Design
2424
material3-adaptive = "1.2.0"
25+
materialIconsExtended = "1.7.3"
26+
material3WindowSizeClass = "1.9.0"
2527

2628
# DataStore
2729
datastore = "1.2.0"
@@ -49,6 +51,13 @@ jsystemthemedetector = "3.6"
4951

5052

5153
[libraries]
54+
components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "composeMultiplatform" }
55+
foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "composeMultiplatform" }
56+
runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "composeMultiplatform" }
57+
ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "composeMultiplatform" }
58+
ui-tooling = { module = "org.jetbrains.compose.ui:ui-tooling", version.ref = "composeMultiplatform" }
59+
ui-tooling-preview = { module = "org.jetbrains.compose.ui:ui-tooling-preview", version.ref = "composeMultiplatform" }
60+
5261
# Testing
5362
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
5463
kotlin-testJunit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
@@ -64,7 +73,11 @@ kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serializa
6473
kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-datetime" }
6574

6675
# Material 3 Adaptive
76+
material-icons-extended = { module = "org.jetbrains.compose.material:material-icons-extended", version.ref = "materialIconsExtended" }
77+
material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "material3WindowSizeClass" }
6778
material3-adaptive = { module = "org.jetbrains.compose.material3.adaptive:adaptive", version.ref = "material3-adaptive" }
79+
material3-adaptive-navigation-suite = { module = "org.jetbrains.compose.material3:material3-adaptive-navigation-suite", version.ref = "material3WindowSizeClass" }
80+
material3-window-size-class1 = { module = "org.jetbrains.compose.material3:material3-window-size-class", version.ref = "material3WindowSizeClass" }
6881
material3-adaptive-layout = { group = "org.jetbrains.compose.material3.adaptive", name = "adaptive-layout", version.ref = "material3-adaptive" }
6982
material3-adaptive-navigation = { group = "org.jetbrains.compose.material3.adaptive", name = "adaptive-navigation", version.ref = "material3-adaptive" }
7083

0 commit comments

Comments
 (0)