Skip to content

Commit 8533b37

Browse files
committed
Refactor: Relocate UI modules
This commit restructures the project by moving UI-related modules into a dedicated `ui` directory. The following modules have been relocated: - `shared` is now `ui:shared` - `jvm-compose-test` is now `ui:test-jvm` All corresponding project dependencies and module includes have been updated to reflect these new paths.
1 parent b36fe3c commit 8533b37

File tree

90 files changed

+229
-181
lines changed

Some content is hidden

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

90 files changed

+229
-181
lines changed

AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Project Structure & Module Organization
44
- Core: `core/domain`, `core/data/db-sqldelight` (default), optional `core/data/db-room`, `core/presentation`, `core/test`.
5-
- Multiplatform UI: `shared` (common Compose code and resources).
5+
- UI: `ui/shared` (common Compose code and resources), `ui/test-jvm` (JVM Compose UI test utilities).
66
- Apps: `app/android`, `app/desktop`, `app/ios-kit` (CocoaPods framework), `app/iosApp` (Xcode project).
77
- Tooling: `build-logic` (Gradle conventions), `thirdparty` (vendored modules), `gradle/libs.versions.toml` (versions).
88
- Switch DB module via `gradle.properties` key `CORE_DATA_DB_MODULE`.
@@ -21,7 +21,7 @@
2121
- Compose: prefer state hoisting; keep @Composable functions small and previewable.
2222

2323
## Testing Guidelines
24-
- Unit tests: Kotlin Multiplatform `kotlin("test")`/JUnit. Run all with `./gradlew test` or per module (e.g., `:shared:jvmTest`).
24+
- Unit tests: Kotlin Multiplatform `kotlin("test")`/JUnit. Run all with `./gradlew test` or per module (e.g., `:ui:shared:jvmTest`).
2525
- Android UI tests: Espresso/Compose in `app/android/src/androidTest`. Run with `connectedAndroidTest`.
2626
- Desktop UI tests: in `app/desktop/src/jvmTest` using `uiTestJUnit4`.
2727
- Name tests `FooBarTest.kt`; prefer Given_When_Then method names.

app/android/build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ dependencies {
7070
implementation(project(":core:domain"))
7171
implementation(project(project.property("CORE_DATA_DB_MODULE").toString()))
7272
implementation(project(":core:presentation"))
73-
implementation(project(":shared"))
73+
implementation(project(":ui:shared"))
7474
implementation(kotlin("reflect"))
7575
implementation(libs.androidx.activity.compose)
7676
implementation(compose.ui)
@@ -94,7 +94,7 @@ dependencies {
9494
coreLibraryDesugaring(libs.desugar)
9595
testImplementation(libs.junit)
9696
testImplementation(libs.bundles.mockito)
97-
androidTestImplementation(project(":jvm-compose-test")) {
97+
androidTestImplementation(project(":ui:test-jvm")) {
9898
exclude(group = "org.jetbrains.runtime", module = "jbr-api")
9999
}
100100
androidTestImplementation(libs.commonsware.saferoom)
@@ -111,4 +111,4 @@ dependencies {
111111
}
112112
tasks.withType<UploadMappingFileTask>{
113113
dependsOn("processDebugGoogleServices")
114-
}
114+
}

app/android/src/androidTest/java/com/softartdev/notedelight/CryptUseCaseInstrumentedTest.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
44
import androidx.test.filters.MediumTest
55
import com.softartdev.notedelight.model.PlatformSQLiteState
66
import com.softartdev.notedelight.repository.SafeRepo
7-
import com.softartdev.notedelight.usecase.crypt.*
7+
import com.softartdev.notedelight.usecase.crypt.ChangePasswordUseCase
8+
import com.softartdev.notedelight.usecase.crypt.CheckPasswordUseCase
89
import io.github.aakira.napier.Napier
910
import kotlinx.coroutines.runBlocking
1011
import org.junit.Assert.assertFalse

app/android/src/androidTest/java/com/softartdev/notedelight/ui/RotationTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ import com.softartdev.notedelight.MainActivity
1313
import kotlinx.coroutines.test.runTest
1414
import leakcanary.DetectLeaksAfterTestSuccess
1515
import leakcanary.TestDescriptionHolder
16-
import notedelight.shared.generated.resources.Res
17-
import notedelight.shared.generated.resources.create_note
16+
import notedelight.ui.shared.generated.resources.Res
17+
import notedelight.ui.shared.generated.resources.create_note
1818
import org.jetbrains.compose.resources.getString
1919
import org.junit.Ignore
2020
import org.junit.Rule

app/android/src/androidTest/java/com/softartdev/notedelight/ui/SignOutTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import com.softartdev.notedelight.MainActivity
1111
import kotlinx.coroutines.test.runTest
1212
import leakcanary.DetectLeaksAfterTestSuccess
1313
import leakcanary.TestDescriptionHolder
14-
import notedelight.shared.generated.resources.Res
15-
import notedelight.shared.generated.resources.create_note
14+
import notedelight.ui.shared.generated.resources.Res
15+
import notedelight.ui.shared.generated.resources.create_note
1616
import org.jetbrains.compose.resources.getString
1717
import org.junit.Assert.assertTrue
1818
import org.junit.Rule

app/android/src/test/java/com/softartdev/notedelight/util/ProcessCheckerTest.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package com.softartdev.notedelight.util
22

33
import android.content.Context
4-
import org.junit.Assert.*
5-
4+
import org.junit.Assert.assertEquals
65
import org.junit.Test
76
import org.mockito.Mockito
87

app/desktop/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ kotlin {
2121
jvmMain.dependencies {
2222
implementation(project(":core:domain"))
2323
implementation(project(":core:presentation"))
24-
implementation(project(":shared"))
24+
implementation(project(":ui:shared"))
2525
implementation(libs.androidx.navigation.compose)
2626
implementation(project.dependencies.platform(libs.coroutines.bom))
2727
implementation(libs.coroutines.swing)
@@ -34,7 +34,7 @@ kotlin {
3434
implementation(libs.napier)
3535
}
3636
jvmTest.dependencies {
37-
implementation(project(":jvm-compose-test"))
37+
implementation(project(":ui:test-jvm"))
3838
implementation(kotlin("test"))
3939
implementation(compose.desktop.uiTestJUnit4)
4040
implementation(compose.desktop.currentOs)

app/desktop/src/jvmMain/kotlin/com/softartdev/notedelight/Main.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ import com.softartdev.notedelight.ui.icon.FileLock
1313
import com.softartdev.notedelight.util.NapierKoinLogger
1414
import io.github.aakira.napier.DebugAntilog
1515
import io.github.aakira.napier.Napier
16-
import notedelight.shared.generated.resources.Res
17-
import notedelight.shared.generated.resources.app_name
16+
import notedelight.ui.shared.generated.resources.Res
17+
import notedelight.ui.shared.generated.resources.app_name
1818
import org.jetbrains.compose.resources.stringResource
1919
import org.koin.core.context.startKoin
2020
import org.koin.core.logger.Level

app/ios-kit/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ kotlin {
3131
sourceSets {
3232
commonMain.dependencies {
3333
api(project(":core:domain"))
34-
api(project(":shared"))
34+
api(project(":ui:shared"))
3535
implementation(compose.ui)
3636
implementation(compose.foundation)
3737
implementation(compose.material3)

app/web/build.gradle.kts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
@file:OptIn(ExperimentalWasmDsl::class)
2+
3+
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
14
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
25

36
plugins {
@@ -29,7 +32,7 @@ kotlin {
2932
val wasmJsMain by getting {
3033
dependencies {
3134
implementation(project(":core:presentation"))
32-
implementation(project(":shared"))
35+
implementation(project(":ui:shared"))
3336
implementation(compose.ui)
3437
implementation(project.dependencies.platform(libs.koin.bom))
3538
implementation(libs.koin.core)

0 commit comments

Comments
 (0)