plugins { alias(libs.plugins.android.application) alias(libs.plugins.jetbrains.kotlin.android) alias(libs.plugins.jetbrains.compose) alias(libs.plugins.kotlin.compose.compiler) id("com.google.gms.google-services") id("com.google.firebase.crashlytics") } android { namespace = "org.tasks" compileSdk = libs.versions.android.compileSdk.get().toInt() defaultConfig { applicationId = "org.tasks" versionCode = libs.versions.versionCode.get().toInt() + 1 versionName = libs.versions.versionName.get() targetSdk = libs.versions.android.targetSdk.get().toInt() minSdk = 30 } signingConfigs { create("release") { val tasksKeyAlias: String? by project val tasksStoreFile: String? by project val tasksStorePassword: String? by project val tasksKeyPassword: String? by project keyAlias = tasksKeyAlias storeFile = file(tasksStoreFile ?: "none") storePassword = tasksStorePassword keyPassword = tasksKeyPassword } } buildTypes { release { isMinifyEnabled = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) signingConfig = signingConfigs.getByName("release") } } compileOptions { isCoreLibraryDesugaringEnabled = true sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" } buildFeatures { compose = true buildConfig = true } tasks.register("testClasses") } dependencies { coreLibraryDesugaring(libs.desugar.jdk.libs) implementation(compose.components.resources) implementation(projects.wearDatalayer) implementation(projects.kmp) implementation(libs.play.services.wearable) implementation(libs.androidx.paging.compose) implementation(libs.androidx.ui) implementation(libs.androidx.ui.graphics) implementation(libs.androidx.ui.tooling.preview) implementation(libs.androidx.material.icons.extended) implementation(platform(libs.firebase)) implementation(libs.firebase.crashlytics) implementation(libs.firebase.analytics) { exclude("com.google.android.gms", "play-services-ads-identifier") } implementation(libs.wear.compose.material) implementation(libs.wear.compose.foundation) implementation(libs.wear.compose.navigation) implementation(libs.wear.input) implementation(libs.wear.tooling.preview) implementation(libs.androidx.activity.compose) implementation(libs.androidx.core.splashscreen) implementation(libs.horologist.compose.layout) implementation(libs.horologist.compose.material) implementation(libs.horologist.compose.tools) implementation(libs.horologist.datalayer.watch) implementation(libs.horologist.datalayer.core) implementation(libs.horologist.datalayer.grpc) implementation(libs.timber) implementation(libs.wear.tiles.proto) // https://nvd.nist.gov/vuln/detail/CVE-2024-7254 androidTestImplementation(platform(libs.androidx.compose)) androidTestImplementation(libs.androidx.ui.test.junit4) debugImplementation(libs.androidx.ui.tooling) debugImplementation(libs.androidx.ui.test.manifest) }