Skip to content

Instantly share code, notes, and snippets.

@Velord
Last active July 20, 2024 13:39
Show Gist options
  • Save Velord/ae38280e421057c9def62b591d46c352 to your computer and use it in GitHub Desktop.
Save Velord/ae38280e421057c9def62b591d46c352 to your computer and use it in GitHub Desktop.
Explore the Jetpack libraries via Version Catalog
[versions]
# API
minApi = "29"
targetApi = "34"
# Build
buildTools = "30.0.3"
gradle = "8.3.2"
jvmTarget = "17"
jetifier = "1.0.0-beta10"
# DI
dagger = "2.49"
hilt = "2.51.1"
hiltNavigation = "1.2.0"
hiltNavigationCompose = "1.2.0"
koin = "3.6.0-wasm-alpha2"
koinKsp = "1.3.1"
# Kotlin
kotlin = "2.0.0"
coroutine = "1.7.3"
# Kotlin Serialization
kotlinJsonSerialization = "1.6.3"
kotlinJsonSerializationRetrofitConverter = "1.0.0"
# Google
googleGuava = "32.0.0-android"
ksp = "2.0.0-1.0.22"
# AndroidX
## A
androidxActivity = "1.9.0"
androidxAds = "1.0.0-alpha05"
androidxAnnotation = "1.8.0"
androidxAppCompat = "1.7.0"
androidxAppSearch = "1.1.0-alpha03"
androidxArchCore = "2.2.0"
androidxAsyncLayoutInflater = "1.0.0"
androidxAutoFill = "1.1.0"
## B
androidxBenchmark = "1.2.4"
androidxBiometric = "1.1.0"
androidxBluetooth = "1.0.0-alpha02"
androidxBrowser = "1.8.0"
## C
androidxCamera = "1.3.4"
androidxCarApp = "1.4.0"
androidXCardView = "1.0.0"
androidxCollection = "1.4.1"
androidxConcurrent = "1.2.0"
## AndroidX Constraint
androidxConstraint = "2.1.4"
androidxConstraintCompose = "1.1.0-alpha13"
## C
androidxContentPager = "1.0.0"
androidxCoordinatorLayout = "1.2.0"
## Core
androidxCore = "1.13.1"
androidxCoreAnimation = "1.0.0"
androidxCoreGoogleShortcuts = "1.1.0"
androidxCorePerformance = "1.0.0"
androidxCoreRomoteViews = "1.1.0"
androidxCoreRole = "1.0.0"
androidxCoreSplashScreen = "1.0.1"
## C
androidxCoreUWB = "1.0.0-alpha08"
androidxCredentials = "1.2.2"
androidxCursorAdapter = "1.0.0"
# AndroidX CustomView
androidxCustomView = "1.1.0"
androidxCustomViewPollingContainer = "1.0.0"
## D
androidxDataBinding = "3.5.0" # The databinding library is bundled with the Android Gradle plugin. You do not need to declare a dependency on the library, but you must enable it.
androidxDatastore = "1.1.1"
androidxDocumentFile = "1.0.1"
androidxDragAndDrop = "1.0.0"
androidxDrawerLayout = "1.2.0"
androidxDynamicAnimation = "1.1.0-alpha03"
## Emoji
androidxEmoji = "1.1.0"
androidxEmoji2 = "1.4.0"
## E
androidxEnterprise = "1.1.0"
androidxExifInterface = "1.3.7"
androidxFragment = "1.8.1"
## Games
androidxGamesActivity = "3.0.4"
androidxGamesController = "2.0.2"
androidxGamesFramePacing = "2.1.1"
androidxGamesMemoryAdvice = "2.0.1"
androidxGamesTextInput = "3.0.3"
androidxGamesPerformanceTuner = "2.0.0-beta01"
## G
androidxGmsAuth = "21.2.0"
## Glance
androidxGlance = "1.1.0" # For Glance, AppWidgets
androidxGlanceWearTiles = "1.0.0-alpha05"
## Graphics
androidxGraphicsCore = "1.0.0"
androidxGraphicsPath = "1.0.1"
androidxGraphicsShapes = "1.0.0-beta01"
## G
androidxGridlayout = "1.1.0-beta01"
## L
androidxLegacySupport = "1.0.0"
androidxLifecycle = "2.8.3"
## M
androidxMedia3 = "1.3.1"
## N
androidxNavigation = "2.7.7"
## AndroidX Paging
androidxPaging = "3.3.0"
androidxPagingCompose = "3.3.0"
## P
androidxPalette = "1.0.0"
androidxPercentLayout = "1.0.0"
androidxPreference = "1.2.1"
androidxPrint = "1.1.0-beta01"
## Privacy Sandbox
androidxPrivacySandboxActivity = "1.0.0-alpha01"
androidxPrivacySandboxAds = "1.1.0-beta09"
androidxPrivacySandboxPlugins = "1.0.0-alpha02"
androidxPrivacySandboxSdkRuntime = "1.0.0-alpha13"
androidxPrivacySandboxTools = "1.0.0-alpha09"
androidxPrivacySandboxUi = "1.0.0-alpha09"
## P
androidxProfileInstaller = "1.3.1"
## R
androidxRecaptcha = "18.5.1"
androidxRecommendation = "1.0.0"
## Recycler View
androidxRecyclerView = "1.3.2"
androidxRecyclerViewSelection = "1.1.0"
## R
androidxRemoteCallback = "1.0.0-alpha02"
androidxResourceInspection = "1.0.1"
androidxRoom = "2.6.1"
## S
androidxSavedState = "1.2.1"
## Security
androidxSecurityCrypto = "1.1.0-alpha06"
androidxSecurityAppAuthenticator = "1.0.0-beta01"
androidxSecurityIdentityCredential = "1.0.0-alpha03"
## S
androidxShareTarget = "1.2.0"
## Slice
androidxSlice = "1.1.0-alpha02"
androidxSliceKtx = "1.0.0-alpha08"
## S
androidxSlidingPaneLayout = "1.2.0"
androidxSqlite = "2.4.0"
androidxStartup = "1.1.1"
androidxSwipeRefreshLayout = "1.1.0"
## T
## Test
androidxTestAnnotation = "1.0.1"
androidxTestCore = "1.6.1"
androidxTestEspresso = "3.6.1"
androidxTestEspressoDevice = "1.0.1"
androidxTestExtJunit = "1.2.1"
androidxTestExtJunitGtest = "1.0.0-alpha02"
androidxTestExtTruth = "1.6.0"
androidxTestMonitor = "1.7.1"
androidxTestOrchestrator = "1.5.0"
androidxTestRunner = "1.6.1"
androidxTestRules = "1.6.1"
androidxTestServices = "1.5.0"
androidxTestUiAutomator = "2.3.0"
## T
androidxTextClassifier = "1.0.0-alpha04"
androidxTracing = "1.2.0"
androidxTransition = "1.5.0"
## TV
androidxTv = "1.0.0-alpha11"
androidxTvProvider = "1.1.0-alpha01"
## V
## Vector Drawable
androidxVectorDrawable = "1.2.0"
androidxVectorDrawableSeekable = "1.0.0"
## V
androidxVersionedParcelable = "1.2.0"
## ViewPager
androidxViewPager = "1.1.0-alpha01"
androidxViewPager2 = "1.1.0"
## W
## Wear
androidxWear = "1.3.0"
androidxWearInput = "1.1.0" # For Input, Input Testing
androidxWearOngoing = "1.0.0"
androidxWearPhone = "1.0.1"
androidxWearRemote = "1.1.0-alpha02"
androidxWearCompose = "1.4.0-beta03"
androidxWearProtoLayout = "1.1.0"
androidxWearTiles = "1.3.0"
androidxWearWatchface = "1.2.1"
## W
androidxWebkit = "1.11.0"
## Window
androidxWindow = "1.3.0"
androidxWindowExtension = "1.0.0"
## W
androidxWorkManager = "2.9.0"
# Network
squareRetrofit = "2.9.0"
squareOkhttp3Interceptor = "4.10.0"
ktor = "2.3.11"
# Compose
composeDefault = "1.7.0-beta05" # Foundation, Material, Animation, Ui, UiTooling, Runtime
composeAccompanist = "0.33.2-alpha"
# composeCompiler = "1.5.14"
composeMaterial3 = "1.2.1"
# Compose 3-rd party
composeHtmlIreward = "1.0.2"
# Image loader
coil = "2.2.2"
# Permission
sagarCororutinePermission = "2.0.2"
# Navigation
composeDestinations = "2.1.0-beta05"
voyager = "1.1.0-alpha02"
velordMultipleBackstack = "0.5.9.1"
# Code quality
detekt = "1.23.6"
# Logging
slf4j = "1.7.32"
# --------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------
[libraries]
# AndroidX -----------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------
androidx-ads-identifier = { module = "androidx.ads:ads-identifier", version.ref = "androidxAds" }
androidx-annotation = { module = "androidx.annotation:annotation", version.ref = "androidxAnnotation" }
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidxAppCompat" }
androidx-appsearch = { module = "androidx.appsearch:appsearch", version.ref = "androidxAppSearch" }
androidx-asynclayoutinflater = { module = "androidx.asynclayoutinflater:asynclayoutinflater", version.ref = "androidxAsyncLayoutInflater" }
androidx-autofill = { module = "androidx.autofill:autofill", version.ref = "androidxAutoFill" }
androidx-benchmark = { module = "androidx.benchmark:benchmark-macro-junit4", version.ref = "androidxBenchmark" }
androidx-biometric = { module = "androidx.biometric:biometric", version.ref = "androidxBiometric" }
androidx-bluetooth = { module = "androidx.bluetooth:bluetooth", version.ref = "androidxBluetooth" }
androidx-browser = { module = "androidx.browser:browser", version.ref = "androidxBrowser" }
androidx-cardview = { module = "androidx.cardview:cardview", version.ref = "androidXCardView" }
androidx-collection = { module = "androidx.collection:collection", version.ref = "androidxCollection" }
androidx-concurrent-ktx = { module = "androidx.concurrent:concurrent-futures-ktx", version.ref = "androidxConcurrent" }
androidx-contentpager = { module = "androidx.contentpager:contentpager", version.ref = "androidxContentPager" }
androidx-coordinatorlayout = { module = "androidx.coordinatorlayout:coordinatorlayout", version.ref = "androidxCoordinatorLayout" }
androidx-core-uwb = { module = "androidx.core.uwb:uwb", version.ref = "androidxCoreUWB" }
androidx-cursoradapter = { module = "androidx.cursoradapter:cursoradapter", version.ref = "androidxCursorAdapter" }
androidx-datastore = { module = "androidx.datastore:datastore-preferences", version.ref = "androidxDatastore" }
androidx-documentfile = { module = "androidx.documentfile:documentfile", version.ref = "androidxDocumentFile" }
androidx-draganddrop = { module = "androidx.draganddrop:draganddrop", version.ref = "androidxDragAndDrop" }
androidx-drawerlayout = { module = "androidx.drawerlayout:drawerlayout", version.ref = "androidxDrawerLayout" }
androidx-dynamicanimation-ktx = { module = "androidx.dynamicanimation:dynamicanimation-ktx", version.ref = "androidxDynamicAnimation" }
androidx-enterprise = { module = "androidx.enterprise:enterprise-feedback", version.ref = "androidxEnterprise" }
androidx-exifinterface = { module = "androidx.exifinterface:exifinterface", version.ref = "androidxExifInterface" }
androidx-fragment-ktx = { module = "androidx.fragment:fragment-ktx", version.ref = "androidxFragment" }
androidx-gms-auth = { module = "com.google.android.gms:play-services-auth", version = "androidxGmsAuth" }
androidx-gridlayout = { module = "androidx.gridlayout:gridlayout", version.ref = "androidxGridlayout" }
androidx-percentlayout = { module = "androidx.percentlayout:percentlayout", version.ref = "androidxPercentLayout" }
androidx-preference-ktx = { module = "androidx.preference:preference-ktx", version.ref = "androidxPreference" }
androidx-print = { module = "androidx.print:print", version.ref = "androidxPrint" }
androidx-profileinstaller = { module = "androidx.profileinstaller:profileinstaller", version.ref = "androidxProfileInstaller" }
androidx-recaptcha = { module = "com.google.android.recaptcha:recaptcha", version.ref = "androidxRecaptcha" }
androidx-recommendation = { module = "androidx.recommendation:recommendation", version.ref = "androidxRecommendation" }
androidx-remotecallback = { module = "androidx.remotecallback:remotecallback", version.ref = "androidxRemoteCallback" }
androidx-sharetarget = { module = "androidx.sharetarget:sharetarget", version.ref = "androidxShareTarget" }
androidx-slidingpanelayout = { module = "androidx.slidingpanelayout:slidingpanelayout", version.ref = "androidxSlidingPaneLayout" }
androidx-savedstate-ktx = { module = "androidx.savedstate:savedstate-ktx", version.ref = "androidxSavedState" }
androidx-startup = { module = "androidx.startup:startup-runtime", version.ref = "androidxStartup" }
androidx-textclassifier = { module = "androidx.textclassifier:textclassifier", version.ref = "androidxTextClassifier" }
androidx-tracing = { module = "androidx.tracing:tracing", version.ref = "androidxTracing" }
androidx-transition-ktx = { module = "androidx.transition:transition-ktx", version.ref = "androidxTransition" }
androidx-versionedparcelable = { module = "androidx.versionedparcelable:versionedparcelable", version.ref = "androidxVersionedParcelable" }
androidx-webkit = { module = "androidx.webkit:webkit", version.ref = "androidxWebkit" }
# If you are using Material Library version 1.2.0 (like com.google.android.material:material:1.2.0-alpha03) , than you must import swipe refresh layout library too.
androidx-swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version.ref = "androidxSwipeRefreshLayout" }
# AndroidX Activity
androidx-activity-ktx = { module = "androidx.activity:activity-ktx", version.ref = "androidxActivity" }
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidxActivity" }
# AndroidX Arch
androidx-arch-common = { module = "androidx.arch.core:core-common", version.ref = "androidxArchCore" }
androidx-arch-runtime = { module = "androidx.arch.core:core-runtime", version.ref = "androidxArchCore" }
androidx-arch-testing = { module = "androidx.arch.core:core-testing", version.ref = "androidxArchCore" }
# AndroidX Camera
androidx-camera-lifecycle = { module = "androidx.camera:camera-lifecycle", version.ref = "androidxCamera" }
androidx-camera-video = { module = "androidx.camera:camera-video", version.ref = "androidxCamera" }
androidx-camera-view = { module = "androidx.camera:camera-view", version.ref = "androidxCamera" }
androidx-camera-extension = { module = "androidx.camera:camera-extensions", version.ref = "androidxCamera" }
# AndroidX Car App
androidx-carapp = { module = "androidx.car.app:app", version.ref = "androidxCarApp" }
androidx-carapp-projected = { module = "androidx.car.app:app-projected", version.ref = "androidxCarApp" }
androidx-carapp-automotive = { module = "androidx.car.app:app-automotive", version.ref = "androidxCarApp" }
androidx-carapp-testing = { module = "androidx.car.app:app-testing", version.ref = "androidxCarApp" }
# AndroidX Constraint
androidx-constraint = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidxConstraint" }
androidx-constraint-compose = { module = "androidx.constraintlayout:constraintlayout-compose", version.ref = "androidxConstraintCompose" }
# AndroidX Core
androidx-core-java = { module = "androidx.core:core", version.ref = "androidxCore" } # Java implementation. Do not use if you would use core-ktx
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidxCore" }
androidx-core-animation = { module = "androidx.core:core-animation", version.ref = "androidxCoreAnimation" }
androidx-core-google-shortcuts = { module = "androidx.core:core-google-shortcuts", version.ref = "androidxCoreGoogleShortcuts" }
androidx-core-performance = { module = "androidx.core:core-performance", version.ref = "androidxCorePerformance" }
androidx-core-remoteviews = { module = "androidx.core:core-remoteviews", version.ref = "androidxCoreRomoteViews" }
androidx-core-role = { module = "androidx.core:core-role", version.ref = "androidxCoreRole" }
androidx-core-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "androidxCoreSplashScreen" }
# AndroidX Credentials
androidx-credentials = { module = "androidx.credentials:credentials", version.ref = "androidxCredentials" }
androidx-credentials-below13 = { module = "androidx.credentials:credentials-play-services-auth", version.ref = "androidxCredentials" }
# AndroidX CustomView
androidx-customview = { module = "androidx.customview:customview", version.ref = "androidxCustomView" }
androidx-customview-pollingcontainer = { module = "androidx.customview:customview-poolingcontainer", version.ref = "androidxCustomViewPollingContainer" }
# AndroidX Emoji
androidx-emoji = { module = "androidx.emoji:emoji", version.ref = "androidxEmoji" }
androidx-emoji-appcompat = { module = "androidx.emoji:emoji-appcompat", version.ref = "androidxEmoji" }
androidx-emoji-bundled = { module = "androidx.emoji:emoji-bundled", version.ref = "androidxEmoji" }
androidx-emoji2 = { module = "androidx.emoji2:emoji2", version.ref = "androidxEmoji2" }
androidx-emoji2-views = { module = "androidx.emoji2:emoji2-views", version.ref = "androidxEmoji2" }
androidx-emoji2-views-helper = { module = "androidx.emoji2:emoji2-views-helper", version.ref = "androidxEmoji2" }
# AndroidX Games
androidx-games-activity = { module = "androidx.games:games-activity", version.ref = "androidxGamesActivity" }
androidx-games-controller = { module = "androidx.games:games-controller", version.ref = "androidxGamesController" }
androidx-games-framepacing = { module = "androidx.games:games-frame-pacing", version.ref = "androidxGamesFramePacing" }
androidx-games-memoryadvice = { module = "androidx.games:games-memory-advice", version.ref = "androidxGamesMemoryAdvice" }
androidx-games-textinput = { module = "androidx.games:games-text-input", version.ref = "androidxGamesTextInput" }
androidx-games-performancetuner = { module = "androidx.games:games-performance-tuner", version.ref = "androidxGamesPerformanceTuner" }
# AndroidX Glance
androidx-glance = { module = "androidx.glance:glance", version.ref = "androidxGlance" }
androidx-glance-appwidget = { module = "androidx.glance:glance-appwidget", version.ref = "androidxGlance" }
androidx-glance-weartiles = { module = "androidx.glance:glance-wear-tiles", version.ref = "androidxGlanceWearTiles" }
# AndroidX Graphics
androidx-graphics-core = { module = "androidx.graphics:graphics-core", version.ref = "androidxGraphicsCore" }
androidx-graphics-path = { module = "androidx.graphics:graphics-path", version.ref = "androidxGraphicsPath" }
androidx-graphics-shapes = { module = "androidx.graphics:graphics-shapes", version.ref = "androidxGraphicsShapes" }
# AndroidX Lifecycle
androidx-lifecycle-service = { module = "androidx.lifecycle:lifecycle-service", version.ref = "androidxLifecycle" }
androidx-lifecycle-process = { module = "androidx.lifecycle:lifecycle-process", version.ref = "androidxLifecycle" }
# AndroidX Lifecycle Runtime
androidx-lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "androidxLifecycle" }
androidx-lifecycle-runtime-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidxLifecycle" }
# AndroidX Lifecycle ViewModel
androidx-lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidxLifecycle" }
androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidxLifecycle" }
androidx-lifecycle-viewmodel-savedstate = { module = "androidx.lifecycle:lifecycle-viewmodel-savedstate", version.ref = "androidxLifecycle" }
# AndroidX Navigation
androidx-navigation-fragment = { module = "androidx.navigation:navigation-fragment-ktx", version.ref = "androidxNavigation" }
androidx-navigation-ui = { module = "androidx.navigation:navigation-ui-ktx", version.ref = "androidxNavigation" }
androidx-navigation-dynamicfeature = { module = "androidx.navigation:navigation-dynamic-features-fragment", version.ref = "androidxNavigation" }
androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "androidxNavigation" }
# AndroidX Media3
androidx-media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "androidxMedia3" }
# AndroidX Paging
androidx-paging-runtime = { module = "androidx.paging:paging-runtime", version.ref = "androidxPaging" }
androidx-paging-compose = { module = "androidx.paging:paging-compose", version.ref = "androidxPagingCompose" }
# AndroidX Privacy Sandbox Activity
# Could not find !!!
androidx-privacysandbox-activity = { module = "androidx.privacysandbox.activity:activity", version.ref = "androidxPrivacySandboxActivity" }
androidx-privacysandbox-activity-complications-datasource = { module = "androidx.privacysandbox.activity:activity-complications-data-source", version.ref = "androidxPrivacySandboxActivity" }
androidx-privacysandbox-activity-complications-ktx = { module = "androidx.privacysandbox.activity:activity-complications-data-source-ktx", version.ref = "androidxPrivacySandboxActivity" }
androidx-privacysandbox-activity-complications-rendering = { module = "androidx.privacysandbox.activity:activity-complications-rendering", version.ref = "androidxPrivacySandboxActivity" }
androidx-privacysandbox-activity-editor = { module = "androidx.privacysandbox.activity:activity-editor", version.ref = "androidxPrivacySandboxActivity" }
# AndroidX Privacy Sandbox Ads
androidx-privacysandbox-ads = { module = "androidx.privacysandbox.ads:ads-adservices", version.ref = "androidxPrivacySandboxAds" }
androidx-privacysandbox-ads-java = { module = "androidx.privacysandbox.ads:ads-adservices-java", version.ref = "androidxPrivacySandboxAds" } # Java implementation. Do not use if you would use privacysandbox-ads
# AndroidX Privacy Sandbox Plugins
androidx-privacysandbox-plugins = { module = "androidx.privacysandbox.plugins:plugins-privacysandbox-library", version.ref = "androidxPrivacySandboxPlugins" }
# AndroidX Privacy Sandbox SDK Runtime
androidx-privacysandbox-sdkruntime-core = { module = "androidx.privacysandbox.sdkruntime:sdkruntime-core", version.ref = "androidxPrivacySandboxSdkRuntime" }
androidx-privacysandbox-sdkruntime-client = { module = "androidx.privacysandbox.sdkruntime:sdkruntime-client", version.ref = "androidxPrivacySandboxSdkRuntime" }
# AndroidX Privacy Sandbox Tools
androidx-privacysandbox-tools = { module = "androidx.privacysandbox.tools:tools", version.ref = "androidxPrivacySandboxTools" }
androidx-privacysandbox-tools-apicompiler = { module = "androidx.privacysandbox.tools:tools-apicompiler", version.ref = "androidxPrivacySandboxTools" }
androidx-privacysandbox-tools-apigenerator = { module = "androidx.privacysandbox.tools:tools-apigenerator", version.ref = "androidxPrivacySandboxTools" }
androidx-privacysandbox-tools-core = { module = "androidx.privacysandbox.tools:tools-core", version.ref = "androidxPrivacySandboxTools" }
androidx-privacysandbox-tools-testing = { module = "androidx.privacysandbox.tools:tools-testing", version.ref = "androidxPrivacySandboxTools" }
androidx-privacysandbox-tools-apipackager = { module = "androidx.privacysandbox.tools:tools-apipackager", version.ref = "androidxPrivacySandboxTools" }
# AndroidX Privacy Sandbox UI
androidx-privacysandbox-ui = { module = "androidx.privacysandbox.ui:ui", version.ref = "androidxPrivacySandboxUi" }
androidx-privacysandbox-ui-core = { module = "androidx.privacysandbox.ui:ui-core", version.ref = "androidxPrivacySandboxUi" }
androidx-privacysandbox-ui-provider = { module = "androidx.privacysandbox.ui:ui-provider", version.ref = "androidxPrivacySandboxUi" }
# AndroidX Recycler View
androidx-recylerview = { module = "androidx.recyclerview:recyclerview", version.ref = "androidxRecyclerView" }
androidx-recylerview-selection = { module = "androidx.recyclerview:recyclerview-selection", version.ref = "androidxRecyclerViewSelection" }
# AndroidX Resource Inspection
androidx-resourceinspection-annotation = { module = "androidx.resourceinspection:resourceinspection-annotation", version.ref = "androidxResourceInspection" }
androidx-resourceinspection-processor = { module = "androidx.resourceinspection:resourceinspection-processor", version.ref = "androidxResourceInspection" }
# AndroidX Room
androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "androidxRoom" }
androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "androidxRoom" }
androidx-room-rxjava2 = { module = "androidx.room:room-rxjava2", version.ref = "androidxRoom" }
androidx-room-rxjava3 = { module = "androidx.room:room-rxjava3", version.ref = "androidxRoom" }
androidx-room-guava = { module = "androidx.room:room-guava", version.ref = "androidxRoom" }
androidx-room-paging = { module = "androidx.room:room-paging", version.ref = "androidxRoom" }
# AndroidX Security
androidx-security-crypto = { module = "androidx.security:security-crypto", version.ref = "androidxSecurityCrypto" }
androidx-security-crypto-ktx = { module = "androidx.security:security-crypto-ktx", version.ref = "androidxSecurityCrypto" }
androidx-security-appauthenticator = { module = "androidx.security:security-app-authenticator", version.ref = "androidxSecurityAppAuthenticator" }
androidx-security-identitycredential = { module = "androidx.security:security-identity-credential", version.ref = "androidxSecurityIdentityCredential" }
# AndroidX Slice
androidx-slice-builders = { module = "androidx.slice:slice-builders", version.ref = "androidxSlice" } # Do not use if you would use builders-ktx
androidx-slice-builders-ktx = { module = "androidx.slice:slice-builders-ktx", version.ref = "androidxSliceKtx" }
androidx-slice-core = { module = "androidx.slice:slice-core", version.ref = "androidxSlice" }
androidx-slice-view = { module = "androidx.slice:slice-view", version.ref = "androidxSlice" }
# AndroidX Sqlite
androidx-sqlite-java = { module = "androidx.sqlite:sqlite", version.ref = "androidxSqlite" } # Java implementation. Do not use if you would use sqlite-ktx
androidx-sqlite-ktx = { module = "androidx.sqlite:sqlite-ktx", version.ref = "androidxSqlite" } # Could not resolve
androidx-sqlite-framework = { module = "androidx.sqlite:sqlite-framework", version.ref = "androidxSqlite" }
# AndroidX Test
androidx-test-annotation = { module = "androidx.test:annotation", version.ref = "androidxTestAnnotation" }
androidx-test-core-java = { module = "androidx.test:core", version.ref = "androidxTestCore" } # Java implementation. Do not use if you would use sqlite-ktx
androidx-test-core-ktx = { module = "androidx.test:core-ktx", version.ref = "androidxTestCore" }
# AndroidX Test Espresso
androidx-test-espresso-accessibility = { module = "androidx.test.espresso:espresso-accessibility", version.ref = "androidxTestEspresso" }
androidx-test-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "androidxTestEspresso" }
androidx-test-espresso-contrib = { module = "androidx.test.espresso:espresso-contrib", version.ref = "androidxTestEspresso" }
androidx-test-espresso-device = { module = "androidx.test.espresso:espresso-device", version.ref = "androidxTestEspressoDevice" }
androidx-test-espresso-idling-resource = { module = "androidx.test.espresso:espresso-idling-resource", version.ref = "androidxTestEspresso" }
androidx-test-espresso-intents = { module = "androidx.test.espresso:espresso-intents", version.ref = "androidxTestEspresso" }
androidx-test-espresso-remote = { module = "androidx.test.espresso:espresso-remote", version.ref = "androidxTestEspresso" }
androidx-test-espresso-web = { module = "androidx.test.espresso:espresso-web", version.ref = "androidxTestEspresso" }
# AndroidX Test Espresso Idling
androidx-test-espresso-idling-concurrent = { module = "androidx.test.espresso.idling:idling-concurrent", version.ref = "androidxTestEspresso" }
androidx-test-espresso-idling-net = { module = "androidx.test.espresso.idling:idling-net", version.ref = "androidxTestEspresso" }
# AndroidX Test Ext
androidx-test-ext-junit = { module = "androidx.test.ext:junit", version.ref = "androidxTestExtJunit" }
androidx-test-ext-junit-gtest = { module = "androidx.test.ext:junit-gtest", version.ref = "androidxTestExtJunitGtest" }
androidx-test-ext-truth = { module = "androidx.test.ext:truth", version.ref = "androidxTestExtTruth" }
# AndroidX Test
androidx-test-monitor = { module = "androidx.test:monitor", version.ref = "androidxTestMonitor" }
androidx-test-orchestrator = { module = "androidx.test:orchestrator", version.ref = "androidxTestOrchestrator" }
androidx-test-runner = { module = "androidx.test:runner", version.ref = "androidxTestRunner" }
androidx-test-rules = { module = "androidx.test:rules", version.ref = "androidxTestRules" }
androidx-test-services = { module = "androidx.test.services:test-services", version.ref = "androidxTestServices" }
androidx-test-uiautomator = { module = "androidx.test.uiautomator:uiautomator", version.ref = "androidxTestUiAutomator" }
# AndroidX TV
androidx-tv-foundation = { module = "androidx.tv:tv-foundation", version.ref = "androidxTv" }
androidx-tv-material = { module = "androidx.tv:tv-material", version.ref = "androidxTv" }
androidx-tv-provider = { module = "androidx.tvprovider:tvprovider", version.ref = "androidxTvProvider" }
# AndroidX Vector Drawable
androidx-vectordrawable = { module = "androidx.vectordrawable:vectordrawable", version.ref = "androidxVectorDrawable" }
androidx-vectordrawable-animated = { module = "androidx.vectordrawable:vectordrawable-animated", version.ref = "androidxVectorDrawable" }
androidx-vectordrawable-seekable = { module = "androidx.vectordrawable:vectordrawable-seekable", version.ref = "androidxVectorDrawableSeekable" }
# AndroidX ViewPager
androidx-viewpager = { module = "androidx.viewpager:viewpager", version.ref = "androidxViewPager" }
androidx-viewpager2 = { module = "androidx.viewpager2:viewpager2", version.ref = "androidxViewPager2" }
# AndroidX Wear
androidx-wear = { module = "androidx.wear:wear", version.ref = "androidxWear" }
androidx-wear-input = { module = "androidx.wear:wear-input", version.ref = "androidxWearInput" }
androidx-wear-input-testing = { module = "androidx.wear:wear-input-testing", version.ref = "androidxWearInput" }
androidx-wear-ongoing = { module = "androidx.wear:wear-ongoing", version.ref = "androidxWearOngoing" }
androidx-wear-phone = { module = "androidx.wear:wear-phone-interactions", version.ref = "androidxWearPhone" }
androidx-wear-remote = { module = "androidx.wear:wear-remote-interactions", version.ref = "androidxWearRemote" }
# AndroidX Wear Compose
androidx-wear-compose-foundation = { module = "androidx.wear.compose:compose-foundation", version.ref = "androidxWearCompose" }
androidx-wear-compose-material = { module = "androidx.wear.compose:compose-material", version.ref = "androidxWearCompose" }
androidx-wear-compose-navigation = { module = "androidx.wear.compose:compose-navigation", version.ref = "androidxWearCompose" }
androidx-wear-compose-uitooling = { module = "androidx.wear.compose:compose-ui-tooling", version.ref = "androidxWearCompose" }
# AndroidX Wear ProtoLayout
androidx-wear-protolayout = { module = "androidx.wear.protolayout:protolayout", version.ref = "androidxWearProtoLayout" }
androidx-wear-protolayout-expression = { module = "androidx.wear.protolayout:protolayout-expression", version.ref = "androidxWearProtoLayout" }
androidx-wear-protolayout-material = { module = "androidx.wear.protolayout:protolayout-material", version.ref = "androidxWearProtoLayout" }
# AndroidX Wear Tiles
androidx-wear-tiles = { module = "androidx.wear.tiles:tiles", version.ref = "androidxWearTiles" }
androidx-wear-tiles-renderer = { module = "androidx.wear.tiles:tiles-renderer", version.ref = "androidxWearTiles" }
androidx-wear-tiles-testing = { module = "androidx.wear.tiles:tiles-testing", version.ref = "androidxWearTiles" }
# AndroidX Wear Watchface
androidx-wear-watchface = { module = "androidx.wear.watchface:watchface", version.ref = "androidxWearWatchface" }
androidx-wear-watchface-complications-java = { module = "androidx.wear.watchface:watchface-complications-data-source", version.ref = "androidxWearWatchface" } # Java implementation. Do not use if you would use sqlite-ktx
androidx-wear-watchface-complications-ktx = { module = "androidx.wear.watchface:watchface-complications-data-source-ktx", version.ref = "androidxWearWatchface" }
androidx-wear-watchface-complications-rendering = { module = "androidx.wear.watchface:watchface-complications-rendering", version.ref = "androidxWearWatchface" }
androidx-wear-watchface-editor = { module = "androidx.wear.watchface:watchface-editor", version.ref = "androidxWearWatchface" }
# AndroidX Window
androidx-window = { module = "androidx.window:window", version.ref = "androidxWindow" }
androidx-window-testing = { module = "androidx.window:window-testing", version.ref = "androidxWindow" }
androidx-window-extensions = { module = "androidx.window.extensions.core:core", version.ref = "androidxWindowExtension" }
# AndroidX WorkManager
androidx-workmanager-runtime-java = { module = "androidx.work:work-runtime", version.ref = "androidxWorkManager" } # Java implementation. Do not use if you would use work-runtime-ktx
androidx-workmanager-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "androidxWorkManager" }
androidx-workmanager-gcm = { module = "androidx.work:work-gcm", version.ref = "androidxWorkManager" }
androidx-workmanager-multiprocess = { module = "androidx.work:work-multiprocess", version.ref = "androidxWorkManager" }
androidx-workmanager-testing = { module = "androidx.work:work-testing", version.ref = "androidxWorkManager" }
# Kotlin --------------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk7", version.ref = "kotlin" }
kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }
# Kotlin Coroutine
kotlin-coroutine-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutine" }
kotlin-coroutine-play-service = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services", version.ref = "coroutine" }
# Kotlin Serialization
kotlin-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinJsonSerialization" }
kotlin-serialization-json-retrofit-converter = { module = "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter", version.ref = "kotlinJsonSerializationRetrofitConverter" }
# Compose Core -------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------
compose-animation = { module = "androidx.compose.animation:animation", version.ref = "composeDefault" }
# Compose Runtime
compose-runtime = { module = "androidx.compose.runtime:runtime", version.ref = "composeDefault" }
# Compose Accompanist
compose-accompanist-flowlayout = { module = "com.google.accompanist:accompanist-flowlayout", version.ref = "composeAccompanist" }
compose-accompanist-systemui = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "composeAccompanist" }
compose-accompanist-drawable = { module = "com.google.accompanist:accompanist-drawablepainter", version.ref = "composeAccompanist" }
compose-accompanist-permission = { module = "com.google.accompanist:accompanist-permissions", version.ref = "composeAccompanist" }
# Compose Accompanist Pager
compose-accompanist-pager = { module = "com.google.accompanist:accompanist-pager", version.ref = "composeAccompanist" }
compose-accompanist-pager-indicator = { module = "com.google.accompanist:accompanist-pager-indicators", version.ref = "composeAccompanist" }
# Compose Foundation
compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "composeDefault" }
compose-foundation-layout = { module = "androidx.compose.foundation:foundation-layout", version.ref = "composeDefault" }
# Compose Material 2
compose-material = { module = "androidx.compose.material:material", version.ref = "composeDefault" }
compose-material-icons-core = { module = "androidx.compose.material:material-icons-core", version.ref = "composeDefault" }
compose-material-icons-extended = { module = "androidx.compose.material:material-icons-extended", version.ref = "composeDefault" }
# Compose Material 3
compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "composeMaterial3" }
compose-material3-window = { module = "androidx.compose.material3:material3-window-size-class", version.ref = "composeMaterial3" }
# Compose Ui
compose-ui = { module = "androidx.compose.ui:ui", version.ref = "composeDefault" }
compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "composeDefault" }
compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "composeDefault" }
# Compose 3-rd party
compose-html = { module = "com.github.ireward:compose-html", version.ref = "composeHtmlIreward" }
# DI Dagger ----------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------
dagger = { module = "com.google.dagger:dagger", version.ref = "dagger" }
dagger-android = { module = "com.google.dagger:dagger-android", version.ref = "dagger" }
dagger-android-support = { module = "com.google.dagger:dagger-android-support", version.ref = "dagger" }
dagger-compiler = { module = "com.google.dagger:dagger-compiler", version.ref = "dagger" }
dagger-android-processor = { module = "com.google.dagger:dagger-android-processor", version.ref = "dagger" }
# DI Hilt
hilt = { module = "com.google.dagger:hilt-android", version.ref = "hilt" }
hilt-navigation = { module = "androidx.hilt:hilt-navigation-fragment", version.ref = "hiltNavigation" }
hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "hiltNavigationCompose" }
hilt-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hilt" }
# DI koin
koin-core = { module = "io.insert-koin:koin-core", version.ref = "koin" }
koin-android = { module = "io.insert-koin:koin-android", version.ref = "koin" }
koin-navigation = { module = "io.insert-koin:koin-androidx-navigation", version.ref = "koin" }
koin-annotation = { module = "io.insert-koin:koin-annotations", version.ref = "koinKsp" }
koin-compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koin" }
koin-ksp = { module = "io.insert-koin:koin-ksp-compiler", version.ref = "koinKsp" }
# Network SquareUp ---------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------
square-retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "squareRetrofit" }
square-okhttp3-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "squareOkhttp3Interceptor" }
# Network Ktor ---------------------------------------------------------------------------------
ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" }
ktor-client-darwin = { module = "io.ktor:ktor-client-darwin", version.ref = "ktor" } # For iOS
ktor-client-logging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" }
ktor-client-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
ktor-client-auth = { module = "io.ktor:ktor-client-auth", version.ref = "ktor" }
ktor-serialization = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
# ---------------------------------------------------------------------------------------------------
# Permission
sagar-coroutine-permission = { module = "com.sagar:coroutinespermission", version.ref = "sagarCororutinePermission" }
# Image loader
coil = { module = "io.coil-kt:coil", version.ref = "coil" }
coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" }
# Google
google-guava = { module = "com.google.guava:guava", version.ref = "googleGuava" }
# Navigation
velord-multiplebackstack = { module = "com.github.Velord:MultipleBackstackApplier", version.ref = "velordMultipleBackstack" }
## Compose Destinations
compose-destinations = { module = "io.github.raamcosta.compose-destinations:core", version.ref = "composeDestinations" }
compose-destinations-bottomsheet = { module = "io.github.raamcosta.compose-destinations:bottom-sheet", version.ref = "composeDestinations" }
compose-destinations-ksp = { module = "io.github.raamcosta.compose-destinations:ksp", version.ref = "composeDestinations" }
## Voyager
voyager-navigator = { module = "cafe.adriel.voyager:voyager-navigator", version.ref = "voyager" }
voyager-screenModel = { module = "cafe.adriel.voyager:voyager-screenmodel", version.ref = "voyager" }
voyager-bottomSheetNavigator = { module = "cafe.adriel.voyager:voyager-bottom-sheet-navigator", version.ref = "voyager" }
voyager-tabNavigator = { module = "cafe.adriel.voyager:voyager-tab-navigator", version.ref = "voyager" }
voyager-transitions = { module = "cafe.adriel.voyager:voyager-transitions", version.ref = "voyager" }
voyager-hilt = { module = "cafe.adriel.voyager:voyager-hilt", version.ref = "voyager" }
# Logging
slf4j-android = { module = "org.slf4j:slf4j-android", version.ref = "slf4j" }
# --------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------
# Do not mix testing library with implementation in one bundle. Create separate bundle for testing library
# Do not include Java library when Kotlin impelementation is available
[bundles]
# AndroidX
# AndroidX Activity
androidx-activity = ["androidx-activity-ktx", "androidx-activity-compose"]
# AndroidX Arch Core
androidx-arch = ["androidx-arch-common", "androidx-arch-runtime"]
# AndroidX Camera
androidx-camera = [
"androidx-camera-lifecycle", "androidx-camera-video",
"androidx-camera-view", "androidx-camera-extension",
]
# AndroidX Car App
androidx-carapp = [
"androidx-carapp",
"androidx-carapp-automotive",
#"androidx-carapp-projected" Manifest merger failed : Attribute meta-data#androidx.car.app.CarAppMetadataHolderService.CAR_HARDWARE_MANAGER https://stackoverflow.com/questions/73089042/android-auto-manifest-merger-failed-attribute-is-also-present-at
]
# AndroidX Constraint
androidx-constraint = ["androidx-constraint", "androidx-constraint-compose"]
# AndroidX Core
androidx-core = [
"androidx-core-ktx",
"androidx-core-animation", "androidx-core-google-shortcuts",
"androidx-core-performance", "androidx-core-remoteviews",
"androidx-core-role", "androidx-core-splashscreen"
]
# AndroidX Credentials
androidx-credentials = ["androidx-credentials", "androidx-credentials-below13"]
androidx-credentials-all = ["androidx-credentials", "androidx-credentials-below13", "androidx-gms-auth"]
# AndroidX CustomView
androidx-customview = ["androidx-customview", "androidx-customview-pollingcontainer"]
# AndroidX Emoji
androidx-emoji = ["androidx-emoji", "androidx-emoji-appcompat", "androidx-emoji-bundled"]
androidx-emoji2 = ["androidx-emoji2", "androidx-emoji2-views", "androidx-emoji2-views-helper"]
androidx-emoji-all = [
"androidx-emoji", "androidx-emoji-appcompat", "androidx-emoji-bundled",
"androidx-emoji2", "androidx-emoji2-views", "androidx-emoji2-views-helper"
]
# AndroidX Games
androidx-games = [
"androidx-games-activity", "androidx-games-controller",
"androidx-games-framepacing", "androidx-games-memoryadvice",
#"androidx-games-textinput", do not need if you are using androidx-games-activity
"androidx-games-performancetuner"
]
# AndroidX Glance
androidx-glance = ["androidx-glance", "androidx-glance-appwidget", "androidx-glance-weartiles"]
# AndroidX Graphics
androidx-graphics = ["androidx-graphics-core", "androidx-graphics-path", "androidx-graphics-shapes"]
# AndroidX Lifecycle
androidx-lifecycle-other = [
"androidx-lifecycle-service", "androidx-lifecycle-process"
]
androidx-lifecycle-runtime = [
"androidx-lifecycle-runtime-ktx", "androidx-lifecycle-runtime-compose"
]
androidx-lifecycle-viewmodel = [
"androidx-lifecycle-viewmodel-ktx",
"androidx-lifecycle-viewmodel-compose",
"androidx-lifecycle-viewmodel-savedstate"
]
androidx-lifecycle-all = [
"androidx-lifecycle-service", "androidx-lifecycle-process",
"androidx-lifecycle-runtime-ktx", "androidx-lifecycle-runtime-compose",
"androidx-lifecycle-viewmodel-ktx",
"androidx-lifecycle-viewmodel-compose",
"androidx-lifecycle-viewmodel-savedstate"
]
# AndroidX Navigation
androidx-navigation = [
"androidx-navigation-fragment", "androidx-navigation-ui",
"androidx-navigation-dynamicfeature", "androidx-navigation-compose"
]
# AndroidX Paging
androidx-paging = ["androidx-paging-runtime", "androidx-paging-compose"]
# AndroidX Privacy Sandbox
androidx-privacysandbox-all = [
"androidx-privacysandbox-activity",
"androidx-privacysandbox-activity-complications-datasource",
"androidx-privacysandbox-activity-complications-ktx",
"androidx-privacysandbox-activity-complications-rendering",
"androidx-privacysandbox-activity-editor",
"androidx-privacysandbox-ads",
"androidx-privacysandbox-plugins",
"androidx-privacysandbox-sdkruntime-core", "androidx-privacysandbox-sdkruntime-client",
"androidx-privacysandbox-tools", "androidx-privacysandbox-tools-apicompiler",
"androidx-privacysandbox-tools-apigenerator", "androidx-privacysandbox-tools-core",
"androidx-privacysandbox-tools-apipackager",
"androidx-privacysandbox-ui",
"androidx-privacysandbox-ui-core", "androidx-privacysandbox-ui-provider"
]
# AndroidX Recycler View
androidx-recyclerview = [
"androidx-recylerview", "androidx-recylerview-selection"
]
# AndroidX Resource Inspection
androidx-resourceinspection = [
"androidx-resourceinspection-annotation", "androidx-resourceinspection-processor"
]
# AndroidX Room
androidx-room = [
"androidx-room-ktx",
"androidx-room-rxjava2", "androidx-room-rxjava3",
"google-guava", "androidx-room-paging"
]
# AndroidX Security
androidx-security-crypto = [
"androidx-security-crypto", "androidx-security-crypto-ktx",
]
androidx-security-all = [
"androidx-security-crypto", "androidx-security-crypto-ktx",
"androidx-security-appauthenticator", "androidx-security-identitycredential"
]
# AndroidX Slice
androidx-slice = [
"androidx-slice-builders-ktx",
"androidx-slice-core", "androidx-slice-view"
]
# AndroidX Test
androidx-test-espresso = [
"androidx-test-espresso-accessibility", "androidx-test-espresso-core",
"androidx-test-espresso-contrib", "androidx-test-espresso-device",
"androidx-test-espresso-idling-resource", "androidx-test-espresso-intents",
"androidx-test-espresso-remote", "androidx-test-espresso-web",
"androidx-test-espresso-idling-concurrent", "androidx-test-espresso-idling-net",
]
androidx-test-ext = [
"androidx-test-ext-junit", "androidx-test-ext-junit-gtest",
"androidx-test-ext-truth",
]
androidx-test-other = [
"androidx-test-annotation",
"androidx-test-core-ktx",
"androidx-test-monitor", "androidx-test-orchestrator",
"androidx-test-runner", "androidx-test-rules",
"androidx-test-services",
"androidx-test-uiautomator"
]
androidx-test-all = [
"androidx-test-annotation",
"androidx-test-core-ktx",
"androidx-test-espresso-accessibility", "androidx-test-espresso-core",
"androidx-test-espresso-contrib",
"androidx-test-espresso-device", #"Duplicate class" errors when compiling with Hilt 2.28-alpha https://github.com/google/dagger/issues/1900
"androidx-test-espresso-idling-resource", "androidx-test-espresso-intents",
"androidx-test-espresso-remote", "androidx-test-espresso-web",
"androidx-test-espresso-idling-concurrent", "androidx-test-espresso-idling-net",
"androidx-test-ext-junit", "androidx-test-ext-junit-gtest",
"androidx-test-ext-truth",
"androidx-test-monitor", "androidx-test-orchestrator",
"androidx-test-runner", "androidx-test-rules",
"androidx-test-services",
"androidx-test-uiautomator"
]
# AndroidX TV
androidx-tv = [
"androidx-tv-foundation", "androidx-tv-material",
"androidx-tv-provider"
]
# AndroidX Vector Drawable
androidx-vectordrawable = [
"androidx-vectordrawable", "androidx-vectordrawable-animated",
"androidx-vectordrawable-seekable"
]
# AndroidX Wear
androidx-wear-other = [
"androidx-wear", "androidx-wear-ongoing",
"androidx-wear-phone", "androidx-wear-remote"
]
androidx-wear-compose = [
"androidx-wear-compose-foundation", "androidx-wear-compose-material",
"androidx-wear-compose-navigation", "androidx-wear-compose-uitooling"
]
androidx-wear-protolayout = [
"androidx-wear-protolayout", "androidx-wear-protolayout-expression",
"androidx-wear-protolayout-material"
]
androidx-wear-tiles = [
"androidx-wear-tiles", "androidx-wear-tiles-renderer",
]
androidx-wear-watchface = [
"androidx-wear-watchface",
"androidx-wear-watchface-complications-ktx", "androidx-wear-watchface-complications-rendering",
"androidx-wear-watchface-editor"
]
androidx-wear-all = [
"androidx-wear", "androidx-wear-input", "androidx-wear-ongoing",
"androidx-wear-phone", "androidx-wear-remote",
# Compose
"androidx-wear-compose-foundation", "androidx-wear-compose-material",
"androidx-wear-compose-navigation", "androidx-wear-compose-uitooling",
# ProtoLayout
"androidx-wear-protolayout", "androidx-wear-protolayout-expression",
"androidx-wear-protolayout-material",
# Tiles
"androidx-wear-tiles", "androidx-wear-tiles-renderer",
# Watchface
"androidx-wear-watchface",
"androidx-wear-watchface-complications-ktx", "androidx-wear-watchface-complications-rendering",
]
# AndroidX Window
androidx-window = ["androidx-window", "androidx-window-extensions"]
# AndroidX WorkManager
androidx-workmanager = [
"androidx-workmanager-runtime-ktx", "androidx-workmanager-gcm",
"androidx-workmanager-multiprocess"
]
# AndroidX Module
androidx-module = [
"androidx-activity-ktx", "androidx-activity-compose",
"androidx-appcompat",
"androidx-core-ktx",
"androidx-fragment-ktx",
"androidx-lifecycle-runtime-compose",
"androidx-lifecycle-viewmodel-ktx",
"androidx-lifecycle-viewmodel-compose",
"androidx-navigation-fragment",
"androidx-navigation-ui",
"androidx-transition-ktx"
]
# AndroidX All
androidx-all = [
# AndroidX Other
"androidx-ads-identifier", "androidx-annotation",
"androidx-appcompat", "androidx-appsearch",
"androidx-asynclayoutinflater", "androidx-autofill",
"androidx-benchmark", "androidx-biometric",
# "androidx-bluetooth", uses-sdk:minSdkVersion cannot be smaller than version 33 declared
"androidx-browser",
"androidx-cardview", "androidx-contentpager",
"androidx-collection", "androidx-concurrent-ktx",
"androidx-coordinatorlayout",
"androidx-core-uwb",
"androidx-cursoradapter",
"androidx-datastore", "androidx-documentfile",
"androidx-draganddrop", "androidx-drawerlayout",
# "androidx-dynamicanimation" Could not find androidx.dynamicanimation:dynamicanimation-ktx:1.1.0-alpha03 Manualy declaring dependency works fine
"androidx-enterprise", "androidx-exifinterface",
"androidx-fragment-ktx",
"androidx-gms-auth",
"androidx-gridlayout",
"androidx-media3-exoplayer",
"androidx-percentlayout", "androidx-preference-ktx",
"androidx-print", "androidx-profileinstaller",
"androidx-recaptcha",
"androidx-recommendation", "androidx-remotecallback",
"androidx-savedstate-ktx", "androidx-sharetarget",
"androidx-slidingpanelayout", "androidx-startup",
"androidx-textclassifier", "androidx-tracing",
"androidx-transition-ktx",
"androidx-versionedparcelable",
"androidx-viewpager", "androidx-viewpager2",
"androidx-webkit",
# If you are using Material Library version 1.2.0 (like com.google.android.material:material:1.2.0-alpha03) , than you must import swipe refresh layout library too.
#"androidx-swiperefreshlayout",
# AndroidX Activity
"androidx-activity-ktx", "androidx-activity-compose",
# AndroidX Arch Core
"androidx-arch-common", "androidx-arch-runtime",
# AndroidX Camera
"androidx-camera-lifecycle", "androidx-camera-video",
"androidx-camera-view", "androidx-camera-extension",
# AndroidX Car App
"androidx-carapp", "androidx-carapp-automotive",
#"androidx-carapp-projected", Manifest merger failed : Attribute meta-data#androidx.car.app.CarAppMetadataHolderService.CAR_HARDWARE_MANAGER https://stackoverflow.com/questions/73089042/android-auto-manifest-merger-failed-attribute-is-also-present-at
# AndroidX Constraint
"androidx-constraint", "androidx-constraint-compose",
# AndroidX Core
"androidx-core-ktx",
"androidx-core-animation", "androidx-core-google-shortcuts",
"androidx-core-performance", "androidx-core-remoteviews",
"androidx-core-role", "androidx-core-splashscreen",
# AndroidX Credentials
"androidx-credentials", "androidx-credentials-below13",
# AndroidX CustomView
"androidx-customview", "androidx-customview-pollingcontainer",
# AndroidX Emoji
"androidx-emoji", "androidx-emoji-appcompat", "androidx-emoji-bundled",
"androidx-emoji2", "androidx-emoji2-views", "androidx-emoji2-views-helper",
# AndroidX Games
"androidx-games-activity", "androidx-games-controller",
"androidx-games-framepacing", "androidx-games-memoryadvice",
#"androidx-games-textinput", do not need if you are using androidx-games-activity
"androidx-games-performancetuner",
# AndroidX Glance
"androidx-glance", "androidx-glance-appwidget", "androidx-glance-weartiles",
# AndroidX Graphics
"androidx-graphics-core", "androidx-graphics-path", "androidx-graphics-shapes",
# AndroidX Lifecycle
"androidx-lifecycle-service", "androidx-lifecycle-process",
"androidx-lifecycle-runtime-ktx", "androidx-lifecycle-runtime-compose",
"androidx-lifecycle-viewmodel-ktx",
"androidx-lifecycle-viewmodel-compose",
"androidx-lifecycle-viewmodel-savedstate",
# AndroidX Navigation
"androidx-navigation-fragment", "androidx-navigation-ui",
"androidx-navigation-dynamicfeature", "androidx-navigation-compose",
# AndroidX Paging
"androidx-paging-runtime", "androidx-paging-compose",
# AndroidX Privacy Sandbox
# Could not find !!!
#"androidx-privacysandbox-ads", "androidx-privacysandbox-ads-java",
#"androidx-privacysandbox-activity-complications-ktx",
#"androidx-privacysandbox-plugins",
#"androidx-privacysandbox-sdkruntime-core", "androidx-privacysandbox-sdkruntime-client",
#"androidx-privacysandbox-tools", "androidx-privacysandbox-tools-apicompiler",
#"androidx-privacysandbox-tools-apigenerator", "androidx-privacysandbox-tools-core",
#"androidx-privacysandbox-tools-apipackager",
#"androidx-privacysandbox-ui",
#"androidx-privacysandbox-ui-core", "androidx-privacysandbox-ui-provider"
# AndroidX Recycler View
"androidx-recylerview", "androidx-recylerview-selection",
# AndroidX Resource Inspection
"androidx-resourceinspection-annotation", "androidx-resourceinspection-processor",
# AndroidX Room
"androidx-room-ktx",
"androidx-room-rxjava2", "androidx-room-rxjava3",
"google-guava", "androidx-room-paging",
# AndroidX Security
"androidx-security-crypto", "androidx-security-crypto-ktx",
"androidx-security-appauthenticator", "androidx-security-identitycredential",
# AndroidX Slice
"androidx-slice-builders-ktx", "androidx-slice-core", "androidx-slice-view",
# AndroidX Sqlite
#"androidx-sqlite-ktx", could not resolve
"androidx-sqlite-framework",
# AndroidX TV
"androidx-tv-foundation", "androidx-tv-material",
"androidx-tv-provider",
# AndroidX Vector Drawable
"androidx-vectordrawable", "androidx-vectordrawable-animated",
"androidx-vectordrawable-seekable",
# AndroidX Wear
"androidx-wear", "androidx-wear-input",
"androidx-wear-ongoing",
"androidx-wear-phone", "androidx-wear-remote",
# AndroidX Wear Compose
"androidx-wear-compose-foundation", "androidx-wear-compose-material",
"androidx-wear-compose-navigation", "androidx-wear-compose-uitooling",
# AndroidX Wear ProtoLayout
"androidx-wear-protolayout", "androidx-wear-protolayout-expression",
"androidx-wear-protolayout-material",
# AndroidX Wear Tiles
"androidx-wear-tiles", "androidx-wear-tiles-renderer",
# AndroidX Wear Watchface
"androidx-wear-watchface",
"androidx-wear-watchface-complications-ktx", "androidx-wear-watchface-complications-rendering",
"androidx-wear-watchface-editor",
# AndroidX Window
"androidx-window", "androidx-window-extensions",
# AndroidX WorkManager
"androidx-workmanager-runtime-ktx", "androidx-workmanager-gcm",
"androidx-workmanager-multiprocess",
]
# Kotlin
kotlin-core = ["kotlin-stdlib", "kotlin-reflect"]
kotlin-coroutine = ["kotlin-coroutine-core", "kotlin-coroutine-play-service"]
kotlin-serialization-json = [
"kotlin-serialization-json", "kotlin-serialization-json-retrofit-converter"
]
kotlin-all = [
"kotlin-stdlib", "kotlin-reflect",
"kotlin-coroutine-core", "kotlin-coroutine-play-service",
"kotlin-serialization-json", "kotlin-serialization-json-retrofit-converter"
]
kotlin-module = [
"kotlin-stdlib", "kotlin-reflect",
"kotlin-coroutine-play-service", "kotlin-coroutine-core"
]
# Compose
compose-core = ["compose-runtime", "compose-animation"]
# Compose Accompanist
compose-accompanist-core = [
"compose-accompanist-flowlayout", "compose-accompanist-systemui", "compose-accompanist-drawable"
]
compose-accompanist-pager = ["compose-accompanist-pager", "compose-accompanist-pager-indicator"]
compose-accompanist-all = [
"compose-accompanist-flowlayout", "compose-accompanist-systemui",
"compose-accompanist-drawable",
"compose-accompanist-pager", "compose-accompanist-pager-indicator",
"compose-accompanist-permission"
]
# Compose Foundation
compose-foundation = ["compose-foundation", "compose-foundation-layout"]
# Compose Ui
compose-ui = ["compose-ui", "compose-ui-tooling", "compose-ui-tooling-preview"]
# Compose Material
compose-material-icons = ["compose-material-icons-core", "compose-material-icons-extended"]
compose-material-third = ["compose-material3", "compose-material3-window"]
compose-material-all = [
"compose-material",
"compose-material-icons-core", "compose-material-icons-extended",
"compose-material3", "compose-material3-window"
]
# Compose All
# Material 2 excluded
compose-all = [
"compose-runtime", "compose-animation",
"compose-accompanist-flowlayout", "compose-accompanist-systemui", "compose-accompanist-drawable",
"compose-accompanist-pager", "compose-accompanist-pager-indicator",
"compose-accompanist-permission",
"compose-foundation", "compose-foundation-layout",
"compose-ui", "compose-ui-tooling", "compose-ui-tooling-preview",
"compose-material-icons-core", "compose-material-icons-extended",
"compose-material3", "compose-material3-window"
]
ui = [
"compose-runtime", "compose-animation",
"compose-accompanist-flowlayout", "compose-accompanist-systemui", "compose-accompanist-drawable",
"compose-accompanist-pager", "compose-accompanist-pager-indicator",
"compose-accompanist-permission",
"compose-foundation", "compose-foundation-layout",
"compose-ui", "compose-ui-tooling", "compose-ui-tooling-preview",
"compose-material", "compose-material-icons-core", "compose-material-icons-extended",
"compose-material3", "compose-material3-window",
"androidx-graphics-core", "androidx-graphics-path", "androidx-graphics-shapes"
]
# Compose Third Party
compose-thirdparty = ["compose-html"]
# DI
## Dagger
dagger = ["dagger", "dagger-android", "dagger-android-support"]
dagger-kapt = ["dagger-compiler", "dagger-android-processor"]
hilt = ["hilt", "hilt-navigation", "hilt-navigation-compose"]
dagger-all = [
"dagger", "dagger-android", "dagger-android-support",
"hilt", "hilt-navigation", "hilt-navigation-compose"
]
## Koin
koin-core = [
"koin-core", "koin-android",
"koin-navigation", "koin-compose",
"koin-annotation"
]
# Network
retrofit = ["square-retrofit", "square-okhttp3-interceptor"]
ktor-android = ["ktor-client-core", "ktor-client-okhttp"]
ktor-ios = ["ktor-client-core", "ktor-client-darwin"]
network-retrofit = [
"square-retrofit", "square-okhttp3-interceptor",
"kotlin-serialization-json", "kotlin-serialization-json-retrofit-converter"
]
network-ktor = [
"ktor-client-core", "ktor-client-okhttp",
"ktor-client-logging", "ktor-client-negotiation",
"ktor-serialization", "kotlin-serialization-json",
"ktor-client-auth", "slf4j-android"
]
network-all = [
"square-retrofit", "square-okhttp3-interceptor",
"kotlin-serialization-json", "kotlin-serialization-json-retrofit-converter",
"ktor-client-core", "ktor-client-okhttp",
"ktor-client-logging", "ktor-client-negotiation",
"ktor-serialization", "kotlin-serialization-json",
"ktor-client-auth", "slf4j-android"
]
# Image Loader
coil = ["coil", "coil-compose"]
# Voyager
voyager = [
"voyager-navigator", "voyager-screenModel",
"voyager-bottomSheetNavigator", "voyager-tabNavigator",
"voyager-transitions", "voyager-hilt",
]
# Compose Destinations
compose-destinations = ["compose-destinations", "compose-destinations-bottomsheet"]
# --------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------
[plugins]
android-application = { id = "com.android.application", version.ref = "gradle" }
android-library = { id = "com.android.library", version.ref = "gradle" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
kotlin-plugin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
kotlin-plugin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
kotlin-plugin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
dagger-hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
detekt-compiler = { id = "io.github.detekt.gradle.compiler-plugin", version.ref = "detekt" }
@Velord
Copy link
Author

Velord commented Jun 18, 2023

Revision 4 may be used with Android Studio Giraffe Beta 5 2022.3.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment