-
-
Save iplanetcn/8e9d64babb35e1ee8b4fc0ae61a2a404 to your computer and use it in GitHub Desktop.
Explore the Jetpack libraries via Version Catalog
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] | |
# API | |
minApi = "26" | |
targetApi = "35" | |
# Build | |
buildTools = "30.0.3" | |
gradle = "8.5.1" | |
jvmTarget = "17" | |
jetifier = "1.0.0-beta10" | |
# DI | |
dagger = "2.52" | |
hilt = "2.52" | |
hiltNavigation = "1.2.0" | |
hiltNavigationCompose = "1.2.0" | |
koinBom = "4.1.0-Beta5" | |
koinKsp = "2.0.0-RC1" | |
googleGuava = "33.3.1-android" | |
googleKsp = "2.1.10-1.0.30" | |
googleMapCompose = "6.5.0" | |
googleMapUtil = "3.5.2" | |
googleModernStorage = "1.0.0-alpha06" | |
googleRecaptcha = "18.7.0" | |
# Google GMS/Google Play Services | |
googleGmsAuth = "21.3.0" | |
googleGmsLocation = "21.3.0" | |
googleGmsMap = "19.1.0" | |
# Kotlin | |
kotlin = "2.1.10" | |
kotlinCoroutine = "1.10.1" | |
kotlinCollectionsImmutable = "0.3.8" | |
kotlinDateTime = "0.6.1" | |
# Kotlin Json Serialization | |
kotlinJsonSerialization = "1.7.3" | |
kotlinJsonSerializationRetrofitConverter = "1.0.0" | |
# AndroidX | |
## A | |
androidxActivity = "1.10.1" | |
androidxAds = "1.0.0-alpha05" | |
androidxAnnotation = "1.9.1" | |
androidxAppCompat = "1.7.0" | |
androidxAppSearch = "1.1.0-beta01" | |
androidxArchCore = "2.2.0" | |
androidxAsyncLayoutInflater = "1.0.0" | |
androidxAutoFill = "1.1.0" | |
## B | |
androidxBenchmark = "1.3.3" | |
androidxBiometric = "1.1.0" | |
androidxBluetooth = "1.0.0-alpha02" | |
androidxBrowser = "1.8.0" | |
## Camera | |
androidxCamera = "1.5.0-alpha06" | |
androidxCameraMedia3 = "1.0.0-alpha01" | |
androidxCameraViewFinder = "1.4.0-alpha13" | |
## C | |
androidxCarApp = "1.4.0" | |
androidXCardView = "1.0.0" | |
androidxCollection = "1.5.0" | |
androidxConcurrent = "1.2.0" | |
## AndroidX Constraint | |
androidxConstraint = "2.2.1" | |
androidxConstraintCompose = "1.1.1" | |
## C | |
androidxContentPager = "1.0.0" | |
androidxCoordinatorLayout = "1.3.0" | |
## Core | |
androidxCore = "1.15.0" | |
androidxCoreAnimation = "1.0.0" | |
androidxCoreGoogleShortcuts = "1.1.0" | |
androidxCorePerformance = "1.0.0" | |
androidxCoreRomoteViews = "1.1.0" | |
androidxCoreRole = "1.1.0" | |
androidxCoreSplashScreen = "1.0.1" | |
androidxCoreUWB = "1.0.0-alpha10" | |
## C | |
androidxCredentials = "1.5.0" | |
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.3" | |
androidxDocumentFile = "1.0.1" | |
androidxDragAndDrop = "1.0.0" | |
androidxDrawerLayout = "1.2.0" | |
androidxDynamicAnimation = "1.1.0-alpha03" | |
## Emoji | |
androidxEmoji = "1.1.0" | |
androidxEmoji2 = "1.5.0" | |
## E | |
androidxEnterprise = "1.1.0" | |
androidxExifInterface = "1.4.0" | |
androidxFragment = "1.8.6" | |
## Games | |
androidxGamesActivity = "4.0.0" | |
androidxGamesController = "2.0.2" | |
androidxGamesFramePacing = "2.1.2" | |
androidxGamesMemoryAdvice = "2.0.1" | |
androidxGamesTextInput = "4.0.0" | |
androidxGamesPerformanceTuner = "2.0.0" | |
## Glance | |
androidxGlance = "1.1.1" # For Glance, AppWidgets | |
androidxGlanceWearTiles = "1.0.0-alpha05" | |
## Graphics | |
androidxGraphicsCore = "1.0.2" | |
androidxGraphicsPath = "1.0.1" | |
androidxGraphicsShapes = "1.0.1" | |
## G | |
androidxGridlayout = "1.1.0-beta01" | |
## L | |
androidxLegacySupport = "1.0.0" | |
androidxLifecycle = "2.8.7" | |
## M | |
androidxMedia3 = "1.5.1" | |
## N | |
androidxNavigation = "2.8.9" | |
## AndroidX Paging | |
androidxPaging = "3.3.6" | |
androidxPagingCompose = "3.3.6" | |
## 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-beta12" | |
androidxPrivacySandboxPlugins = "1.0.0-alpha02" | |
androidxPrivacySandboxSdkRuntime = "1.0.0-alpha16" | |
androidxPrivacySandboxTools = "1.0.0-alpha12" | |
androidxPrivacySandboxUi = "1.0.0-alpha14" | |
## P | |
androidxProfileInstaller = "1.4.1" | |
## R | |
androidxRecommendation = "1.0.0" | |
## Recycler View | |
androidxRecyclerView = "1.4.0" | |
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.2.0" | |
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.2" | |
androidxTestOrchestrator = "1.5.1" | |
androidxTestRunner = "1.6.2" | |
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.1" | |
## TV | |
androidxTvFoundation = "1.0.0-alpha12" | |
androidxTvMaterial = "1.1.0-alpha01" | |
androidxTvProvider = "1.1.0-alpha01" | |
## V | |
## Vector Drawable | |
androidxVectorDrawable = "1.2.0" | |
androidxVectorDrawableSeekable = "1.0.0" | |
## V | |
androidxVersionedParcelable = "1.2.1" | |
## ViewPager | |
androidxViewPager = "1.1.0" | |
androidxViewPager2 = "1.1.0" | |
## W | |
## Wear | |
androidxWear = "1.3.0" | |
androidxWearInput = "1.1.0" # For Input, Input Testing | |
androidxWearOngoing = "1.0.0" | |
androidxWearPhone = "1.1.0" | |
androidxWearRemote = "1.1.0" | |
androidxWearCompose = "1.4.1" | |
androidxWearProtoLayout = "1.2.1" | |
androidxWearTiles = "1.4.1" | |
androidxWearWatchface = "1.2.1" | |
## W | |
androidxWebkit = "1.13.0" | |
## Window | |
androidxWindow = "1.3.0" | |
androidxWindowExtension = "1.0.0" | |
## W | |
androidxWorkManager = "2.10.0" | |
# Network | |
squareRetrofit = "2.9.0" | |
squareOkhttp3Interceptor = "4.10.0" | |
ktor = "3.0.1" | |
# Compose | |
composeDefault = "1.7.8" # Foundation, Material, Animation, Ui, UiTooling, Runtime | |
composeAccompanist = "0.36.0" | |
# composeCompiler = "1.5.14" | |
composeMaterial3 = "1.3.1" | |
# Compose 3-rd party | |
composeHtmlIreward = "1.0.2" | |
composeScrollbarNanihadesuka = "2.2.0" | |
composeSmartToolFactoryCropper = "0.4.0" | |
composeSmartToolFactoryGesture = "3.0.0" | |
composeHaze = "0.7.3" | |
# Image loader | |
coil = "2.2.2" | |
# Permission | |
sagarCoroutinePermission = "2.0.2" | |
accompanistPermission = "0.37.2" | |
# Navigation | |
composeDestinations = "2.1.0-beta10" | |
voyager = "1.1.0-alpha02" | |
velordMultipleBackstack = "0.5.9.1" | |
# Logging | |
slf4j = "1.7.32" | |
takt = "2.1.1" | |
rebugger = "1.0.0-rc03" | |
# Testing | |
junit = "4.13.2" | |
mockk = "1.12.0" | |
turbine = "0.7.0" | |
# -------------------------------------------------------------------------------------------------- | |
# -------------------------------------------------------------------------------------------------- | |
# -------------------------------------------------------------------------------------------------- | |
# -------------------------------------------------------------------------------------------------- | |
[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-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-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-core = { module = "androidx.camera:camera-core", version.ref = "androidxCamera" } | |
androidx-camera-camera2 = { module = "androidx.camera:camera-camera2", version.ref = "androidxCamera" } | |
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-mlkit = { module = "androidx.camera:camera-mlkit-vision", version.ref = "androidxCamera" } | |
androidx-camera-extension = { module = "androidx.camera:camera-extensions", version.ref = "androidxCamera" } | |
androidx-camera-media3 = { module = "androidx.camera.media3:media3-effect", version.ref = "androidxCameraMedia3" } | |
# AndroidX Camera Viewfinder | |
androidx-camera-viewfinder-core = { module = "androidx.camera.viewfinder:viewfinder-core", version.ref = "androidxCameraViewFinder" } | |
androidx-camera-viewfinder-compose = { module = "androidx.camera.viewfinder:viewfinder-compose", version.ref = "androidxCameraViewFinder" } | |
androidx-camera-viewfinder-view = { module = "androidx.camera.viewfinder:viewfinder-view", version.ref = "androidxCameraViewFinder" } | |
# 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 | |
# The dependency androidx.credentials:credentials-play-services-auth is required to get support from | |
# Play services for the Credential Manager API to work. For Android 14 or higher, this is optional. | |
# Please check release notes for the latest version. | |
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 = "androidxTvFoundation" } | |
androidx-tv-material = { module = "androidx.tv:tv-material", version.ref = "androidxTvMaterial" } | |
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" } | |
# 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-ui-geometry = { module = "androidx.compose.ui:ui-geometry", version.ref = "composeDefault" } | |
compose-ui-geometry-android = { module = "androidx.compose.ui:ui-geometry-android", version.ref = "composeDefault" } | |
# Compose 3-rd party | |
compose-html = { module = "com.github.ireward:compose-html", version.ref = "composeHtmlIreward" } | |
compose-scrollbar-nanihadesuka = { module = "com.github.nanihadesuka:LazyColumnScrollbar", version.ref = "composeScrollbarNanihadesuka" } | |
compose-smarttoolfactory-cropper = { module = "com.github.SmartToolFactory:Compose-Cropper", version.ref = "composeSmartToolFactoryCropper" } | |
compose-smarttoolfactory-gesture = { module = "com.github.SmartToolFactory:Compose-Extended-Gestures", version.ref = "composeSmartToolFactoryGesture" } | |
compose-haze = { module = "dev.chrisbanes.haze:haze", version.ref = "composeHaze" } | |
# 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-bom = { module = "io.insert-koin:koin-bom", version.ref = "koinBom" } | |
koin-core = { module = "io.insert-koin:koin-core" } | |
koin-android = { module = "io.insert-koin:koin-android" } | |
koin-navigation = { module = "io.insert-koin:koin-androidx-navigation" } | |
koin-compose = { module = "io.insert-koin:koin-androidx-compose" } | |
koin-annotation = { module = "io.insert-koin:koin-annotations", version.ref = "koinKsp" } | |
koin-ksp = { module = "io.insert-koin:koin-ksp-compiler", version.ref = "koinKsp" } | |
# Gradle | |
gradle-android = { module = "com.android.tools.build:gradle", version.ref = "gradle" } | |
gradle-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } | |
gradle-compose = { module = "org.jetbrains.kotlin:compose-compiler-gradle-plugin", version.ref = "kotlin" } | |
google-guava = { module = "com.google.guava:guava", version.ref = "googleGuava" } | |
google-modernstorage = { module = "com.google.modernstorage:modernstorage-photopicker", version.ref = "googleModernStorage" } | |
google-recaptcha = { module = "com.google.android.recaptcha:recaptcha", version.ref = "googleRecaptcha" } | |
google-maps-utils = { module = "com.google.maps.android:android-maps-utils", version.ref = "googleMapUtil" } | |
google-maps-compose = { module = "com.google.maps.android:maps-compose", version.ref = "googleMapCompose" } | |
google-maps-compose-utils = { module = "com.google.maps.android:maps-compose-utils", version.ref = "googleMapCompose" } | |
google-maps-compose-widgets = { module = "com.google.maps.android:maps-compose-widgets", version.ref = "googleMapCompose" } | |
# Google GMS/Google Play Services | |
google-gms-auth = { module = "com.google.android.gms:play-services-auth", version = "googleGmsAuth" } | |
google-gms-location = { module = "com.google.android.gms:play-services-location", version.ref = "googleGmsLocation" } | |
google-gms-maps = { module = "com.google.android.gms:play-services-maps", version.ref = "googleGmsMap" } | |
# 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 = "kotlinCoroutine" } | |
kotlin-coroutine-play-service = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services", version.ref = "kotlinCoroutine" } | |
# Kotlin Other | |
kotlin-collections-immuttable = { module = "org.jetbrains.kotlinx:kotlinx-collections-immutable", version.ref = "kotlinCollectionsImmutable" } | |
kotlin-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinDateTime" } | |
# 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" } | |
# 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 = "sagarCoroutinePermission" } | |
# Image loader | |
coil = { module = "io.coil-kt:coil", version.ref = "coil" } | |
coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" } | |
# 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" } | |
takt = { module = "jp.wasabeef:takt", version.ref = "takt" } | |
rebugger = { module = "io.github.theapache64:rebugger", version.ref = "rebugger" } | |
# Testing | |
# Test | |
junit = { module = "junit:junit", version.ref = "junit" } | |
coroutine-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinCoroutine" } | |
turbine = { module = "app.cash.turbine:turbine", version.ref = "turbine" } | |
mock = { module = "io.mockk:mockk", version.ref = "mockk" } | |
mock-agent = { module = "io.mockk:mockk-agent-jvm", version.ref = "mockk" } | |
# -------------------------------------------------------------------------------------------------- | |
# -------------------------------------------------------------------------------------------------- | |
# -------------------------------------------------------------------------------------------------- | |
# -------------------------------------------------------------------------------------------------- | |
# 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-core", "androidx-camera-camera2", | |
"androidx-camera-lifecycle", "androidx-camera-video", | |
"androidx-camera-view", "androidx-camera-mlkit", | |
"androidx-camera-extension", "androidx-camera-media3" | |
] | |
# AndroidX Camera Viewfinder | |
androidx-camera-viewfinder = [ | |
"androidx-camera-viewfinder-core", "androidx-camera-viewfinder-compose", | |
"androidx-camera-viewfinder-view" | |
] | |
androidx-camera-all = [ | |
"androidx-camera-core", "androidx-camera-camera2", | |
"androidx-camera-lifecycle", "androidx-camera-video", | |
"androidx-camera-view", "androidx-camera-mlkit", | |
"androidx-camera-extension", | |
# "androidx-camera-media3", | |
"androidx-camera-viewfinder-core", "androidx-camera-viewfinder-compose", | |
"androidx-camera-viewfinder-view" | |
] | |
# AndroidX Car App | |
androidx-carapp = [ | |
"androidx-carapp", | |
"androidx-carapp-automotive", #uses-sdk:minSdkVersion 27 cannot be smaller than version 29 declared in library | |
#"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-carapp-automotive | |
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 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-coroutines = [ | |
"androidx-room-ktx", "androidx-room-paging" | |
] | |
androidx-room-all = [ | |
"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-gridlayout", | |
"androidx-media3-exoplayer", | |
"androidx-percentlayout", "androidx-preference-ktx", | |
"androidx-print", "androidx-profileinstaller", | |
"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-core", "androidx-camera-camera2", | |
"androidx-camera-lifecycle", "androidx-camera-video", | |
"androidx-camera-view", "androidx-camera-mlkit", | |
"androidx-camera-extension", | |
# "androidx-camera-media3", Conflicting with other dependencies | |
# AndroidX Camera Viewfinder | |
"androidx-camera-viewfinder-core", "androidx-camera-viewfinder-compose", | |
"androidx-camera-viewfinder-view", | |
# AndroidX Car App | |
"androidx-carapp", | |
#"androidx-carapp-automotive", #uses-sdk:minSdkVersion 27 cannot be smaller than version 29 declared in library | |
#"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", | |
] | |
# -------------------------------------------------------------------------------------------------- | |
# 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-ui-geometry", "compose-ui-geometry-android" | |
] | |
# 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 Third Party | |
compose-thirdparty = [ | |
"compose-html", "compose-scrollbar-nanihadesuka", | |
"compose-smarttoolfactory-cropper", "compose-smarttoolfactory-gesture", | |
"compose-haze" | |
] | |
# 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-ui-geometry", "compose-ui-geometry-android", | |
"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-ui-geometry", "compose-ui-geometry-android", | |
"compose-material", "compose-material-icons-core", "compose-material-icons-extended", | |
"compose-material3", "compose-material3-window", | |
"androidx-graphics-core", "androidx-graphics-path", "androidx-graphics-shapes" | |
] | |
# -------------------------------------------------------------------------------------------------- | |
# 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 = [ | |
"koin-core", "koin-android", | |
"koin-navigation", "koin-compose", | |
"koin-annotation" | |
] | |
# Gradle | |
gradle = ["gradle-android", "gradle-kotlin", "gradle-compose"] | |
# -------------------------------------------------------------------------------------------------- | |
google-other = ["google-guava", "google-modernstorage", "google-recaptcha"] | |
google-maps = ["google-maps-utils", "google-maps-compose", "google-maps-compose-utils"] | |
# Google GMS/Google Play Services | |
google-gms = [ | |
"google-gms-auth", "google-gms-location", "google-gms-maps" | |
] | |
google-all = [ | |
"google-guava", "google-modernstorage", "google-recaptcha", | |
"google-maps-utils", "google-maps-compose", "google-maps-compose-utils", | |
"google-gms-auth", "google-gms-location", "google-gms-maps" | |
] | |
# -------------------------------------------------------------------------------------------------- | |
# Kotlin | |
kotlin-core = ["kotlin-stdlib", "kotlin-reflect"] | |
kotlin-coroutine = ["kotlin-coroutine-core", "kotlin-coroutine-play-service"] | |
kotlin-serialization = [ | |
"kotlin-serialization-json", "kotlin-serialization-json-retrofit-converter" | |
] | |
kotlin-module = [ | |
"kotlin-stdlib", "kotlin-reflect", | |
"kotlin-coroutine-play-service", "kotlin-coroutine-core" | |
] | |
kotlin-all = [ | |
"kotlin-stdlib", "kotlin-reflect", | |
"kotlin-coroutine-core", "kotlin-coroutine-play-service", | |
"kotlin-serialization-json", "kotlin-serialization-json-retrofit-converter", | |
"kotlin-collections-immuttable", "kotlin-datetime" | |
] | |
# -------------------------------------------------------------------------------------------------- | |
# 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"] | |
# -------------------------------------------------------------------------------------------------- | |
# Navigation | |
## Voyager | |
voyager = [ | |
"voyager-navigator", "voyager-screenModel", | |
"voyager-bottomSheetNavigator", "voyager-tabNavigator", | |
"voyager-transitions", "voyager-hilt", | |
] | |
## Compose Destinations | |
compose-destinations = ["compose-destinations", "compose-destinations-bottomsheet"] | |
# Logging | |
logging = ["slf4j-android", "takt", "rebugger"] | |
# Test | |
test = [ | |
"junit", "coroutine-test", | |
"androidx-test-ext-junit", "androidx-arch-testing", | |
"turbine", "mock", "mock-agent" | |
] | |
# -------------------------------------------------------------------------------------------------- | |
# -------------------------------------------------------------------------------------------------- | |
# -------------------------------------------------------------------------------------------------- | |
# -------------------------------------------------------------------------------------------------- | |
[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 = "googleKsp" } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment