import java.time.LocalDateTime import java.time.format.DateTimeFormatter plugins { alias(libs.plugins.androidApplication) alias(libs.plugins.composeCompiler) } val baseVersion = findProperty("app.version.base") as? String ?: "1.0.0" val gitHash = try { providers.exec { commandLine("git", "rev-parse", "--short=5", "HEAD") }.standardOutput.asText.get().trim() } catch (_: Exception) { "unknown" } val buildDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("ddMMyy")) val appVersionName = "${baseVersion}_${gitHash}_${buildDate}" android { namespace = "plus.rua.project" compileSdk = libs.versions.android.compileSdk.get().toInt() defaultConfig { applicationId = "plus.rua.project" minSdk = libs.versions.android.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() versionCode = 1 versionName = appVersionName ndk { abiFilters += listOf("arm64-v8a", "armeabi-v7a") } } buildTypes { release { isMinifyEnabled = true isShrinkResources = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) signingConfig = signingConfigs.getByName("debug") } } buildFeatures { compose = true buildConfig = false } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } packaging { resources { excludes += listOf( "/META-INF/{AL2.0,LGPL2.1}", "/META-INF/LICENSE*", "/META-INF/NOTICE*", "META-INF/DEPENDENCIES", "**/*.kotlin_metadata", "**/*.kotlin_module", ) pickFirsts += listOf( "META-INF/INDEX.LIST", "META-INF/io.netty.versions.properties", ) } } bundle { language { enableSplit = true } density { enableSplit = true } abi { enableSplit = true } } } dependencies { implementation(project(":shared")) implementation(platform(libs.compose.bom)) implementation(libs.androidx.activity.compose) implementation(libs.compose.uiToolingPreview) implementation(libs.compose.uiTooling) }