74 lines
2.7 KiB
Kotlin
74 lines
2.7 KiB
Kotlin
plugins {
|
|
id("gwenedeg.kmp.library")
|
|
id("gwenedeg.compose")
|
|
}
|
|
|
|
kotlin {
|
|
androidLibrary {
|
|
namespace = "bzh.ajaury.chombev.records"
|
|
// Packages the Compose resources (strings of the screens) into the device test APK.
|
|
androidResources {
|
|
enable = true
|
|
}
|
|
|
|
// Accessibility tests: they run the Accessibility Test Framework checks, which need an
|
|
// Android device or emulator on API 34+ (Robolectric does not support them).
|
|
withDeviceTestBuilder {}.configure {
|
|
instrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
androidMain.dependencies {
|
|
implementation(libs.compose.uiToolingPreview)
|
|
}
|
|
commonMain.dependencies {
|
|
// Core modules
|
|
implementation(projects.core.accessibility)
|
|
implementation(projects.core.model)
|
|
implementation(projects.core.logging)
|
|
implementation(projects.core.audioplayer)
|
|
|
|
// Data modules
|
|
implementation(projects.data.playback)
|
|
implementation(projects.data.preferences)
|
|
implementation(projects.data.records)
|
|
implementation(projects.data.subtitle)
|
|
implementation(projects.data.resources)
|
|
|
|
// UI - Compose
|
|
implementation(libs.compose.runtime)
|
|
implementation(libs.compose.foundation)
|
|
implementation(libs.compose.material3)
|
|
implementation(libs.compose.material.icons.extended)
|
|
implementation(libs.compose.ui)
|
|
implementation(libs.compose.uiToolingPreview)
|
|
implementation(libs.compose.components.resources)
|
|
|
|
// Lifecycle
|
|
implementation(libs.lifecycle.viewmodelCompose)
|
|
implementation(libs.lifecycle.runtimeCompose)
|
|
|
|
// DI
|
|
implementation(project.dependencies.platform(libs.koin.bom))
|
|
implementation(libs.koin.core)
|
|
implementation(libs.koin.core.viewmodel)
|
|
implementation(libs.koin.compose.viewmodel)
|
|
}
|
|
getByName("androidDeviceTest").dependencies {
|
|
implementation(libs.kotlin.test)
|
|
implementation(libs.androidx.testRunner)
|
|
// Espresso 3.5, which Compose UI tests depend on, breaks on API 37 (InputManager.getInstance).
|
|
implementation(libs.androidx.espressoCore)
|
|
implementation(libs.compose.uiTest)
|
|
implementation(libs.compose.uiTestAccessibility)
|
|
// Declares the activity the UI tests host their content in.
|
|
implementation(libs.compose.uiTestManifest)
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
androidRuntimeClasspath(libs.compose.uiTooling)
|
|
}
|