Skip to content

Commit

Permalink
Integration of Version Catalog for Enhanced Dependency Management
Browse files Browse the repository at this point in the history
This pull request introduces the implementation of a version catalog (libs.versions.toml) to centralize and streamline dependency management within the project. By adopting this approach, we aim to improve dependency consistency, minimize maintenance overhead, and simplify version updates across multiple modules. This enhancement provides a more organized and efficient method for managing project dependencies.
  • Loading branch information
CodeWithTamim committed Jul 27, 2024
1 parent 10bd3dc commit 5867c89
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 24 deletions.
48 changes: 24 additions & 24 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,32 +26,32 @@ apply plugin: "kotlin-allopen"
dependencies {
// Compile Build Dependencies
implementation fileTree(include: ["*.jar"], dir: "libs")
implementation 'com.google.android.material:material:1.12.0'
implementation 'androidx.annotation:annotation:1.8.0'
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'androidx.collection:collection-ktx:1.4.0'
implementation 'androidx.core:core-ktx:1.13.1'
implementation 'androidx.core:core-splashscreen:1.0.1'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.2'
implementation 'androidx.media:media:1.7.0'
implementation 'androidx.preference:preference-ktx:1.2.1'
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'com.jjoe64:graphview:4.2.2'
implementation libs.material
implementation libs.annotation
implementation libs.appcompat
implementation libs.collection.ktx
implementation libs.core.ktx
implementation libs.core.splashscreen
implementation libs.legacy.support.v4
implementation libs.lifecycle.viewmodel.ktx
implementation libs.media
implementation libs.preference.ktx
implementation libs.kotlin.stdlib
implementation libs.graphview
// Unit Test Dependencies
testImplementation 'androidx.test.ext:junit:1.1.5'
testImplementation 'com.googlecode.junit-toolbox:junit-toolbox:2.4'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.mockito:mockito-core:5.12.0'
testImplementation 'org.mockito.kotlin:mockito-kotlin:5.3.1'
testImplementation 'org.robolectric:robolectric:4.12.2'
testImplementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
testImplementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
testImplementation 'org.slf4j:slf4j-simple:2.0.13'
testImplementation 'org.assertj:assertj-core:3.26.0'
testImplementation libs.junit
testImplementation libs.junit.toolbox
testImplementation libs.junit.junit
testImplementation libs.mockito.core
testImplementation libs.mockito.kotlin
testImplementation libs.robolectric
testImplementation libs.kotlin.test
testImplementation libs.kotlin.test.junit
testImplementation libs.slf4j.simple
testImplementation libs.assertj.core
// Android Test Dependencies
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.5'
androidTestImplementation libs.espresso.core
androidTestImplementation libs.junit.ktx
}

android {
Expand Down
49 changes: 49 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
[versions]
annotation = "1.8.1"
appcompat = "1.7.0"
assertjCore = "3.26.3"
collectionKtx = "1.4.2"
coreKtx = "1.13.1"
coreSplashscreen = "1.0.1"
espressoCore = "3.6.1"
junit = "1.2.1"
junitToolbox = "2.4"
junitVersion = "4.13.2"
kotlinStdlib = "2.0.0"
graphview = "4.2.2"
legacySupportV4 = "1.0.0"
lifecycleViewmodelKtx = "2.8.4"
material = "1.12.0"
media = "1.7.0"
mockitoCore = "5.12.0"
mockitoKotlin = "5.4.0"
preferenceKtx = "1.2.1"
robolectric = "4.13"
slf4jSimple = "2.0.13"

[libraries]
annotation = { module = "androidx.annotation:annotation", version.ref = "annotation" }
appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" }
assertj-core = { module = "org.assertj:assertj-core", version.ref = "assertjCore" }
collection-ktx = { module = "androidx.collection:collection-ktx", version.ref = "collectionKtx" }
core-ktx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" }
core-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "coreSplashscreen" }
espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espressoCore" }
graphview = { module = "com.jjoe64:graphview", version.ref = "graphview" }
junit-junit = { module = "junit:junit", version.ref = "junitVersion" }
junit-ktx = { module = "androidx.test.ext:junit-ktx", version.ref = "junit" }
junit-toolbox = { module = "com.googlecode.junit-toolbox:junit-toolbox", version.ref = "junitToolbox" }
junit = { module = "androidx.test.ext:junit", version.ref = "junit" }
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlinStdlib" }
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlinStdlib" }
kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlinStdlib" }
legacy-support-v4 = { module = "androidx.legacy:legacy-support-v4", version.ref = "legacySupportV4" }
lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "lifecycleViewmodelKtx" }
material = { module = "com.google.android.material:material", version.ref = "material" }
media = { module = "androidx.media:media", version.ref = "media" }
mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockitoCore" }
mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version.ref = "mockitoKotlin" }
preference-ktx = { module = "androidx.preference:preference-ktx", version.ref = "preferenceKtx" }
robolectric = { module = "org.robolectric:robolectric", version.ref = "robolectric" }
slf4j-simple = { module = "org.slf4j:slf4j-simple", version.ref = "slf4jSimple" }

0 comments on commit 5867c89

Please sign in to comment.