Skip to content

Commit 997e6f8

Browse files
committed
chore: Update files generated by Kotlin Multiplatform Wizard
Kotlin Multiplatform Wizard: https://kmp.jetbrains.com/ Cherry-picked from commit b41d6e8 (Change-Id I3c3b14fb78971ac4389458e4e889118f9b0657be) Bug: #48 Change-Id: I1d051b4d913e03f25b5c765fad6e64e60690132f
1 parent fe9ea4e commit 997e6f8

15 files changed

Lines changed: 195 additions & 119 deletions

File tree

.github/workflows/build-ios.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ jobs:
1919
distribution: 'zulu'
2020
java-version: 21
2121
- name: Set Xcode version
22-
run: sudo xcode-select -s /Applications/Xcode_15.3.app/Contents/Developer
22+
run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
2323
- name: iOS debug build
24-
run: cd iosApp && xcodebuild -scheme iosApp -configuration Debug -destination 'platform=iOS Simulator,OS=latest,name=iPhone 15' CODE_SIGNING_ALLOWED='NO'
24+
run: cd iosApp && xcodebuild -scheme iosApp -configuration Debug -destination 'platform=iOS Simulator,OS=latest,name=iPhone 16' CODE_SIGNING_ALLOWED='NO'

CONTRIBUTING.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,17 @@ If you wish to contribute to icampuspass-kmp, feel free to fork the repository a
66

77
This is a Kotlin Multiplatform project targeting Android, iOS.
88

9-
* `/composeApp` is for code that will be shared across your Compose Multiplatform applications.
9+
* [/composeApp](./composeApp/src) is for code that will be shared across your Compose Multiplatform applications.
1010
It contains several subfolders:
11-
- `commonMain` is for code that's common for all targets.
11+
- [commonMain](./composeApp/src/commonMain/kotlin) is for code thats common for all targets.
1212
- Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name.
13-
For example, if you want to use Apple's CoreCrypto for the iOS part of your Kotlin app,
14-
`iosMain` would be the right folder for such calls.
15-
* `/iosApp` contains iOS applications. Even if you're sharing your UI with Compose Multiplatform,
13+
For example, if you want to use Apple’s CoreCrypto for the iOS part of your Kotlin app,
14+
the [iosMain](./composeApp/src/iosMain/kotlin) folder would be the right place for such calls.
15+
Similarly, if you want to edit the Desktop (JVM) specific part, the [jvmMain](./composeApp/src/jvmMain/kotlin)
16+
folder is the appropriate location.
17+
* [/iosApp](./iosApp/iosApp) contains iOS applications. Even if you’re sharing your UI with Compose Multiplatform,
1618
you need this entry point for your iOS app. This is also where you should add SwiftUI code for your project.
17-
* `/shared` is for the code that will be shared between all targets in the project.
18-
The most important subfolder is `commonMain`. If preferred, you can add code to the platform-specific folders here too.
19+
* [/shared](./shared/src) is for the code that will be shared between all targets in the project.
20+
The most important subfolder is [commonMain](./shared/src/commonMain/kotlin). If preferred, you can add code to the platform-specific folders here too.
1921

2022
Learn more about [Kotlin Multiplatform](https://www.jetbrains.com/help/kotlin-multiplatform-dev/get-started.html).

composeApp/build.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ kotlin {
3030
implementation(libs.androidx.lifecycle.viewmodel)
3131
implementation(projects.shared)
3232
}
33+
commonTest.dependencies {
34+
implementation(libs.kotlin.test)
35+
}
3336
}
3437
}
3538

Lines changed: 38 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,44 @@
1-
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2-
android:width="600dp"
3-
android:height="600dp"
4-
android:viewportWidth="600"
5-
android:viewportHeight="600">
1+
<vector
2+
xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:aapt="http://schemas.android.com/aapt"
4+
android:width="450dp"
5+
android:height="450dp"
6+
android:viewportWidth="64"
7+
android:viewportHeight="64">
68
<path
7-
android:pathData="M301.21,418.53C300.97,418.54 300.73,418.56 300.49,418.56C297.09,418.59 293.74,417.72 290.79,416.05L222.6,377.54C220.63,376.43 219,374.82 217.85,372.88C216.7,370.94 216.09,368.73 216.07,366.47L216.07,288.16C216.06,287.32 216.09,286.49 216.17,285.67C216.38,283.54 216.91,281.5 217.71,279.6L199.29,268.27L177.74,256.19C175.72,260.43 174.73,265.23 174.78,270.22L174.79,387.05C174.85,393.89 178.57,400.2 184.53,403.56L286.26,461.02C290.67,463.51 295.66,464.8 300.73,464.76C300.91,464.76 301.09,464.74 301.27,464.74C301.24,449.84 301.22,439.23 301.22,439.23L301.21,418.53Z"
8-
android:fillColor="#041619"
9-
android:fillType="nonZero"/>
9+
android:pathData="M56.25,18V46L32,60 7.75,46V18L32,4Z"
10+
android:fillColor="#6075f2"/>
1011
<path
11-
android:pathData="M409.45,242.91L312.64,188.23C303.64,183.15 292.58,183.26 283.68,188.51L187.92,245C183.31,247.73 179.93,251.62 177.75,256.17L177.74,256.19L199.29,268.27L217.71,279.6C217.83,279.32 217.92,279.02 218.05,278.74C218.24,278.36 218.43,277.98 218.64,277.62C219.06,276.88 219.52,276.18 220.04,275.51C221.37,273.8 223.01,272.35 224.87,271.25L289.06,233.39C290.42,232.59 291.87,231.96 293.39,231.51C295.53,230.87 297.77,230.6 300,230.72C302.98,230.88 305.88,231.73 308.47,233.2L373.37,269.85C375.54,271.08 377.49,272.68 379.13,274.57C379.68,275.19 380.18,275.85 380.65,276.53C380.86,276.84 381.05,277.15 381.24,277.47L397.79,266.39L420.34,252.93L420.31,252.88C417.55,248.8 413.77,245.35 409.45,242.91Z"
12-
android:fillColor="#37BF6E"
13-
android:fillType="nonZero"/>
12+
android:pathData="m41.5,26.5v11L32,43V60L56.25,46V18Z"
13+
android:fillColor="#6b57ff"/>
1414
<path
15-
android:pathData="M381.24,277.47C381.51,277.92 381.77,278.38 382.01,278.84C382.21,279.24 382.39,279.65 382.57,280.06C382.91,280.88 383.19,281.73 383.41,282.59C383.74,283.88 383.92,285.21 383.93,286.57L383.93,361.1C383.96,363.95 383.35,366.77 382.16,369.36C381.93,369.86 381.69,370.35 381.42,370.83C379.75,373.79 377.32,376.27 374.39,378L310.2,415.87C307.47,417.48 304.38,418.39 301.21,418.53L301.22,439.23C301.22,439.23 301.24,449.84 301.27,464.74C306.1,464.61 310.91,463.3 315.21,460.75L410.98,404.25C419.88,399 425.31,389.37 425.22,379.03L425.22,267.85C425.17,262.48 423.34,257.34 420.34,252.93L397.79,266.39L381.24,277.47Z"
16-
android:fillColor="#3870B2"
17-
android:fillType="nonZero"/>
15+
android:pathData="m32,43 l-9.5,-5.5v-11L7.75,18V46L32,60Z">
16+
<aapt:attr name="android:fillColor">
17+
<gradient
18+
android:centerX="23.131"
19+
android:centerY="18.441"
20+
android:gradientRadius="42.132"
21+
android:type="radial">
22+
<item android:offset="0" android:color="#FF5383EC"/>
23+
<item android:offset="0.867" android:color="#FF7F52FF"/>
24+
</gradient>
25+
</aapt:attr>
26+
</path>
1827
<path
19-
android:pathData="M177.75,256.17C179.93,251.62 183.31,247.73 187.92,245L283.68,188.51C292.58,183.26 303.64,183.15 312.64,188.23L409.45,242.91C413.77,245.35 417.55,248.8 420.31,252.88L420.34,252.93L498.59,206.19C494.03,199.46 487.79,193.78 480.67,189.75L320.86,99.49C306.01,91.1 287.75,91.27 273.07,99.95L114.99,193.2C107.39,197.69 101.81,204.11 98.21,211.63L177.74,256.19L177.75,256.17ZM301.27,464.74C301.09,464.74 300.91,464.76 300.73,464.76C295.66,464.8 290.67,463.51 286.26,461.02L184.53,403.56C178.57,400.2 174.85,393.89 174.79,387.05L174.78,270.22C174.73,265.23 175.72,260.43 177.74,256.19L98.21,211.63C94.86,218.63 93.23,226.58 93.31,234.82L93.31,427.67C93.42,438.97 99.54,449.37 109.4,454.92L277.31,549.77C284.6,553.88 292.84,556.01 301.2,555.94L301.2,555.8C301.39,543.78 301.33,495.26 301.27,464.74Z"
20-
android:strokeWidth="10"
21-
android:fillColor="#00000000"
22-
android:strokeColor="#083042"
23-
android:fillType="nonZero"/>
28+
android:pathData="M22.5,26.5 L32,21 41.5,26.5 56.25,18 32,4 7.75,18Z">
29+
<aapt:attr name="android:fillColor">
30+
<gradient
31+
android:startX="44.172"
32+
android:startY="4.377"
33+
android:endX="17.973"
34+
android:endY="34.035"
35+
android:type="linear">
36+
<item android:offset="0" android:color="#FF33C3FF"/>
37+
<item android:offset="0.878" android:color="#FF5383EC"/>
38+
</gradient>
39+
</aapt:attr>
40+
</path>
2441
<path
25-
android:pathData="M498.59,206.19L420.34,252.93C423.34,257.34 425.17,262.48 425.22,267.85L425.22,379.03C425.31,389.37 419.88,399 410.98,404.25L315.21,460.75C310.91,463.3 306.1,464.61 301.27,464.74C301.33,495.26 301.39,543.78 301.2,555.8L301.2,555.94C309.48,555.87 317.74,553.68 325.11,549.32L483.18,456.06C497.87,447.39 506.85,431.49 506.69,414.43L506.69,230.91C506.6,222.02 503.57,213.5 498.59,206.19Z"
26-
android:strokeWidth="10"
27-
android:fillColor="#00000000"
28-
android:strokeColor="#083042"
29-
android:fillType="nonZero"/>
30-
<path
31-
android:pathData="M301.2,555.94C292.84,556.01 284.6,553.88 277.31,549.76L109.4,454.92C99.54,449.37 93.42,438.97 93.31,427.67L93.31,234.82C93.23,226.58 94.86,218.63 98.21,211.63C101.81,204.11 107.39,197.69 114.99,193.2L273.07,99.95C287.75,91.27 306.01,91.1 320.86,99.49L480.67,189.75C487.79,193.78 494.03,199.46 498.59,206.19C503.57,213.5 506.6,222.02 506.69,230.91L506.69,414.43C506.85,431.49 497.87,447.39 483.18,456.06L325.11,549.32C317.74,553.68 309.48,555.87 301.2,555.94Z"
32-
android:strokeWidth="10"
33-
android:fillColor="#00000000"
34-
android:strokeColor="#083042"
35-
android:fillType="nonZero"/>
42+
android:pathData="m32,21 l9.526,5.5v11L32,43 22.474,37.5v-11z"
43+
android:fillColor="#000000"/>
3644
</vector>

composeApp/src/androidMain/kotlin/com/itocc/icampuspass/App.kt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@ package com.itocc.icampuspass
22

33
import androidx.compose.animation.AnimatedVisibility
44
import androidx.compose.foundation.Image
5+
import androidx.compose.foundation.background
56
import androidx.compose.foundation.layout.Column
7+
import androidx.compose.foundation.layout.fillMaxSize
68
import androidx.compose.foundation.layout.fillMaxWidth
7-
import androidx.compose.foundation.layout.safeDrawingPadding
9+
import androidx.compose.foundation.layout.safeContentPadding
810
import androidx.compose.material3.Button
911
import androidx.compose.material3.MaterialTheme
1012
import androidx.compose.material3.Text
@@ -27,8 +29,11 @@ fun App() {
2729
var showContent by remember { mutableStateOf(value = false) }
2830

2931
Column(
30-
modifier = Modifier.fillMaxWidth().safeDrawingPadding(),
31-
horizontalAlignment = Alignment.CenterHorizontally
32+
modifier = Modifier
33+
.background(color = MaterialTheme.colorScheme.primaryContainer)
34+
.safeContentPadding()
35+
.fillMaxSize(),
36+
horizontalAlignment = Alignment.CenterHorizontally,
3237
) {
3338
Button(onClick = { showContent = !showContent }) {
3439
Text(text = "Click me!")

composeApp/src/androidMain/kotlin/com/itocc/icampuspass/MainActivity.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ import androidx.compose.ui.tooling.preview.Preview
1212

1313
class MainActivity: AppCompatActivity() {
1414
override fun onCreate(savedInstanceState: Bundle?) {
15+
enableEdgeToEdge(
16+
statusBarStyle = SystemBarStyle.dark(Color.Black.toArgb()),
17+
navigationBarStyle = SystemBarStyle.dark(Color.Black.toArgb())
18+
)
19+
1520
super.onCreate(savedInstanceState)
1621

1722
setContent {
18-
enableEdgeToEdge(
19-
statusBarStyle = SystemBarStyle.dark(Color.Black.toArgb()),
20-
navigationBarStyle = SystemBarStyle.dark(Color.Black.toArgb())
21-
)
22-
2323
App()
2424
}
2525
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.itocc.icampuspass
2+
3+
import kotlin.test.Test
4+
import kotlin.test.assertEquals
5+
6+
class ComposeAppAndroidUnitTest {
7+
8+
@Test
9+
fun example() {
10+
assertEquals(expected = 3, actual = 1 + 2)
11+
}
12+
}

gradle.properties

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
#Kotlin
22
kotlin.code.style=official
3-
kotlin.daemon.jvmargs=-Xmx2048M
3+
kotlin.daemon.jvmargs=-Xmx3072M
44

55
#Gradle
6-
org.gradle.jvmargs=-Xmx2048M -Dfile.encoding=UTF-8
6+
org.gradle.jvmargs=-Xmx4096M -Dfile.encoding=UTF-8
7+
org.gradle.configuration-cache=true
8+
org.gradle.caching=true
79

810
#Android
911
android.nonTransitiveRClass=true

gradle/libs.versions.toml

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,15 @@ agp = "8.12.1"
33
android-compileSdk = "36"
44
android-minSdk = "24"
55
android-targetSdk = "36"
6-
androidx-activityCompose = "1.10.1"
6+
androidx-activity = "1.10.1"
77
androidx-appcompat = "1.7.1"
8-
androidx-constraintlayout = "2.2.1"
98
androidx-core-ktx = "1.17.0"
109
androidx-credentials = "1.5.0"
11-
androidx-espresso-core = "3.7.0"
1210
androidx-lifecycle = "2.9.2"
13-
androidx-navigationCompose = "2.9.3"
14-
androidx-test-junit = "1.3.0"
15-
androidx-viewmodelCompose = "2.9.2"
16-
compose-multiplatform = "1.8.2"
11+
androidx-navigation = "2.9.3"
12+
androidx-test-espresso = "3.7.0"
13+
androidx-test-ext = "1.3.0"
14+
composeMultiplatform = "1.8.2"
1715
cryptography = "0.5.0"
1816
junit = "4.13.2"
1917
kmpNativeCoroutines = "1.0.0-ALPHA-46"
@@ -27,17 +25,16 @@ qrose = "1.0.1"
2725
sqldelight = "2.1.0"
2826

2927
[libraries]
30-
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "androidx-activityCompose" }
28+
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "androidx-activity" }
3129
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx-appcompat" }
32-
androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "androidx-constraintlayout" }
3330
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidx-core-ktx" }
3431
androidx-credentials = { group = "androidx.credentials", name = "credentials", version.ref = "androidx-credentials" }
35-
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "androidx-espresso-core" }
3632
androidx-lifecycle-viewmodel = { group = "org.jetbrains.androidx.lifecycle", name = "lifecycle-viewmodel", version.ref = "androidx-lifecycle" }
33+
androidx-lifecycle-viewmodel-compose = { group = "org.jetbrains.androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" }
3734
androidx-lifecycle-runtime-compose = { group = "org.jetbrains.androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "androidx-lifecycle" }
38-
androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "androidx-navigationCompose" }
39-
androidx-test-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-junit" }
40-
androidx-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "androidx-viewmodelCompose" }
35+
androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "androidx-navigation" }
36+
androidx-test-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "androidx-test-espresso" }
37+
androidx-test-ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-ext" }
4138
cryptography-core = { group = "dev.whyoleg.cryptography", name = "cryptography-core", version.ref = "cryptography" }
4239
cryptography-provider-jdk = { group = "dev.whyoleg.cryptography", name = "cryptography-provider-jdk", version.ref = "cryptography" }
4340
cryptography-provider-openssl3-prebuilt = { group = "dev.whyoleg.cryptography", name = "cryptography-provider-openssl3-prebuilt", version.ref = "cryptography" }
@@ -63,7 +60,7 @@ sqldelight-runtime = { group = "app.cash.sqldelight", name = "runtime", version.
6360
androidApplication = { id = "com.android.application", version.ref = "agp" }
6461
androidLibrary = { id = "com.android.library", version.ref = "agp" }
6562
composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
66-
composeMultiplatform = { id = "org.jetbrains.compose", version.ref = "compose-multiplatform" }
63+
composeMultiplatform = { id = "org.jetbrains.compose", version.ref = "composeMultiplatform" }
6764
kmpNativeCoroutines = { id = "com.rickclephas.kmp.nativecoroutines", version.ref = "kmpNativeCoroutines" }
6865
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
6966
kotlinxSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
TEAM_ID=
22
BUNDLE_ID=com.itocc.icampuspass
3-
APP_NAME=iCampusPass
3+
PRODUCT_NAME=iCampusPass
4+
CURRENT_PROJECT_VERSION=1
5+
MARKETING_VERSION=1.0

0 commit comments

Comments
 (0)