Files
donemat/feature/records/build.gradle.kts

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