plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.compose) alias(libs.plugins.ksp) alias(libs.plugins.hilt) } android { namespace = "dev.privacyllc.period" // compileSdk and targetSdk are deliberately different. compileSdk 37 is what // the current AndroidX libraries require to compile against; targetSdk 36 is // Google Play's floor for new apps from 2026-08-31 and is what the app opts // into at runtime. Raising targetSdk opts in to behaviour changes and is a // tested decision, not a build fix. compileSdk = 37 defaultConfig { applicationId = "dev.privacyllc.period" minSdk = 26 // Google Play requires API 36 for new apps and updates from 2026-08-31. // Confirm the current requirement at submission time rather than here. targetSdk = 36 versionCode = 1 versionName = "0.1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { isMinifyEnabled = true isShrinkResources = true proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } debug { applicationIdSuffix = ".debug" } } buildFeatures { compose = true } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } packaging { resources.excludes += "/META-INF/{AL2.0,LGPL2.1}" } } dependencies { implementation(project(":core:designsystem")) implementation(project(":core:data")) implementation(project(":core:datastore")) implementation(project(":domain:cycle")) implementation(project(":domain:prediction")) implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.lifecycle.viewmodel.compose) implementation(libs.androidx.lifecycle.runtime.compose) implementation(libs.androidx.activity.compose) implementation(libs.androidx.navigation.compose) implementation(libs.kotlinx.coroutines.core) implementation(platform(libs.compose.bom)) implementation(libs.compose.ui) implementation(libs.compose.ui.graphics) implementation(libs.compose.ui.tooling.preview) implementation(libs.compose.material3) implementation(libs.compose.material.icons.extended) debugImplementation(libs.compose.ui.tooling) implementation(libs.hilt.android) implementation(libs.hilt.navigation.compose) ksp(libs.hilt.compiler) testImplementation(libs.junit) androidTestImplementation(libs.androidx.test.junit) androidTestImplementation(libs.androidx.espresso.core) }