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) }