Skip to content

Commit

Permalink
[skip ci] chore: migrate to version catalogs (#52)
Browse files Browse the repository at this point in the history
  • Loading branch information
abdallahmehiz authored Jan 13, 2025
1 parent a48484f commit 4cc66f0
Show file tree
Hide file tree
Showing 4 changed files with 127 additions and 53 deletions.
79 changes: 36 additions & 43 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
import java.io.ByteArrayOutputStream

plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("com.google.devtools.ksp")
id("com.google.dagger.hilt.android")
kotlin("plugin.serialization") version "2.0.10"
id("com.google.gms.google-services") version "4.4.2"
id("com.google.firebase.crashlytics") version "3.0.2"
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.ksp)
alias(libs.plugins.hilt)
alias(libs.plugins.kotlinx.serialization)
alias(libs.plugins.gms)
alias(libs.plugins.crashlytics)
}


val gitHash = execute("git", "rev-parse", "HEAD").take(7)
val gitCount = execute("git", "rev-list", "--count", "HEAD").toInt()

Expand Down Expand Up @@ -47,53 +46,47 @@ android {

dependencies {
implementation(project(":common"))
implementation("com.github.jeelpatel231:plugger:82e00ea5a4")
implementation(libs.plugger)

implementation("androidx.appcompat:appcompat:1.7.0")
implementation(libs.appcompat)

implementation("androidx.constraintlayout:constraintlayout:2.2.0")
implementation("androidx.recyclerview:recyclerview:1.3.2")
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
implementation(libs.constraintlayout)
implementation(libs.recyclerview)
implementation(libs.swiperefresh)

implementation("androidx.fragment:fragment-ktx:1.6.2")
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7")
implementation("androidx.paging:paging-common-ktx:3.3.5")
implementation("androidx.paging:paging-runtime-ktx:3.3.5")
implementation("androidx.preference:preference-ktx:1.2.1")
implementation(libs.fragment)
implementation(libs.lifecycle.viewmodel)
implementation(libs.bundles.paging)
implementation(libs.preference)

implementation("androidx.room:room-runtime:2.6.1")
implementation("androidx.room:room-ktx:2.6.1")
ksp("androidx.room:room-compiler:2.6.1")
implementation(libs.room.runtime)
implementation(libs.room.ktx)
ksp(libs.room.compiler)

implementation("androidx.media3:media3-exoplayer:1.5.1")
implementation("androidx.media3:media3-session:1.5.1")
implementation("androidx.media3:media3-ui:1.5.1")
implementation("androidx.media3:media3-exoplayer-dash:1.5.1")
implementation("androidx.media3:media3-exoplayer-hls:1.5.1")
implementation(libs.bundles.media3)

implementation("androidx.core:core-splashscreen:1.0.1")
implementation("androidx.palette:palette-ktx:1.0.0")
implementation(libs.splashscreen)
implementation(libs.palette)

implementation("com.google.android.material:material:1.13.0-alpha09")
implementation(libs.material)

implementation("com.google.dagger:hilt-android:2.48.1")
ksp("com.google.dagger:hilt-android-compiler:2.48.1")
implementation(libs.hilt)
ksp(libs.hilt.compiler)

implementation("io.coil-kt.coil3:coil:3.0.0-rc01")
implementation("io.coil-kt.coil3:coil-network-okhttp:3.0.0-rc01")
implementation(libs.bundles.coil)

implementation("com.github.madrapps:pikolo:2.0.2")
implementation("com.github.bosphere.android-fadingedgelayout:fadingedgelayout:1.0.0")
implementation("me.zhanghai.android.fastscroll:library:1.3.0")
implementation("com.flaviofaria:kenburnsview:1.0.7")
implementation("com.telefonica:nestedscrollwebview:0.1.6")
implementation(libs.pikolo)
implementation(libs.fadingedgelayout)
implementation(libs.fastscroll)
implementation(libs.kenburnsview)
implementation(libs.nestedscrollwebview)

implementation(platform("com.google.firebase:firebase-bom:33.7.0"))
implementation("com.google.firebase:firebase-analytics")
implementation("com.google.firebase:firebase-crashlytics")
implementation(platform(libs.firebase.bom))
implementation(libs.firebase.analytics)
implementation(libs.firebase.crashlytics)

testImplementation("org.jetbrains.kotlin:kotlin-reflect:1.9.24")
testImplementation("junit:junit:4.13.2")
testImplementation(libs.kotlin.reflect)
testImplementation(libs.junit)
}

fun execute(vararg command: String): String {
Expand Down
10 changes: 5 additions & 5 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id("com.android.application") version "8.2.2" apply false
id("org.jetbrains.kotlin.android") version "1.9.21" apply false
id("com.google.devtools.ksp") version "2.0.0-1.0.23" apply false
id("com.google.dagger.hilt.android") version "2.48.1" apply false
id("org.jetbrains.kotlin.jvm") version "2.0.0" apply false
alias(libs.plugins.android.application) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.jvm) apply false
alias(libs.plugins.ksp) apply false
alias(libs.plugins.hilt) apply false
}
10 changes: 5 additions & 5 deletions common/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
plugins {
id("java-library")
id("org.jetbrains.kotlin.jvm")
kotlin("plugin.serialization") version "2.0.10"
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlinx.serialization)
id("maven-publish")
}

Expand All @@ -15,9 +15,9 @@ kotlin {
}

dependencies {
api("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1")
api("com.squareup.okhttp3:okhttp:5.0.0-alpha.14")
api("io.ktor:ktor-utils:3.0.0-beta-2")
api(libs.kotlinx.serialization.json)
api(libs.okhttp)
api(libs.ktor.utils)
}

publishing {
Expand Down
81 changes: 81 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
[versions]
agp = "8.2.2"
kotlin = "2.0.10"
okhttp = "5.0.0-alpha.14"
ktor = "3.0.0-beta-2"
kotlinx-serialization = "1.7.1"
firebase-bom = "33.7.0"
androidx-paging = "3.3.5"
room = "2.6.1"
media3 = "1.5.1"
hilt = "2.48.1"
coil = "3.0.0-rc01"
junit = "4.13.2"

[libraries]
appcompat = { module = "androidx.appcompat:appcompat", version = "1.7.0" }
constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version = "2.2.0" }
recyclerview = { module = "androidx.recyclerview:recyclerview", version = "1.3.2" }
swiperefresh = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version = "1.1.0" }

fragment = { module = "androidx.fragment:fragment-ktx", version = "1.6.2" }
lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version = "2.8.7" }

paging-common = { module = "androidx.paging:paging-common-ktx", version.ref = "androidx-paging" }
paging-runtime = { module = "androidx.paging:paging-runtime-ktx", version.ref = "androidx-paging" }

preference = { module = "androidx.preference:preference-ktx", version = "1.2.1" }

room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" }
room-ktx = { module = "androidx.room:room-ktx" }
room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" }

media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3" }
media3-session = { module = "androidx.media3:media3-session", version.ref = "media3" }
media3-ui = { module = "androidx.media3:media3-ui", version.ref = "media3" }
media3-dash = { module = "androidx.media3:media3-exoplayer-dash", version.ref = "media3" }
media3-hls = { module = "androidx.media3:media3-exoplayer-hls", version.ref = "media3" }

splashscreen = { module = "androidx.core:core-splashscreen", version = "1.0.1" }
palette = { module = "androidx.palette:palette-ktx", version = "1.0.0" }

material = { module = "com.google.android.material:material", version = "1.13.0-alpha09" }

hilt = { module = "com.google.dagger:hilt-android", version.ref = "hilt" }
hilt-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hilt" }

coil = { module = "io.coil-kt.coil3:coil", version.ref = "coil" }
coil-network-okhttp = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coil" }

pikolo = { module = "com.github.madrapps:pikolo", version = "2.0.2" }
fadingedgelayout = { module = "com.github.bosphere.android-fadingedgelayout:fadingedgelayout", version = "1.0.0" }
fastscroll = { module = "me.zhanghai.android.fastscroll:library", version = "1.3.0" }
kenburnsview = { module = "com.flaviofaria:kenburnsview", version = "1.0.7" }
nestedscrollwebview = { module = "com.telefonica:nestedscrollwebview", version = "0.1.6" }

firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebase-bom" }
firebase-analytics = { module = "com.google.firebase:firebase-analytics" }
firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics" }

plugger = { module = "com.github.jeelpatel231:plugger", version = "82e00ea5a4" }
ktor-utils = { module = "io.ktor:ktor-utils", version.ref = "ktor" }
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" }

kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }
junit = { module = "junit:junit", version.ref = "junit" }

[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlinx-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
gms = { id = "com.google.gms.google-services", version = "4.4.2" }
crashlytics = { id = "com.google.firebase.crashlytics", version = "3.0.2" }
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
ksp = { id = "com.google.devtools.ksp", version = "2.0.10-1.0.24" }

[bundles]
paging = ["paging-common", "paging-runtime"]
media3 = ["media3-exoplayer", "media3-session", "media3-ui", "media3-dash", "media3-hls"]
coil = ["coil", "coil-network-okhttp"]

0 comments on commit 4cc66f0

Please sign in to comment.