Skip to content

Instantly share code, notes, and snippets.

@BobbyESP
Created April 29, 2023 10:05
Show Gist options
  • Select an option

  • Save BobbyESP/b380590f63128f690a48ffce6de27114 to your computer and use it in GitHub Desktop.

Select an option

Save BobbyESP/b380590f63128f690a48ffce6de27114 to your computer and use it in GitHub Desktop.

Revisions

  1. BobbyESP created this gist Apr 29, 2023.
    173 changes: 173 additions & 0 deletions libs.versions.toml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,173 @@
    [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"]