plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.compose) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.ksp) alias(libs.plugins.hilt.android) } android { namespace = "com.InfernalAquatics.deepwave" compileSdk { version = release(37) } defaultConfig { applicationId = "com.InfernalAquatics.deepwave" minSdk = 26 targetSdk = 37 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { optimization { enable = false } } } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } buildFeatures { compose = true buildConfig = true } } dependencies { implementation(platform(libs.androidx.compose.bom)) implementation(libs.androidx.activity.compose) implementation(libs.androidx.compose.material3) implementation(libs.androidx.compose.material.icons.extended) implementation(libs.androidx.compose.ui) implementation(libs.androidx.compose.ui.graphics) implementation(libs.androidx.compose.ui.tooling.preview) implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.lifecycle.viewmodel.compose) implementation(libs.androidx.navigation.compose) // Dependency injection implementation(libs.hilt.android) ksp(libs.hilt.compiler) implementation(libs.androidx.hilt.lifecycle.viewmodel.compose) // Networking (Subsonic/Navidrome API client) implementation(libs.retrofit) implementation(libs.retrofit.kotlinx.serialization.converter) implementation(libs.okhttp) implementation(libs.okhttp.logging.interceptor) implementation(libs.kotlinx.serialization.json) // Encrypted credential storage (DataStore + Tink/Keystore) implementation(libs.androidx.datastore.preferences) implementation(libs.tink.android) // Cover art loading (shares the signed OkHttpClient from NetworkModule) implementation(libs.coil.compose) implementation(libs.coil.network.okhttp) testImplementation(libs.junit) testImplementation(libs.okhttp.mockwebserver) testImplementation(libs.mockito.core) testImplementation(libs.kotlinx.coroutines.test) androidTestImplementation(platform(libs.androidx.compose.bom)) androidTestImplementation(libs.androidx.compose.ui.test.junit4) androidTestImplementation(libs.androidx.espresso.core) androidTestImplementation(libs.androidx.junit) debugImplementation(libs.androidx.compose.ui.test.manifest) debugImplementation(libs.androidx.compose.ui.tooling) }