import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.ksp) } android { namespace = "com.atridad.openclimb" compileSdk = 36 defaultConfig { applicationId = "com.atridad.openclimb" minSdk = 31 targetSdk = 36 versionCode = 37 versionName = "1.9.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { isMinifyEnabled = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } java { toolchain { languageVersion.set(JavaLanguageVersion.of(17)) } } buildFeatures { compose = true } } kotlin { compilerOptions { jvmTarget.set(JvmTarget.JVM_17) } } dependencies { // Core Android libraries implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.activity.compose) // Compose BOM and UI implementation(platform(libs.androidx.compose.bom)) implementation(libs.androidx.ui) implementation(libs.androidx.ui.graphics) implementation(libs.androidx.ui.tooling.preview) implementation(libs.androidx.material3) implementation(libs.androidx.material.icons.extended) // Room Database implementation(libs.androidx.room.runtime) implementation(libs.androidx.room.ktx) implementation(libs.androidx.exifinterface) ksp(libs.androidx.room.compiler) // Navigation implementation(libs.androidx.navigation.compose) // ViewModel implementation(libs.androidx.lifecycle.viewmodel.compose) // Serialization implementation(libs.kotlinx.serialization.json) // Coroutines implementation(libs.kotlinx.coroutines.android) // Image Loading implementation(libs.coil.compose) // Health Connect implementation("androidx.health.connect:connect-client:1.1.0-alpha07") // Testing testImplementation(libs.junit) testImplementation(libs.mockk) testImplementation(libs.kotlinx.coroutines.test) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) androidTestImplementation(libs.androidx.test.core) androidTestImplementation(libs.androidx.test.ext) androidTestImplementation(libs.androidx.test.runner) androidTestImplementation(libs.androidx.test.rules) androidTestImplementation(platform(libs.androidx.compose.bom)) androidTestImplementation(libs.androidx.ui.test.junit4) debugImplementation(libs.androidx.ui.tooling) debugImplementation(libs.androidx.ui.test.manifest) debugImplementation(libs.androidx.ui.tooling) debugImplementation(libs.androidx.ui.test.manifest) }