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