Skip to content

Commit

Permalink
[add] #1 version catalog
Browse files Browse the repository at this point in the history
  • Loading branch information
Sangwook123 committed Apr 3, 2024
1 parent e459d4e commit ff84c32
Show file tree
Hide file tree
Showing 2 changed files with 201 additions and 2 deletions.
193 changes: 193 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
[versions]
android-gradle-plugin = "8.3.1"
core-ktx = "1.12.0"
junit = "4.13.2"
androidx-test-ext-junit = "1.1.5"
espresso-core = "3.5.1"
appcompat = "1.6.1"
material = "1.11.0"
constraintlayout = "2.1.4"
firebase-bom = "32.7.0"
crashlytics = "2.9.9"

compose-compiler = "1.5.1"
compose-bom = "2024.03.00"
compose-material3 = "1.2.0-alpha07"
activity-compose = "1.8.2"
compose-stable-marker = "1.0.3"
androidx-hilt-navigation-compose = "1.0.0"

ksp = "1.9.10-1.0.13"
androidx-app-compat = "1.6.1"
androidx-core = "1.12.0"
androidx-lifecycle = "2.7.0"
androidx-navigation = "2.7.6"
androidx-constraint-layout = "2.1.4"
androidx-activity-ktx = "1.8.2"
androidx-fragment-ktx = "1.6.2"
androidx-recycler-view = "1.3.2"
androidx-splash-screen = "1.0.1"
androidx-datastore = "1.0.0"

kotlin = "1.9.0"
kotlinx-coroutines = "1.7.3"
kotlinx-serialization-json = "1.5.1"
kotlinx-datetime = "0.4.0"
ktlint = "11.5.1"

retrofit = "2.9.0"
retrofit-kotlinx-serialization-json = "1.0.0"
okhttp = "4.11.0"

hilt = "2.48"
room = "2.5.2"
orbit = "6.1.0"

timber = "5.0.1"
encrypted-datastore = "1.7.21-1.0.8-1.1.0-alpha01"
coil = "2.4.0"
lottie = "6.0.0"
jsoup = "1.13.1"

detekt = "1.23.1"
kakao-login = "2.19.0"

google-service = "4.4.0"
process-pheonix = "2.1.2"
preference = "1.2.1"
core-splashscreen = "1.0.1"

viewpager-indicator = "5.0"
activity = "1.8.0"
androidx-compose-bom = "2023.08.00"

[plugins]
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint" }
android-application = { id = "com.android.application", version.ref = "android-gradle-plugin" }
android-library = { id = "com.android.library", version.ref = "android-gradle-plugin" }
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
google-service = { id = "com.google.gms.google-services", version.ref = "google-service" }
navigation-safeargs = { id = "androidx.navigation.safeargs.kotlin", version.ref = "androidx-navigation" }

sopt-android-application = { id = "sopt.android.application", version = "unspecified" }
sopt-android-application-compose = { id = "sopt.android.application.compose", version = "unspecified"}
sopt-android-library = { id = "sopt.android.library", version = "unspecified" }
sopt-android-library-compose = { id = "sopt.android.library.compose", version = "unspecified" }
sopt-android-hilt = { id = "sopt.android.hilt", version = "unspecified"}
sopt-java-library = { id = "sopt.java.library", version = "unspecified" }
sopt-plugin-feature = { id = "sopt.plugin.feature", version = "unspecified" }

[libraries]
# Dependencies of the included build-logic
android-gradle-plugin = { group = "com.android.tools.build", name = "gradle", version.ref = "android-gradle-plugin" }
kotlin-gradle-plugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" }
ksp-gradle-plugin = { group = "com.google.devtools.ksp", name = "com.google.devtools.ksp.gradle.plugin", version.ref = "ksp" }
core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "core-ktx" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-test-ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-ext-junit" }
espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso-core" }
appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
gitlab-detekt-plugin-formatting = { module = "io.gitlab.arturbosch.detekt:detekt-plugin-formatting", version.ref = "detekt" }

compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" }
ui = { group = "androidx.compose.ui", name = "ui" }
ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
ui-foundation = { group = "androidx.compose.foundation", name = "foundation" }
material3-compose = { group = "androidx.compose.material3", name = "material3" }
coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" }
activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "androidx-activity-ktx" }
lifecycle-compose = { group = "androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "androidx-lifecycle" }
navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "androidx-navigation" }
hilt-navigation-compose = { group = "androidx.hilt", name = "hilt-navigation-compose", version.ref = "androidx-hilt-navigation-compose" }


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

orbit-core = { group = "org.orbit-mvi", name = "orbit-core", version.ref = "orbit" }
orbit-compose = { group = "org.orbit-mvi", name = "orbit-compose", version.ref = "orbit" }
orbit-viewmodel = { group = "org.orbit-mvi", name = "orbit-viewmodel", version.ref = "orbit" }

kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlinx-coroutines" }
kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" }
kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinx-serialization-json" }
kotlinx-datetime = { group = "org.jetbrains.kotlinx", name = "kotlinx-datetime", version.ref = "kotlinx-datetime" }

retrofit-core = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" }
retrofit-kotlin-serialization = { group = "com.jakewharton.retrofit", name = "retrofit2-kotlinx-serialization-converter", version.ref = "retrofit-kotlinx-serialization-json" }
okhttp-logging = { group = "com.squareup.okhttp3", name = "logging-interceptor", version.ref = "okhttp" }

navigation-fragment-ktx = { group = "androidx.navigation", name = "navigation-fragment-ktx", version.ref = "androidx-navigation" }
navigation-ui-ktx = { group = "androidx.navigation", name = "navigation-ui-ktx", version.ref = "androidx-navigation" }

androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx-app-compat" }
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidx-core" }
androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "androidx-constraint-layout" }
androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "androidx-lifecycle" }
androidx-lifecycle-viewmodel-ktx = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" }
androidx-activity-ktx = { group = "androidx.activity", name = "activity-ktx", version.ref = "androidx-activity-ktx" }
androidx-fragment-ktx = { group = "androidx.fragment", name = "fragment-ktx", version.ref = "androidx-fragment-ktx" }
androidx-recyclerview = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "androidx-recycler-view" }
androidx-splashscreen = { group = "androidx.core", name = "core-splashscreen", version.ref = "androidx-splash-screen" }

google-material = { group = "com.google.android.material", name = "material", version.ref = "material" }

timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" }
androidx-datastore-core = { group = "androidx.datastore", name = "datastore", version.ref = "androidx-datastore" }
androidx-datastore-preferences = { group = "androidx.datastore", name = "datastore-preferences", version.ref = "androidx-datastore" }
encrypted-datastore-preference-ksp = { group = "tech.thdev", name = "useful-encrypted-data-store-preferences-ksp", version.ref = "encrypted-datastore" }
encrypted-datastore-preference-ksp-annotations = { group = "tech.thdev", name = "useful-encrypted-data-store-preferences-ksp-annotations", version.ref = "encrypted-datastore" }
encrypted-datastore-preference-security = { group = "tech.thdev", name = "useful-encrypted-data-store-preferences-security", version.ref = "encrypted-datastore" }

crashlytics-plugin = { module = "com.google.firebase:firebase-crashlytics-gradle", version.ref = "crashlytics" }
firebase-bom = { group = "com.google.firebase", name = "firebase-bom", version.ref = "firebase-bom" }
firebase-messaging = { group = "com.google.firebase", name = "firebase-messaging-ktx" }
firebase-crashlytics = { group = "com.google.firebase", name = "firebase-crashlytics-ktx" }
firebase-analytics = { group = "com.google.firebase", name = "firebase-analytics-ktx" }
firebase-remoteConfig = { group = "com.google.firebase", name = "firebase-config-ktx" }
firebase-database = { group = "com.google.firebase", name = "firebase-database-ktx" }

coil = { group = "io.coil-kt", name = "coil", version.ref = "coil" }
lottie = { group = "com.airbnb.android", name = "lottie", version.ref = "lottie" }
jsoup = { group = "org.jsoup", name = "jsoup", version.ref = "jsoup" }

room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" }
room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" }
room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room" }

viewpager-indicator = { group = "com.tbuonomo", name = "dotsindicator", version.ref = "viewpager-indicator" }

# formatting
detekt-plugin-formatting = { group = "io.gitlab.arturbosch.detekt", name = "detekt-formatting", version.ref = "detekt" }

kakao-login = { group = "com.kakao.sdk", name = "v2-user", version.ref = "kakao-login" }

process-phoenix = { module = "com.jakewharton:process-phoenix", version.ref = "process-pheonix" }
androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "activity" }
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidx-compose-bom" }

[bundles]
firebase = ["firebase-analytics", "firebase-database", "firebase-messaging", "firebase-remoteConfig"]
androidx-lifecycle = ["androidx-lifecycle-runtime-ktx", "androidx-lifecycle-viewmodel-ktx"]
androidx-navigation = ["navigation-fragment-ktx", "navigation-ui-ktx"]
coroutine = ["kotlinx-coroutines-android", "kotlinx-coroutines-core"]
encrypted-datastore = ["encrypted-datastore-preference-ksp-annotations","encrypted-datastore-preference-security"]
datastore = ["androidx-datastore-core", "androidx-datastore-preferences"]
compose = ["ui", "ui-graphics", "ui-tooling-preview", "material3-compose", "coil-compose", "ui-foundation", "activity-compose", "lifecycle-compose", "navigation-compose", "hilt-navigation-compose"]
compose-debug = ["ui-tooling", "ui-test-manifest"]

orbit = ["orbit-core", "orbit-viewmodel", "orbit-compose"]
10 changes: 8 additions & 2 deletions settings.gradle → settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
pluginManagement {
includeBuild("build-logic")
repositories {
google {
content {
Expand All @@ -19,5 +21,9 @@ dependencyResolutionManagement {
}
}

rootProject.name = "NOW SOPT Android"
include ':app'
rootProject.name = "NOW-SOPT-Android"
include(":app")
include(":core:model")
include(":core:designsystem")
include(":core:ui")
include(":feature:main")

0 comments on commit ff84c32

Please sign in to comment.