Skip to content

Instantly share code, notes, and snippets.

@BobbyESP
Created May 21, 2023 13:30
Show Gist options
  • Save BobbyESP/5b07ed192f257111a6c99e67fcfaca34 to your computer and use it in GitHub Desktop.
Save BobbyESP/5b07ed192f257111a6c99e67fcfaca34 to your computer and use it in GitHub Desktop.
Another nice and updated TOML file with Android libraries and more, including GMS, DI, Jetpakc Compose, Accompanist...
[versions]
#General, lifecycle and core
agp = "8.2.0-alpha04"
kotlin = "1.8.21"
core-ktx = "1.10.1"
lifecycle-runtime-ktx = "2.6.1"
activity-compose = "1.7.1"
compose-compiler = "1.4.7"
ksp = "1.8.21-1.0.11"
#Compose
compose-bom = "2023.05.01"
androidx-compose-material3 = "1.2.0-alpha01"
accompanist = "0.30.1"
compose-pagination = "1.0.0-alpha19"
#More UI
androidx-paging = "3.1.1"
#Navigation
androidx-navigation = "2.5.3"
androidx-compose-hilt-navigation = "1.0.0"
#Coroutines
kotlinx-coroutines = "1.6.4"
#Serialization and more related
kotlinx-datetime = "0.4.0"
kotlinx-serializationJson = "1.5.0"
kotlinx-collectionsImmutable = "0.3.5"
#Image loading
coil = "2.2.2"
#Network
okhttp = "5.0.0-alpha.10"
ktor = "2.3.0" #For me the best client
retrofit = "2.9.0"
#Dependency injection
hilt = "2.45"
hilt-ext = "1.0.0"
hilt-compose-nav = "1.0.0"
#Database
room = "2.5.1"
#High performance Key-value storage
mmkv = "1.2.15"
#Chrome custom tabs
customTabs = "1.5.0"
#Markdown handler
markdown = "0.3.2"
#Spotify API
spotify-apiHandler = "3.8.8"
#Firebase, GMS...
firebaseAuth = "22.0.0"
gmsPlayServicesAuth = "20.5.0"
googleServices = "4.3.15"
#Tests
junit = "4.13.2"
androidx-test-ext-junit = "1.1.5"
espresso-core = "3.5.1"
[libraries]
#Core libraries
core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "core-ktx" }
lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycle-runtime-ktx" }
activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activity-compose" }
compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" }
#Compose UI
compose-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
compose-runtime = { group = "androidx.compose.runtime", name = "runtime" }
compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
compose-material-iconsExtended = { group = "androidx.compose.material", name = "material-icons-extended" }
compose-animation-graphics = { group = "androidx.compose.animation", name = "animation-graphics" }
compose-ui = { group = "androidx.compose.ui", name = "ui" }
compose-material = { group = "androidx.compose.material", name = "material" }
compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "androidx-compose-material3" }
compose-material3-windowSizeClass = { group = "androidx.compose.material3", name = "material3-window-size-class", version.ref = "androidx-compose-material3" }
#Paging3
paging-runtime = { group = "androidx.paging", name = "paging-runtime", version.ref = "androidx-paging" }
paging-compose = { group = "androidx.paging", name = "paging-compose", version.ref = "compose-pagination" }
#Compose UI Navigation
compose-navigation = { group = "androidx.navigation", name = "navigation-compose", version.ref = "androidx-navigation" }
#Kotlin Immutable Collections
kotlinx-collections-immutable = { group = "org.jetbrains.kotlinx", name = "kotlinx-collections-immutable", version.ref = "kotlinx-collectionsImmutable" }
#Accompanist
accompanist-navigation-animation = { group = "com.google.accompanist", name = "accompanist-navigation-animation", version.ref = "accompanist" }
accompanist-permissions = { group = "com.google.accompanist", name = "accompanist-permissions", version.ref = "accompanist" }
accompanist-systemuicontroller = { group = "com.google.accompanist", name = "accompanist-systemuicontroller", version.ref = "accompanist" }
accompanist-webview = { group = "com.google.accompanist", name = "accompanist-webview", version.ref = "accompanist" }
accompanist-pager-layouts = { group = "com.google.accompanist", name = "accompanist-pager", version.ref = "accompanist" }
accompanist-pager-indicators = { group = "com.google.accompanist", name = "accompanist-pager-indicators", version.ref = "accompanist" }
accompanist-flowlayout = { group = "com.google.accompanist", name = "accompanist-flowlayout", version.ref = "accompanist" }
#Accompanist Material components
accompanist-material = { group = "com.google.accompanist", name = "accompanist-navigation-material", version.ref = "accompanist" }
#Image loading
compose-coil = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" }
#Network
okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" }
okhttp-loggingInterceptor = { group = "com.squareup.okhttp3", name = "logging-interceptor", version.ref = "okhttp" }
retrofit = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" }
#Ktor (also network)
ktor-android = { group = "io.ktor", name = "ktor-client-android", version.ref = "ktor" }
ktor-core = { group = "io.ktor", name = "ktor-client-core", version.ref = "ktor" }
ktor-serialization = { group = "io.ktor", name = "ktor-serialization-kotlinx-json", version.ref = "ktor" }
ktor-logging = { group = "io.ktor", name = "ktor-client-logging", version.ref = "ktor" }
ktor-contentnegotiation = { group = "io.ktor", name = "ktor-client-content-negotiation", version.ref = "ktor" }
#Dependency injection
compose-hilt-navigation = { group = "androidx.hilt", name = "hilt-navigation-compose", version.ref = "hilt-compose-nav" }
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-ext-compiler = { group = "androidx.hilt", name = "hilt-compiler", version.ref = "hilt-ext" }
#Databases
room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room" }
room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" }
room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" }
#Key-value storage
mmkv = { group = "com.tencent", name = "mmkv", version.ref = "mmkv" }
#Markdown parser
markdown = { group = "com.github.jeziellago", name = "compose-markdown", version.ref = "markdown" }
#Spotify
spotify-api-android = { group = "com.adamratzman", name = "spotify-api-kotlin-core", version.ref = "spotify-apiHandler" }
#Firebase and GMS
firebase-auth = { group = "com.google.firebase", name = "firebase-auth-ktx", version.ref = "firebaseAuth" }
gms-playservices-auth = { group = "com.google.android.gms", name = "play-services-auth", version.ref = "gmsPlayServicesAuth" }
google-services = { group = "com.google.gms", name = "google-services", version.ref = "googleServices" }
#Compose tooling and tests
compose-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
compose-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
compose-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
compose-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
#Testing
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" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
kotlin-gradlePlugin = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
kotlin-ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
[bundles]
core = ["core-ktx", "lifecycle-runtime-ktx", "activity-compose"]
ktor = ["ktor-android", "ktor-core", "ktor-serialization", "ktor-logging", "ktor-contentnegotiation"]
accompanist = ["accompanist-navigation-animation", "accompanist-permissions", "accompanist-systemuicontroller", "accompanist-webview", "accompanist-pager-layouts", "accompanist-pager-indicators", "accompanist-flowlayout", "accompanist-material"]
compose = ["compose-graphics", "compose-runtime", "compose-foundation", "compose-material-iconsExtended", "compose-animation-graphics", "compose-ui", "compose-material", "compose-material3", "compose-material3-windowSizeClass"]
hilt = ["compose-hilt-navigation", "hilt-android", "hilt-compiler", "hilt-ext-compiler"]
pagination = ["paging-compose", "paging-runtime"]
googleServices = ["firebase-auth", "gms-playservices-auth", "google-services"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment