From 808a80f2ba731e4ffc26f0f84b9214bac8c80ec3 Mon Sep 17 00:00:00 2001 From: Daniel Yrovas Date: Thu, 6 Jun 2024 14:48:42 +1000 Subject: [PATCH] initial dependency updates --- composeApp/build.gradle.kts | 61 +++++++++++++++++++++++++------------ gradle/libs.versions.toml | 24 ++++++++++++--- 2 files changed, 62 insertions(+), 23 deletions(-) diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index d0533f5..c87c0ef 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -1,3 +1,4 @@ +import com.android.build.gradle.internal.api.BaseVariantOutputImpl import org.jetbrains.compose.desktop.application.dsl.TargetFormat import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.JvmTarget @@ -7,13 +8,24 @@ plugins { alias(libs.plugins.androidApplication) alias(libs.plugins.jetbrainsCompose) alias(libs.plugins.compose.compiler) + alias(libs.plugins.ksp) + alias(libs.plugins.kotlinSerialization) + alias(libs.plugins.sqldelight) +} + +sqldelight { + databases { + create("Database") { + packageName.set(libs.versions.app.versionID.get()) + } + } } kotlin { androidTarget { @OptIn(ExperimentalKotlinGradlePluginApi::class) compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) + jvmTarget.set(JvmTarget.valueOf(libs.versions.android.kotlinJVMTarget.get())) } } @@ -52,7 +64,7 @@ kotlin { } android { - namespace = "org.yrovas.finance" + namespace = libs.versions.app.versionID.get() compileSdk = libs.versions.android.compileSdk.get().toInt() sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") @@ -60,32 +72,43 @@ android { sourceSets["main"].resources.srcDirs("src/commonMain/resources") defaultConfig { - applicationId = "org.yrovas.finance" + applicationId = libs.versions.app.versionID.get() minSdk = libs.versions.android.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() - versionCode = 1 - versionName = "1.0" - } - packaging { - resources { - excludes += "/META-INF/{AL2.0,LGPL2.1}" - } + versionCode = libs.versions.app.versionCode.get().toInt() + versionName = libs.versions.app.versionName.get() } + packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" } } buildTypes { - getByName("release") { - isMinifyEnabled = false + // getByName("release") { + // isMinifyEnabled = false + // } + + release { + isMinifyEnabled = true + isShrinkResources = true + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" + ) } } compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } - buildFeatures { - compose = true + val javaVersion = JavaVersion.valueOf(libs.versions.app.javaVersion.get()) + sourceCompatibility = javaVersion + targetCompatibility = javaVersion } + buildFeatures { compose = true } dependencies { debugImplementation(compose.uiTooling) } + + //applicationVariants.all { variant -> + //variant.outputs.all { + //(this as BaseVariantOutputImpl).outputFileName = + //"app-${variant.productFlavors[0].name}-${variant.buildType.name}-${variant.versionName}.apk" + //} + //true + //} } compose.desktop { @@ -94,8 +117,8 @@ compose.desktop { nativeDistributions { targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) - packageName = "org.yrovas.finance" - packageVersion = "1.0.0" + packageName = libs.versions.app.versionID.get() + packageVersion = libs.versions.app.versionName.get() } } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 20905d0..73c66d2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,10 +1,17 @@ [versions] -agp = "8.2.0" +app-versionID = "org.yrovas.finance" +app-versionCode = "1" +app-versionName = "1.0.0" +app-javaVersion = "VERSION_19" + +android-kotlinJVMTarget = "JVM_19" android-compileSdk = "34" -android-minSdk = "24" android-targetSdk = "34" +android-minSdk = "24" + +agp = "8.3.2" androidx-activityCompose = "1.9.0" -androidx-appcompat = "1.6.1" +androidx-appcompat = "1.7.0" androidx-constraintlayout = "2.1.4" androidx-core-ktx = "1.13.1" androidx-espresso-core = "3.5.1" @@ -13,6 +20,11 @@ androidx-test-junit = "1.1.5" compose-plugin = "1.6.10" junit = "4.13.2" kotlin = "2.0.0" +sqldelight = "2.0.2" +# ktor = "2.3.10" +kotlinxDatetime = "0.5.0" +ksp = "2.0.0-1.0.22" +kotlinxSerializationJson = "1.6.3" [libraries] kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" } @@ -25,10 +37,14 @@ androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version androidx-material = { group = "com.google.android.material", name = "material", version.ref = "androidx-material" } androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "androidx-constraintlayout" } androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activityCompose" } +kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" } [plugins] androidApplication = { id = "com.android.application", version.ref = "agp" } androidLibrary = { id = "com.android.library", version.ref = "agp" } jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" } compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } -kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } \ No newline at end of file +kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } +kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } +ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } +sqldelight = { id = "app.cash.sqldelight", version.ref = "sqldelight" }