Skip to content

Commit 3cd6e38

Browse files
authored
Upgraded to Kotlin 2.0.0 (#13)
* Upgraded to Kotlin 2.0.0 * cleaned dependencies * use Compose Resources * cleaned code * replaced deprecated icons * corrected font resources for iOS
1 parent 8cc55d0 commit 3cd6e38

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+106
-93
lines changed

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,7 @@ google-services.json
3434

3535
# Android Profiling
3636
*.hprof
37-
xcuserdata
37+
xcuserdata
38+
39+
*.klib
40+
.kotlin/metadata

androidApp/build.gradle.kts

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
plugins {
22
id("com.android.application")
33
kotlin("android")
4+
alias(libs.plugins.compose.compiler)
45
}
56

67
val versionNum: String? by project
@@ -27,9 +28,6 @@ android {
2728
buildFeatures {
2829
compose = true
2930
}
30-
composeOptions {
31-
kotlinCompilerExtensionVersion = libs.versions.compose.compiler.get()
32-
}
3331
packaging {
3432
resources {
3533
excludes += "/META-INF/{AL2.0,LGPL2.1}"
@@ -58,11 +56,11 @@ dependencies {
5856
implementation(libs.androidx.core.splashscreen)
5957
implementation(libs.androidx.tracing.ktx)
6058

61-
implementation("androidx.compose.ui:ui")
62-
implementation("androidx.compose.material:material")
63-
implementation("androidx.compose.material3:material3")
64-
implementation("androidx.compose.material3:material3-window-size-class")
65-
implementation("androidx.compose.ui:ui-tooling-preview")
59+
implementation(libs.androidx.ui)
60+
implementation(libs.androidx.material)
61+
implementation(libs.androidx.material3)
62+
implementation(libs.androidx.material3.window.size)
63+
implementation(libs.androidx.ui.tooling.preview)
6664

6765
implementation(libs.androidx.activity.compose)
6866
implementation(libs.accompanist.systemuicontroller)
@@ -71,13 +69,13 @@ dependencies {
7169
implementation(libs.koin.android)
7270

7371
implementation(platform(libs.firebase.bom))
74-
implementation("com.google.firebase:firebase-analytics-ktx")
72+
implementation(libs.firebase.analytics.ktx)
7573

7674
testImplementation(libs.junit)
7775
testImplementation(libs.koin.test)
7876
androidTestImplementation(libs.androidx.junit)
7977
androidTestImplementation(libs.androidx.espresso.core)
8078

8179
// androidTestImplementation("androidx.compose.ui:ui-test-junit4")
82-
debugImplementation("androidx.compose.ui:ui-tooling")
80+
debugImplementation(libs.androidx.ui.tooling)
8381
}

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ plugins {
55
kotlin("multiplatform").version(libs.versions.kotlin).apply(false)
66
kotlin("plugin.serialization").version(libs.versions.kotlin).apply(false)
77
alias(libs.plugins.compose.multiplatform).apply(false)
8+
alias(libs.plugins.compose.compiler).apply(false)
89
alias(libs.plugins.ktlint).apply(false)
910
alias(libs.plugins.detekt).apply(false)
1011
}

desktopApp/.run/desktopApp.run.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
<component name="ProjectRunConfigurationManager">
22
<configuration default="false" name="desktopApp" type="JetRunConfigurationType">
3+
<option name="ALTERNATIVE_JRE_PATH" value="BUNDLED" />
4+
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
35
<option name="MAIN_CLASS_NAME" value="MainKt" />
46
<module name="MultiplatformKickstarter.desktopApp.jvmMain" />
57
<shortenClasspath name="NONE" />

desktopApp/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import org.jetbrains.compose.desktop.application.dsl.TargetFormat
33
plugins {
44
kotlin("multiplatform")
55
id("org.jetbrains.compose")
6+
alias(libs.plugins.compose.compiler)
67
}
78

89
kotlin {

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@ multiplatformkickstarter.android.minSdk = 26
3232
multiplatformkickstarter.android.targetSdk = 34
3333

3434
multiplatformkickstarter.version.major = 1
35-
multiplatformkickstarter.version.minor = 4
35+
multiplatformkickstarter.version.minor = 5
3636
multiplatformkickstarter.version.patch = 0

gradle/libs.versions.toml

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
[versions]
2-
kotlin = "2.0.0-RC1"
3-
ktor-client = "2.3.10"
4-
ktor-server = "2.3.10"
2+
kotlin = "2.0.0"
3+
ktor-client = "2.3.11"
4+
ktor-server = "2.3.11"
55
multiplatform-settings = "1.0.0"
66
voyager = "1.0.0"
77
koin = "3.5.6"
88
koin-compose = "1.1.3"
99
junit = "4.13.2"
1010
androidGradlePlugin = "8.2.2"
11-
composeMultiplatform = "1.6.2"
12-
compose-compiler = "1.5.13-dev-k2.0.0-RC1-50f08dfa4b4"
11+
composeMultiplatform = "1.6.10"
1312
exposed = "0.37.3"
14-
skiko = "0.7.97"
13+
skiko = "0.8.4"
1514
ktlint = "11.5.1"
1615
detekt = "1.23.1"
17-
kotlinx-coroutines = "1.8.0"
16+
kotlinx-coroutines = "1.8.1"
1817
androidx-junit = "1.1.5"
1918
espressoCore = "3.5.1"
2019
accompanistSystemuicontroller = "0.32.0"
@@ -67,12 +66,20 @@ junit = { module = "junit:junit", version.ref = "junit" }
6766
androidx-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espressoCore" }
6867
androidx-junit = { module = "androidx.test.ext:junit", version.ref = "androidx-junit" }
6968

69+
androidx-material = { module = "androidx.compose.material:material" }
70+
androidx-material3 = { module = "androidx.compose.material3:material3" }
71+
androidx-material3-window-size = { module = "androidx.compose.material3:material3-window-size-class" }
72+
androidx-ui = { module = "androidx.compose.ui:ui" }
73+
androidx-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
74+
androidx-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
75+
firebase-analytics-ktx = { module = "com.google.firebase:firebase-analytics-ktx" }
76+
7077
# iOS
7178
stately-common = { module = "co.touchlab:stately-common", version.ref = "touchlab" }
7279

7380
# Desktop
7481
koin-compose = { module = "io.insert-koin:koin-compose", version.ref = "koin-compose" }
75-
kotlinx-coroutines-swingui = "org.jetbrains.kotlinx:kotlinx-coroutines-swing:1.8.0"
82+
kotlinx-coroutines-swingui = "org.jetbrains.kotlinx:kotlinx-coroutines-swing:1.8.1"
7683
ktor-client-java = { module = "io.ktor:ktor-client-java", version.ref = "ktor-client" }
7784
androidx-compose-ui-util = "androidx.compose.ui:ui-util:1.6.7"
7885

@@ -117,6 +124,8 @@ android-library = { id = "com.android.library", version.ref = "androidGradlePlug
117124
compose-multiplatform = { id = "org.jetbrains.compose", version.ref = "composeMultiplatform" }
118125
ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint" }
119126
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
127+
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
128+
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
120129

121130
#Backend
122131
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version = "kotlin" }

shared/build.gradle.kts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ plugins {
33
id("com.android.library")
44
id("org.jetbrains.compose")
55
kotlin("plugin.serialization")
6+
alias(libs.plugins.compose.compiler)
67
}
78

89
@OptIn(org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi::class)
@@ -31,6 +32,13 @@ kotlin {
3132
}
3233

3334
sourceSets {
35+
all {
36+
languageSettings {
37+
optIn("org.jetbrains.compose.resources.ExperimentalResourceApi")
38+
optIn("androidx.compose.foundation.layout.ExperimentalLayoutApi")
39+
optIn("androidx.compose.material3.ExperimentalMaterial3Api")
40+
}
41+
}
3442
commonMain.dependencies {
3543
implementation(libs.skiko)
3644
implementation(compose.ui)
@@ -39,7 +47,6 @@ kotlin {
3947
implementation(compose.material3)
4048
implementation(compose.animation)
4149
implementation(compose.materialIconsExtended)
42-
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
4350
implementation(compose.components.resources)
4451
implementation(libs.kotlinx.serialization.json)
4552
implementation(libs.kotlinx.datetime)
@@ -106,3 +113,9 @@ android {
106113
targetCompatibility = JavaVersion.VERSION_17
107114
}
108115
}
116+
117+
compose.resources {
118+
publicResClass = true
119+
packageOfResClass = "com.multiplatformkickstarter.app.resources"
120+
generateResClass = always
121+
}

0 commit comments

Comments
 (0)