From d6241ca6eb770459e7d3273196ed587179f9c18f Mon Sep 17 00:00:00 2001 From: Carlos Martinez <9113814+imcarlost@users.noreply.github.com> Date: Tue, 1 Oct 2024 14:07:34 -0300 Subject: [PATCH] Migrate dependencies to TOML catalog Migrate dependencies to TOML catalog. * Add `gradle/libs.versions.toml` file to define all dependencies, plugins, and build versions. * Modify `build.gradle` to apply the `libs.versions.toml` file for dependency management and update the `classpath` dependencies. * Modify `core.gradle` to apply the `libs.versions.toml` file for dependency management and update the `dependencies` block. * Modify `app/build.gradle` to apply the `libs.versions.toml` file for dependency management and update the `dependencies` block. * Modify `base/build.gradle` to apply the `libs.versions.toml` file for dependency management and update the `dependencies` block. * Modify `albumlist/build.gradle` to apply the `libs.versions.toml` file for dependency management. * Modify `photolist/build.gradle` to apply the `libs.versions.toml` file for dependency management. * Modify `testing/build.gradle` to apply the `libs.versions.toml` file for dependency management and update the `dependencies` block. * Delete `versions.gradle` and `base/versions.gradle` files. --- For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/imcarlost/Friendlists?shareId=XXXX-XXXX-XXXX-XXXX). --- albumlist/build.gradle | 2 +- app/build.gradle | 19 ++++----- base/build.gradle | 55 +++++++++++++------------- base/versions.gradle | 83 --------------------------------------- build.gradle | 12 +++--- core.gradle | 13 +++--- gradle/libs.versions.toml | 64 ++++++++++++++++++++++++++++++ photolist/build.gradle | 2 +- testing/build.gradle | 18 ++++----- versions.gradle | 39 ------------------ 10 files changed, 124 insertions(+), 183 deletions(-) delete mode 100644 base/versions.gradle create mode 100644 gradle/libs.versions.toml delete mode 100644 versions.gradle diff --git a/albumlist/build.gradle b/albumlist/build.gradle index 2a9fa2d..8e80a60 100644 --- a/albumlist/build.gradle +++ b/albumlist/build.gradle @@ -9,4 +9,4 @@ android { dependencies { implementation project(':base') -} \ No newline at end of file +} diff --git a/app/build.gradle b/app/build.gradle index 67517cc..7c7a4c0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,17 +1,18 @@ -apply from: '../versions.gradle' -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' -apply plugin: 'kotlin-kapt' +plugins { + id 'com.android.application' + id 'kotlin-android' + id 'kotlin-android-extensions' + id 'kotlin-kapt' +} android { - compileSdkVersion build_versions.target_sdk - buildToolsVersion build_versions.build_tools + compileSdkVersion libs.versions.target_sdk.get().toInteger() + buildToolsVersion libs.versions.build_tools.get() defaultConfig { applicationId "com.hako.friendlists" - minSdkVersion build_versions.min_sdk - targetSdkVersion build_versions.target_sdk + minSdkVersion libs.versions.min_sdk.get().toInteger() + targetSdkVersion libs.versions.target_sdk.get().toInteger() versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/base/build.gradle b/base/build.gradle index dd32c8e..8d32248 100644 --- a/base/build.gradle +++ b/base/build.gradle @@ -1,16 +1,15 @@ -apply from: 'versions.gradle' apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' android { - compileSdkVersion build_versions.target_sdk - buildToolsVersion build_versions.build_tools + compileSdkVersion libs.versions.target_sdk.get().toInteger() + buildToolsVersion libs.versions.build_tools.get() defaultConfig { - minSdkVersion build_versions.min_sdk - targetSdkVersion build_versions.target_sdk + minSdkVersion libs.versions.min_sdk.get().toInteger() + targetSdkVersion libs.versions.target_sdk.get().toInteger() testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } @@ -29,29 +28,29 @@ android { } dependencies { - kapt deps.room.compiler - api deps.kotlin.std_lib - api deps.androidx.appcompat - api deps.androidx.core_ktx - api deps.androidx.constraint_layout - api deps.androidx.lifecycle_ext - api deps.androidx.lifecycle_viewmodel - api deps.androidx.recycler_view - api deps.androidx.navigation_fragment - api deps.androidx.navigation_ui - api deps.retrofit.runtime - api deps.retrofit.gson - api deps.retrofit.rx - api deps.room.runtime - api deps.koin.core - api deps.koin.scope - api deps.koin.viewmodel - api deps.rx.core - api deps.rx.android - api deps.okhttp_logging_interceptor - api deps.timber - api deps.lottie - api deps.picasso + kapt libs.room.compiler + api libs.kotlin.std_lib + api libs.androidx.appcompat + api libs.androidx.core_ktx + api libs.androidx.constraint_layout + api libs.androidx.lifecycle_ext + api libs.androidx.lifecycle_viewmodel + api libs.androidx.recycler_view + api libs.androidx.navigation_fragment + api libs.androidx.navigation_ui + api libs.retrofit.runtime + api libs.retrofit.gson + api libs.retrofit.rx + api libs.room.runtime + api libs.koin.core + api libs.koin.scope + api libs.koin.viewmodel + api libs.rx.core + api libs.rx.android + api libs.okhttp_logging_interceptor + api libs.timber + api libs.lottie + api libs.picasso testImplementation project(':testing') androidTestImplementation project(':testing') } diff --git a/base/versions.gradle b/base/versions.gradle deleted file mode 100644 index f001542..0000000 --- a/base/versions.gradle +++ /dev/null @@ -1,83 +0,0 @@ -ext.deps = [:] - -def versions = [:] -versions.kotlin = "1.3.41" -versions.androidx_appcompat = "1.1.0" -versions.androidx_core = "1.1.0" -versions.androidx_constraint_layout = "1.1.3" -versions.androidx_lifecycle = "2.2.0" -versions.androidx_recycler_view = "1.1.0" -versions.androidx_navigation = "2.2.0" -versions.okhttp_logging_interceptor = "4.3.1" -versions.retrofit = "2.7.1" -versions.timber = "4.7.1" -versions.room = "2.2.3" -versions.koin = "2.0.1" -versions.rx_core = "2.2.17" -versions.rx_android = "2.1.1" -versions.junit = "4.13" -versions.test = "1.2.0" -versions.test_ext = "1.1.1" -versions.espresso = "3.2.0" -versions.lottie = "3.3.1" -versions.picasso = "2.71828" - -def deps = [:] - -def kotlin = [:] -kotlin.version = "$versions.kotlin" -kotlin.std_lib = "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$versions.kotlin" -deps.kotlin = kotlin - -def androidx = [:] -androidx.appcompat = "androidx.appcompat:appcompat:$versions.androidx_appcompat" -androidx.core_ktx = "androidx.core:core-ktx:$versions.androidx_core" -androidx.constraint_layout = "androidx.constraintlayout:constraintlayout:$versions.androidx_constraint_layout" -androidx.lifecycle_ext = "androidx.lifecycle:lifecycle-extensions:$versions.androidx_lifecycle" -androidx.lifecycle_viewmodel = "androidx.lifecycle:lifecycle-viewmodel-ktx:$versions.androidx_lifecycle" -androidx.recycler_view = "androidx.recyclerview:recyclerview:$versions.androidx_recycler_view" -androidx.navigation_fragment = "androidx.navigation:navigation-fragment-ktx:$versions.androidx_navigation" -androidx.navigation_ui = "androidx.navigation:navigation-ui-ktx:$versions.androidx_navigation" -deps.androidx = androidx - -def retrofit = [:] -retrofit.runtime = "com.squareup.retrofit2:retrofit:$versions.retrofit" -retrofit.gson = "com.squareup.retrofit2:converter-gson:$versions.retrofit" -retrofit.mock = "com.squareup.retrofit2:retrofit-mock:$versions.retrofit" -retrofit.rx = "com.squareup.retrofit2:adapter-rxjava2:$versions.retrofit" -deps.retrofit = retrofit - -def room = [:] -room.runtime = "androidx.room:room-runtime:$versions.room" -room.compiler = "androidx.room:room-compiler:$versions.room" -deps.room = room - -def koin = [:] -koin.core = "org.koin:koin-android:$versions.koin" -koin.scope = "org.koin:koin-androidx-scope:$versions.koin" -koin.viewmodel = "org.koin:koin-androidx-viewmodel:$versions.koin" -deps.koin = koin - -def rx = [:] -rx.core = "io.reactivex.rxjava2:rxjava:$versions.rx_core" -rx.android = "io.reactivex.rxjava2:rxandroid:$versions.rx_android" -deps.rx = rx - -def testing = [:] -testing.junit = "junit:junit:$versions.junit" -testing.core = "androidx.test:core:$versions.test" -testing.rules = "androidx.test:rules:$versions.test" -testing.runner = "androidx.test:runner:$versions.test" -testing.ext = "androidx.test.ext:junit:$versions.test_ext" -testing.koin = "org.koin:koin-test:$versions.koin" -testing.espresso = "androidx.test.espresso:espresso-core:$versions.espresso" -deps.testing = testing - -// Singles - -deps.okhttp_logging_interceptor = "com.squareup.okhttp3:logging-interceptor:$versions.okhttp_logging_interceptor" -deps.timber = "com.jakewharton.timber:timber:$versions.timber" -deps.lottie = "com.airbnb.android:lottie:$versions.lottie" -deps.picasso = "com.squareup.picasso:picasso:$versions.picasso" - -ext.deps = deps diff --git a/build.gradle b/build.gradle index 268dbde..d0a82fb 100644 --- a/build.gradle +++ b/build.gradle @@ -1,14 +1,12 @@ buildscript { - apply from: 'versions.gradle' - repositories { google() jcenter() } dependencies { - classpath deps.project.kotlin - classpath deps.project.gradle + classpath libs.plugins.kotlin + classpath libs.plugins.gradle } } @@ -17,7 +15,11 @@ plugins { } allprojects { - addRepos(repositories) + repositories { + google() + jcenter() + maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } + } } detekt { diff --git a/core.gradle b/core.gradle index 3238692..4651da2 100644 --- a/core.gradle +++ b/core.gradle @@ -1,16 +1,15 @@ -apply from: '../versions.gradle' apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' android { - compileSdkVersion build_versions.target_sdk - buildToolsVersion build_versions.build_tools + compileSdkVersion libs.versions.target_sdk.get().toInteger() + buildToolsVersion libs.versions.build_tools.get() defaultConfig { - minSdkVersion build_versions.min_sdk - targetSdkVersion build_versions.target_sdk + minSdkVersion libs.versions.min_sdk.get().toInteger() + targetSdkVersion libs.versions.target_sdk.get().toInteger() testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } @@ -33,5 +32,5 @@ android { } dependencies { - kapt deps.room.compiler -} \ No newline at end of file + kapt libs.room.compiler +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..ec92a0a --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,64 @@ +[versions] +kotlin = "1.3.41" +androidx_appcompat = "1.1.0" +androidx_core = "1.1.0" +androidx_constraint_layout = "1.1.3" +androidx_lifecycle = "2.2.0" +androidx_recycler_view = "1.1.0" +androidx_navigation = "2.2.0" +okhttp_logging_interceptor = "4.3.1" +retrofit = "2.7.1" +timber = "4.7.1" +room = "2.2.3" +koin = "2.0.1" +rx_core = "2.2.17" +rx_android = "2.1.1" +junit = "4.13" +test = "1.2.0" +test_ext = "1.1.1" +espresso = "3.2.0" +lottie = "3.3.1" +picasso = "2.71828" +gradle = "3.5.3" + +[plugins] +kotlin = { id = "org.jetbrains.kotlin.kotlin-gradle-plugin", version.ref = "kotlin" } +gradle = { id = "com.android.tools.build.gradle", version.ref = "gradle" } + +[libraries] +kotlin_std_lib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-jdk7", version.ref = "kotlin" } +androidx_appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx_appcompat" } +androidx_core_ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidx_core" } +androidx_constraint_layout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "androidx_constraint_layout" } +androidx_lifecycle_ext = { group = "androidx.lifecycle", name = "lifecycle-extensions", version.ref = "androidx_lifecycle" } +androidx_lifecycle_viewmodel = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "androidx_lifecycle" } +androidx_recycler_view = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "androidx_recycler_view" } +androidx_navigation_fragment = { group = "androidx.navigation", name = "navigation-fragment-ktx", version.ref = "androidx_navigation" } +androidx_navigation_ui = { group = "androidx.navigation", name = "navigation-ui-ktx", version.ref = "androidx_navigation" } +retrofit_runtime = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" } +retrofit_gson = { group = "com.squareup.retrofit2", name = "converter-gson", version.ref = "retrofit" } +retrofit_mock = { group = "com.squareup.retrofit2", name = "retrofit-mock", version.ref = "retrofit" } +retrofit_rx = { group = "com.squareup.retrofit2", name = "adapter-rxjava2", version.ref = "retrofit" } +room_runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room" } +room_compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" } +koin_core = { group = "org.koin", name = "koin-android", version.ref = "koin" } +koin_scope = { group = "org.koin", name = "koin-androidx-scope", version.ref = "koin" } +koin_viewmodel = { group = "org.koin", name = "koin-androidx-viewmodel", version.ref = "koin" } +rx_core = { group = "io.reactivex.rxjava2", name = "rxjava", version.ref = "rx_core" } +rx_android = { group = "io.reactivex.rxjava2", name = "rxandroid", version.ref = "rx_android" } +testing_junit = { group = "junit", name = "junit", version.ref = "junit" } +testing_core = { group = "androidx.test", name = "core", version.ref = "test" } +testing_rules = { group = "androidx.test", name = "rules", version.ref = "test" } +testing_runner = { group = "androidx.test", name = "runner", version.ref = "test" } +testing_ext = { group = "androidx.test.ext", name = "junit", version.ref = "test_ext" } +testing_koin = { group = "org.koin", name = "koin-test", version.ref = "koin" } +testing_espresso = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso" } +okhttp_logging_interceptor = { group = "com.squareup.okhttp3", name = "logging-interceptor", version.ref = "okhttp_logging_interceptor" } +timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" } +lottie = { group = "com.airbnb.android", name = "lottie", version.ref = "lottie" } +picasso = { group = "com.squareup.picasso", name = "picasso", version.ref = "picasso" } + +[build_versions] +min_sdk = 21 +target_sdk = 29 +build_tools = "29.0.3" diff --git a/photolist/build.gradle b/photolist/build.gradle index 564e76f..f4d1747 100644 --- a/photolist/build.gradle +++ b/photolist/build.gradle @@ -9,4 +9,4 @@ android { dependencies { implementation project(':base') -} \ No newline at end of file +} diff --git a/testing/build.gradle b/testing/build.gradle index c3282a1..399f885 100644 --- a/testing/build.gradle +++ b/testing/build.gradle @@ -1,14 +1,12 @@ apply plugin: 'com.android.library' apply from: '../core.gradle' -apply from: 'versions.gradle' dependencies { - api deps.testing.junit - api deps.testing.koin - api deps.testing.core - api deps.testing.rules - api deps.testing.runner - api deps.testing.ext - api deps.testing.espresso - api deps.testing.fragments -} \ No newline at end of file + api libs.testing.junit + api libs.testing.koin + api libs.testing.core + api libs.testing.rules + api libs.testing.runner + api libs.testing.ext + api libs.testing.espresso +} diff --git a/versions.gradle b/versions.gradle deleted file mode 100644 index defa9a7..0000000 --- a/versions.gradle +++ /dev/null @@ -1,39 +0,0 @@ -ext.deps = [:] - -def versions = [:] -versions.kotlin = "1.3.41" -versions.gradle = "3.5.3" -versions.room = "2.2.3" - -def deps = [:] - -def project = [:] -project.kotlin = "org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.kotlin" -project.gradle = "com.android.tools.build:gradle:$versions.gradle" -deps.project = project - -def build_versions = [:] -build_versions.min_sdk = 21 -build_versions.target_sdk = 29 -build_versions.build_tools = "29.0.3" -ext.build_versions = build_versions - -def kotlin = [:] -kotlin.version = "$versions.kotlin" -kotlin.std_lib = "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$versions.kotlin" -deps.kotlin = kotlin - -def room = [:] -room.runtime = "androidx.room:room-runtime:$versions.room" -room.compiler = "androidx.room:room-compiler:$versions.room" -deps.room = room - -ext.deps = deps - -static def addRepos(RepositoryHandler handler) { - handler.google() - handler.jcenter() - handler.maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } -} - -ext.addRepos = this.&addRepos