Skip to content

Commit da65dcd

Browse files
Adronclaude
andcommitted
chore: scaffold :feature:profile module (Phase 2 base)
Empty android-library module registered in settings, verified to assemble, so parallel worktree agents branch from a base that includes it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent d101d28 commit da65dcd

2 files changed

Lines changed: 79 additions & 0 deletions

File tree

feature/profile/build.gradle.kts

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
plugins {
2+
alias(libs.plugins.android.library)
3+
alias(libs.plugins.kotlin.android)
4+
alias(libs.plugins.kotlin.compose)
5+
alias(libs.plugins.kotlin.serialization)
6+
alias(libs.plugins.ksp)
7+
alias(libs.plugins.hilt)
8+
}
9+
10+
android {
11+
namespace = "com.interlinedlist.android.feature.profile"
12+
compileSdk = 35
13+
14+
defaultConfig {
15+
minSdk = 26
16+
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
17+
}
18+
19+
buildFeatures { compose = true }
20+
21+
compileOptions {
22+
sourceCompatibility = JavaVersion.VERSION_17
23+
targetCompatibility = JavaVersion.VERSION_17
24+
}
25+
kotlinOptions { jvmTarget = "17" }
26+
}
27+
28+
dependencies {
29+
implementation(project(":core:model"))
30+
implementation(project(":core:common"))
31+
implementation(project(":core:designsystem"))
32+
implementation(project(":core:network"))
33+
implementation(project(":core:datastore"))
34+
35+
implementation(platform(libs.androidx.compose.bom))
36+
implementation(libs.androidx.compose.ui)
37+
implementation(libs.androidx.compose.material3)
38+
implementation(libs.androidx.compose.material.icons.extended)
39+
implementation(libs.androidx.compose.ui.tooling.preview)
40+
debugImplementation(libs.androidx.compose.ui.tooling)
41+
implementation(libs.androidx.lifecycle.viewmodel.compose)
42+
implementation(libs.androidx.lifecycle.runtime.compose)
43+
44+
// This module owns its own Room cache (see DocumentsDatabase) — it must not
45+
// reuse the shared :core:database, so it pulls Room in directly.
46+
implementation(libs.room.runtime)
47+
implementation(libs.room.ktx)
48+
ksp(libs.room.compiler)
49+
50+
implementation(libs.hilt.android)
51+
ksp(libs.hilt.compiler)
52+
implementation(libs.androidx.hilt.navigation.compose)
53+
54+
implementation(libs.coil.compose)
55+
56+
implementation(libs.retrofit.core)
57+
implementation(libs.kotlinx.serialization.json)
58+
59+
// Unit tests
60+
testImplementation(libs.junit)
61+
testImplementation(libs.kotlinx.coroutines.test)
62+
testImplementation(libs.turbine)
63+
testImplementation(libs.truth)
64+
// Repository tests hit a MockWebServer through the real Retrofit stack.
65+
testImplementation(libs.okhttp.mockwebserver)
66+
testImplementation(libs.retrofit.core)
67+
testImplementation(libs.retrofit.kotlinx.serialization)
68+
testImplementation(libs.okhttp.core)
69+
testImplementation(libs.kotlinx.serialization.json)
70+
71+
// Instrumented / UI tests
72+
androidTestImplementation(libs.androidx.test.ext.junit)
73+
androidTestImplementation(libs.androidx.test.runner)
74+
androidTestImplementation(platform(libs.androidx.compose.bom))
75+
androidTestImplementation(libs.androidx.compose.ui.test.junit4)
76+
androidTestImplementation(libs.truth)
77+
debugImplementation(libs.androidx.compose.ui.test.manifest)
78+
}

settings.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,4 @@ include(":feature:auth")
3838
include(":feature:lists")
3939
include(":feature:messages")
4040
include(":feature:documents")
41+
include(":feature:profile")

0 commit comments

Comments
 (0)