46 lines
1.8 KiB
Kotlin
46 lines
1.8 KiB
Kotlin
plugins {
|
|
alias(libs.plugins.architecture.android.application)
|
|
alias(libs.plugins.architecture.compose)
|
|
alias(libs.plugins.architecture.koin)
|
|
// For the @Serializable CharactersViewsRoute (Compose↔View interop destination).
|
|
alias(libs.plugins.architecture.kotlinx.serialization)
|
|
}
|
|
|
|
android {
|
|
// Needed for BuildConfig.DEBUG (gating the Timber DebugTree).
|
|
buildFeatures {
|
|
buildConfig = true
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
// :app is the only place modules are assembled and the dependency graph is wired.
|
|
implementation(project(":core:data"))
|
|
implementation(project(":core:design-system"))
|
|
|
|
// Characters feature: data + presentation (Koin modules) + both renderers (Compose nav graph,
|
|
// Views Fragment hosted via interop).
|
|
implementation(project(":feature:characters:data"))
|
|
implementation(project(":feature:characters:presentation"))
|
|
implementation(project(":feature:characters:presentation-compose"))
|
|
implementation(project(":feature:characters:presentation-views"))
|
|
|
|
// About feature (MVVM contrast).
|
|
implementation(project(":feature:about:presentation"))
|
|
|
|
implementation(libs.androidx.core.ktx)
|
|
implementation(libs.androidx.activity.compose)
|
|
implementation(libs.androidx.lifecycle.runtime.ktx)
|
|
implementation(libs.bundles.lifecycle.compose)
|
|
implementation(libs.androidx.navigation.compose)
|
|
// Compose↔View interop: hosts a Fragment inside the Compose NavHost.
|
|
implementation(libs.androidx.fragment.compose)
|
|
// Material Components - required for the Material3 XML Activity theme.
|
|
implementation(libs.material)
|
|
// Logging - the DebugTree is planted here; other modules log via Timber's static API.
|
|
implementation(libs.timber)
|
|
|
|
androidTestImplementation(libs.androidx.compose.ui.test.junit4)
|
|
debugImplementation(libs.androidx.compose.ui.test.manifest)
|
|
}
|