Skip to content

Commit e35c67b

Browse files
authored
Merge pull request #1603 from zsmb13/desktop-updates
Set up Compose Hot Reload for desktop
2 parents c1781db + 295be7b commit e35c67b

File tree

4 files changed

+26
-13
lines changed

4 files changed

+26
-13
lines changed

compose-desktop/build.gradle.kts

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,32 @@
11
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
22

33
plugins {
4-
kotlin("jvm")
4+
kotlin("multiplatform")
55
id("org.jetbrains.compose")
66
alias(libs.plugins.compose.compiler)
7+
alias(libs.plugins.composeHotReload)
78
}
89

9-
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
10-
dependencies {
11-
implementation(compose.desktop.currentOs)
10+
kotlin {
11+
jvm()
1212

13-
implementation(compose.ui)
14-
implementation(compose.runtime)
15-
implementation(compose.foundation)
16-
implementation(compose.material3)
17-
implementation(compose.components.resources)
13+
sourceSets {
14+
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
15+
jvmMain.dependencies {
16+
implementation(compose.desktop.currentOs)
1817

19-
implementation(libs.decompose.decompose)
20-
implementation(libs.decompose.extensions.compose)
18+
implementation(compose.ui)
19+
implementation(compose.runtime)
20+
implementation(compose.foundation)
21+
implementation(compose.material3)
22+
implementation(compose.components.resources)
2123

22-
implementation(project(":shared"))
24+
implementation(libs.decompose.decompose)
25+
implementation(libs.decompose.extensions.compose)
26+
27+
implementation(project(":shared"))
28+
}
29+
}
2330
}
2431

2532
tasks.withType<KotlinCompile> {

compose-desktop/src/main/kotlin/Main.kt renamed to compose-desktop/src/jvmMain/kotlin/Main.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import androidx.compose.material3.MaterialTheme
22
import androidx.compose.ui.platform.LocalWindowInfo
3+
import androidx.compose.ui.unit.dp
34
import androidx.compose.ui.window.Window
45
import androidx.compose.ui.window.application
56
import androidx.compose.ui.window.rememberWindowState
@@ -38,7 +39,10 @@ fun main() {
3839
}
3940

4041
application {
41-
val windowState = rememberWindowState()
42+
val windowState = rememberWindowState(
43+
width = 600.dp,
44+
height = 800.dp
45+
)
4246

4347
Window(
4448
onCloseRequest = ::exitApplication,

gradle/libs.versions.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ androidx-datastore = "1.1.4"
1414
apollo = "4.1.1"
1515
apollo-cache = "0.0.8"
1616
compose = "1.7.8"
17+
compose-hot-reload = "1.0.0-alpha05"
1718
composeLifecyleRuntime="2.8.4"
1819
compose-multiplatform = "1.7.3"
1920
compose-material3 = "1.3.1"
@@ -237,6 +238,7 @@ buildkonfig = { id = "com.codingfeline.buildkonfig", version.ref = "buildkonfig"
237238
kmmbridge = { id = "co.touchlab.kmmbridge", version.ref = "kmmbridge" }
238239
jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-multiplatform" }
239240
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
241+
composeHotReload = { id = "org.jetbrains.compose.hot-reload", version.ref = "compose-hot-reload" }
240242
screenshot = { id = "com.android.compose.screenshot", version.ref = "screenshot"}
241243
#noinspection SimilarGradleDependency
242244
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }

0 commit comments

Comments
 (0)