From 2bf9fdf10ed59b70325d772da7ee3325b99a5e56 Mon Sep 17 00:00:00 2001 From: gd <gd@iotide.com> Date: Wed, 5 Feb 2025 20:15:58 +0200 Subject: [PATCH] android: migrated build to version catalogs For easier management of dependencies versions: https://developer.android.com/build/migrate-to-catalogs --- android/app/build.gradle.kts | 44 +++++++++++++++---------------- android/build.gradle.kts | 6 ++--- android/gradle/libs.versions.toml | 41 ++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+), 25 deletions(-) create mode 100644 android/gradle/libs.versions.toml diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 2f2dbb96e..4c0a54332 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -1,8 +1,8 @@ plugins { - id("com.android.application") - id("org.jetbrains.kotlin.android") id("com.google.devtools.ksp") - id("com.google.dagger.hilt.android") + alias(libs.plugins.android.application) + alias(libs.plugins.jetbrains.kotlin.android) + alias(libs.plugins.dagger.hilt.android) } android { @@ -73,30 +73,30 @@ android { } dependencies { - implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.7") - implementation(platform("androidx.compose:compose-bom:2025.01.01")) + implementation(libs.androidx.lifecycle.runtime.ktx) + implementation(platform(libs.androidx.compose.bom)) - implementation("androidx.compose.material3:material3") - implementation("androidx.activity:activity-compose:1.10.0") - implementation("androidx.compose.material:material-icons-extended") - implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7") - implementation("androidx.lifecycle:lifecycle-runtime-compose:2.8.7") - implementation("androidx.navigation:navigation-compose:2.8.6") + implementation(libs.androidx.material3) + implementation(libs.androidx.activity.compose) + implementation(libs.androidx.material.icons.extended) + implementation(libs.androidx.lifecycle.viewmodel.compose) + implementation(libs.androidx.lifecycle.runtime.compose) + implementation(libs.androidx.navigation.compose) - implementation("com.github.alorma:compose-settings-ui-m3:1.0.3") - implementation("com.github.alorma:compose-settings-storage-preferences:1.0.3") - implementation("com.google.accompanist:accompanist-permissions:0.33.2-alpha") + implementation(libs.compose.settings.ui.m3) + implementation(libs.compose.settings.storage.preferences) + implementation(libs.accompanist.permissions) - implementation("com.google.dagger:hilt-android:2.49") - ksp("com.google.dagger:dagger-compiler:2.49") - ksp("com.google.dagger:hilt-compiler:2.49") + implementation(libs.hilt.android) + ksp(libs.dagger.compiler) + ksp(libs.hilt.compiler) - implementation("androidx.media3:media3-session:1.5.1") + implementation(libs.androidx.media3.session) // Android Studio Preview support - implementation("androidx.compose.ui:ui-tooling-preview") - debugImplementation("androidx.compose.ui:ui-tooling") - debugImplementation("androidx.compose.ui:ui-test-manifest") + implementation(libs.androidx.ui.tooling.preview) + debugImplementation(libs.androidx.ui.tooling) + debugImplementation(libs.androidx.ui.test.manifest) - implementation("androidx.appcompat:appcompat:1.7.0") + implementation(libs.androidx.appcompat) } diff --git a/android/build.gradle.kts b/android/build.gradle.kts index b14a8118a..4452473c1 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - id("com.android.application") version "8.5.2" apply false - id("org.jetbrains.kotlin.android") version "1.9.22" apply false id("com.google.devtools.ksp") version "1.9.22-1.0.16" apply false - id("com.google.dagger.hilt.android") version "2.49" apply false + alias(libs.plugins.android.application) apply false + alias(libs.plugins.jetbrains.kotlin.android) apply false + alias(libs.plugins.dagger.hilt.android) apply false } \ No newline at end of file diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml new file mode 100644 index 000000000..0800b2175 --- /dev/null +++ b/android/gradle/libs.versions.toml @@ -0,0 +1,41 @@ +[versions] +androidGradlePlugin = "8.5.2" +accompanistPermissions = "0.33.2-alpha" +activityCompose = "1.10.0" +appcompat = "1.7.0" +composeBom = "2025.01.01" +composeSettingsStoragePreferences = "1.0.3" +composeSettingsUiM3 = "1.0.3" +daggerCompiler = "2.49" +hiltAndroid = "2.49" +hiltCompiler = "2.49" +lifecycleRuntimeKtx = "2.8.7" +media3Session = "1.5.1" +navigationCompose = "2.8.6" +kotlin = "1.9.22" + +[libraries] +accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "accompanistPermissions" } +androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activityCompose" } +androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" } +androidx-compose-bom = { module = "androidx.compose:compose-bom", version.ref = "composeBom" } +androidx-lifecycle-runtime-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "lifecycleRuntimeKtx" } +androidx-lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" } +androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycleRuntimeKtx" } +androidx-material-icons-extended = { module = "androidx.compose.material:material-icons-extended" } +androidx-material3 = { module = "androidx.compose.material3:material3" } +androidx-media3-session = { module = "androidx.media3:media3-session", version.ref = "media3Session" } +androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "navigationCompose" } +androidx-ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest" } +androidx-ui-tooling = { module = "androidx.compose.ui:ui-tooling" } +androidx-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" } +compose-settings-storage-preferences = { module = "com.github.alorma:compose-settings-storage-preferences", version.ref = "composeSettingsStoragePreferences" } +compose-settings-ui-m3 = { module = "com.github.alorma:compose-settings-ui-m3", version.ref = "composeSettingsUiM3" } +dagger-compiler = { module = "com.google.dagger:dagger-compiler", version.ref = "daggerCompiler" } +hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hiltAndroid" } +hilt-compiler = { module = "com.google.dagger:hilt-compiler", version.ref = "hiltCompiler" } + +[plugins] +android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" } +jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +dagger-hilt-android = { id = "com.google.dagger.hilt.android", version.ref = "hiltAndroid" } \ No newline at end of file