Created
April 29, 2023 10:05
-
-
Save BobbyESP/b380590f63128f690a48ffce6de27114 to your computer and use it in GitHub Desktop.
A very complete TOML file for Android Development mainly thought for the new Jetpack Compose framework
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[versions] | |
accompanist = "0.29.2-rc" | |
androidGradlePlugin = "7.4.2" | |
androidxComposeBom = "2023.01.00" | |
androidxComposeCompiler = "1.4.6" | |
androidxCore = "1.10.0-rc01" | |
androidMaterial = "1.9.0-alpha02" | |
androidxAppCompat = "1.7.0-alpha02" | |
androidxActivity = "1.7.1" | |
markdownDependency = "0.3.2" | |
navTransitions = "0.11.0-alpha" | |
androidxPaging = "3.1.1" | |
paginationCompose = "1.0.0-alpha18" | |
retrofit = "2.9.0" | |
androidxLifecycle = "2.6.1" | |
androidxNavigation = "2.5.3" | |
androidxComposeMaterial3 = "1.1.0-rc01" | |
androidxEspresso = "3.5.1" | |
androidxHiltNavigationCompose = "1.0.0" | |
androidxTestExt = "1.1.5" | |
spotdlAndroidVersion = "3d8e42a3f0" | |
spotifyApiKotlinVersion = "3.8.8" | |
shimmerLibrary = "1.0.4" | |
crashHandlerVersion = "2.0.2" | |
coil = "2.2.2" | |
hilt = "2.44.2" | |
hiltExt = "1.0.0" | |
junit4 = "4.13.2" | |
kotlin = "1.8.20" | |
kotlinxCoroutines = "1.6.4" | |
kotlinxDatetime = "0.4.0" | |
kotlinxSerializationJson = "1.5.0" | |
okhttp = "5.0.0-alpha.10" | |
ktor = "1.6.3" | |
exoplayer = "2.18.6" | |
room = "2.5.1" | |
mmkv = "1.2.15" | |
#chrome custom tabs | |
customTabs = "1.5.0" | |
junit = "1.1.5" | |
kotlinxCollectionsImmutable = "0.3.4" | |
[libraries] | |
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidxCore" } | |
android-material = { group = "com.google.android.material", name = "material", version.ref = "androidMaterial" } | |
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidxAppCompat" } | |
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "androidxActivity" } | |
androidx-compose-runtime = { group = "androidx.compose.runtime", name = "runtime" } | |
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" } | |
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" } | |
androidx-compose-material-iconsExtended = { group = "androidx.compose.material", name = "material-icons-extended" } | |
androidx-compose-animation-graphics = { group = "androidx.compose.animation", name = "animation-graphics" } | |
androidx-compose-ui = { group = "androidx.compose.ui", name = "ui" } | |
androidx-compose-material = { group = "androidx.compose.material", name = "material" } | |
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "androidxComposeMaterial3" } | |
androidx-compose-material3-windowSizeClass = { group = "androidx.compose.material3", name = "material3-window-size-class", version.ref = "androidxComposeMaterial3" } | |
androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "androidxNavigation" } | |
#Compose UI Util | |
androidx-compose-ui-util = { group = "androidx.compose.ui", name = "ui-util"} | |
androidx-compose-ui-test = { group = "androidx.compose.ui", name = "ui-test-junit4" } | |
androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" } | |
androidx-compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" } | |
androidx-lifecycle-runtimeCompose = { group = "androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "androidxLifecycle" } | |
androidx-lifecycle-viewModelCompose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "androidxLifecycle" } | |
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 component | |
accompanist-material = { group = "com.google.accompanist", name = "accompanist-navigation-material", version.ref = "accompanist" } | |
#Image loading | |
coil-kt-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" } | |
#Paging3 | |
paging-runtime = { group = "androidx.paging", name = "paging-runtime", version.ref = "androidxPaging" } | |
paging-compose = { group = "androidx.paging", name = "paging-compose", version.ref = "paginationCompose" } | |
#Markdown parser | |
markdown = { group = "com.github.jeziellago", name = "compose-markdown", version.ref = "markdownDependency" } | |
#Dependency injection | |
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 = "hiltExt" } | |
androidx-hilt-navigation-compose = { group = "androidx.hilt", name = "hilt-navigation-compose", version.ref = "androidxHiltNavigationCompose" } | |
#Kotlin Immutable Collections | |
kotlinx-collections-immutable = { group = "org.jetbrains.kotlinx", name = "kotlinx-collections-immutable", version.ref = "kotlinxCollectionsImmutable" } | |
#Kotlin Coroutines, serialization, datetime... | |
kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlinxCoroutines" } | |
kotlinx-datetime = { group = "org.jetbrains.kotlinx", name = "kotlinx-datetime", version.ref = "kotlinxDatetime" } | |
kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" } | |
#Spotify related | |
spotdl-android-library = { group = "com.github.bobbyesp.spotdl-android", name = "spotdl-android-library", version.ref = "spotdlAndroidVersion" } | |
spotdl-android-ffmpeg = { group = "com.github.bobbyesp.spotdl-android", name = "spotdl-android-ffmpeg", version.ref = "spotdlAndroidVersion" } | |
spotify-api-android = { group = "com.adamratzman", name = "spotify-api-kotlin-core", version.ref = "spotifyApiKotlinVersion" } | |
#Database | |
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" } | |
#MMKV | |
mmkv = { group = "com.tencent", name = "mmkv", version.ref = "mmkv" } | |
#OkHttp and Retrofit | |
okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" } | |
okhttp-logging-interceptor = { group = "com.squareup.okhttp3", name = "logging-interceptor", version.ref = "okhttp" } | |
retrofit = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" } | |
#ExoPlayer | |
exoplayer-core = { group = "com.google.android.exoplayer", name = "exoplayer-core", version.ref = "exoplayer" } | |
exoplayer-ui = { group = "com.google.android.exoplayer", name = "exoplayer-ui", version.ref = "exoplayer" } | |
exoplayer-hls = { group = "com.google.android.exoplayer", name = "exoplayer-hls", version.ref = "exoplayer" } | |
exoplayer-dash = { group = "com.google.android.exoplayer", name = "exoplayer-dash", version.ref = "exoplayer" } | |
exoplayer-smoothstreaming = { group = "com.google.android.exoplayer", name = "exoplayer-smoothstreaming", version.ref = "exoplayer" } | |
exoplayer-cast = { group = "com.google.android.exoplayer", name = "exoplayer-cast", version.ref = "exoplayer" } | |
exoplayer-extension-mediasession = { group = "com.google.android.exoplayer", name = "extension-mediasession", version.ref = "exoplayer" } | |
#Chrome custom tabs | |
customtabs = { group = "androidx.browser", name = "browser", version.ref = "customTabs" } | |
#Test | |
junit = { group = "androidx.test.ext", name = "junit", version.ref = "junit" } | |
junit4 = { group = "junit", name = "junit", version.ref = "junit4" } | |
androidx-test-ext = { group = "androidx.test.ext", name = "junit-ktx", version.ref = "androidxTestExt" } | |
androidx-test-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "androidxEspresso" } | |
#More | |
crash-handler = { group = "com.github.thelumiereguy", name = "CrashWatcher-Android", version.ref = "crashHandlerVersion" } | |
shimmer = { group = "com.valentinilk.shimmer", name = "compose-shimmer", version.ref = "shimmerLibrary" } | |
soup-anims-core = { group = "io.github.fornewid", name = "material-motion-compose-core", version.ref = "navTransitions" } | |
soup-anims-navigation = { group = "io.github.fornewid", name = "material-motion-compose-navigation", version.ref = "navTransitions" } | |
[plugins] | |
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" } | |
android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" } | |
android-test = { id = "com.android.test", version.ref = "androidGradlePlugin" } | |
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" } | |
[bundles] | |
#compose bundle | |
compose = ["androidx-lifecycle-runtimeCompose", "android-material", "androidx-compose-material-iconsExtended", "androidx-compose-material3", "androidx-compose-ui", "androidx-compose-ui-util", "androidx-navigation-compose", "androidx-activity-compose"] | |
accompanist = ["accompanist-navigation-animation", "accompanist-permissions", "accompanist-systemuicontroller", "accompanist-webview", "accompanist-pager-layouts", "accompanist-pager-indicators", "accompanist-flowlayout", "accompanist-material"] | |
exoplayer = ["exoplayer-core", "exoplayer-ui", "exoplayer-hls", "exoplayer-dash", "exoplayer-smoothstreaming", "exoplayer-cast", "exoplayer-extension-mediasession"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment