Last active
November 6, 2025 19:27
-
-
Save Velord/ae38280e421057c9def62b591d46c352 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 = "36" | |
| # Build | |
| buildTools = "30.0.3" | |
| gradle = "8.13.0" | |
| jvmTarget = "24" | |
| jetifier = "1.0.0-beta10" | |
| # DI | |
| dagger = "2.57.2" | |
| hilt = "2.57.2" | |
| hiltNavigation = "1.3.0" | |
| hiltNavigationCompose = "1.3.0" | |
| koinBom = "4.1.0" | |
| koinKsp = "2.1.0" | |
| # Google Firebase | |
| googleFirebaseBom = "34.5.0" | |
| googleFirebaseCrashlyticPlugin = "3.0.6" | |
| # Google Other | |
| googleGuava = "33.5.0-android" | |
| googleKsp = "2.2.20-2.0.3" | |
| googleMapCompose = "6.12.1" | |
| googleMapUtil = "3.19.1" | |
| googleModernStorage = "1.0.0-alpha06" | |
| googleRecaptcha = "18.7.1" # 18.8.0 requires core library desugaring to be enabled | |
| googlePayCompose = "1.1.0" | |
| googleWalletCompose = "0.1.0-beta01" | |
| # Google GMS/Google Play Services | |
| googleGmsAppSet = "16.1.0" | |
| googleGmsAuth = "21.4.0" | |
| googleGmsAuthApiPhone = "18.3.0" | |
| googleGmsBase = "18.9.0" | |
| googleGmsLocation = "21.3.0" | |
| googleGmsMap = "19.2.0" | |
| googleGmsMlKit = "19.0.1" | |
| googleGmsVision = "20.1.3" | |
| googleGmsServicesPlugin = "4.4.4" | |
| googleGmsWallet = "19.5.0" | |
| # Kotlin | |
| kotlin = "2.2.21" | |
| kotlinCoroutine = "1.10.2" | |
| kotlinCollectionsImmutable = "0.4.0" | |
| kotlinDateTime = "0.7.1" | |
| # Kotlin Json Serialization | |
| kotlinJsonSerialization = "1.9.0" | |
| kotlinJsonSerializationRetrofitConverter = "1.0.0" | |
| ## Android | |
| androidInstallReferrer = "2.2" | |
| # AndroidX | |
| ## A | |
| androidxActivity = "1.11.0" | |
| androidxAds = "1.0.0-alpha05" | |
| androidxAnnotation = "1.9.1" | |
| androidxAppCompat = "1.7.1" | |
| androidxAppSearch = "1.1.0" | |
| androidxArchCore = "2.2.0" | |
| androidxAsyncLayoutInflater = "1.1.0" | |
| androidxAutoFill = "1.3.0" | |
| ## B | |
| androidxBenchmark = "1.4.1" | |
| androidxBiometric = "1.1.0" | |
| androidxBluetooth = "1.0.0-alpha02" | |
| androidxBrowser = "1.9.0" | |
| ## Camera | |
| androidxCamera = "1.5.1" | |
| androidxCameraMedia3 = "1.0.0-alpha04" | |
| androidxCameraViewFinder = "1.5.1" | |
| ## C | |
| androidxCarApp = "1.7.0" | |
| androidXCardView = "1.0.0" | |
| androidxCollection = "1.5.0" | |
| androidxConcurrent = "1.3.0" | |
| ## AndroidX Constraint | |
| androidxConstraint = "2.2.1" | |
| androidxConstraintCompose = "1.1.1" | |
| ## C | |
| androidxContentPager = "1.0.0" | |
| androidxCoordinatorLayout = "1.3.0" | |
| ## Core | |
| androidxCore = "1.17.0" | |
| androidxCoreAnimation = "1.0.0" | |
| androidxCoreGoogleShortcuts = "1.1.0" | |
| androidxCorePerformance = "1.0.0" | |
| androidxCoreRomoteViews = "1.1.0" | |
| androidxCoreRole = "1.1.0" | |
| androidxCoreSplashScreen = "1.2.0" | |
| androidxCoreUWB = "1.0.0-alpha10" | |
| ## C | |
| androidxCredentials = "1.5.0" | |
| androidxCursorAdapter = "1.0.0" | |
| # AndroidX CustomView | |
| androidxCustomView = "1.2.0" | |
| androidxCustomViewPollingContainer = "1.1.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.7" | |
| androidxDocumentFile = "1.1.0" | |
| androidxDragAndDrop = "1.0.0" | |
| androidxDrawerLayout = "1.2.0" | |
| androidxDynamicAnimation = "1.1.0" | |
| ## Emoji | |
| androidxEmoji = "1.1.0" | |
| androidxEmoji2 = "1.6.0" | |
| ## E | |
| androidxEnterprise = "1.1.0" | |
| androidxExifInterface = "1.4.1" | |
| androidxFragment = "1.8.9" | |
| ## Games | |
| androidxGamesActivity = "4.0.0" | |
| androidxGamesController = "2.0.2" | |
| androidxGamesFramePacing = "2.1.3" | |
| androidxGamesMemoryAdvice = "2.0.1" | |
| androidxGamesTextInput = "4.0.0" | |
| androidxGamesPerformanceTuner = "2.0.0" | |
| ## Glance | |
| androidxGlance = "1.1.1" # For Glance, AppWidgets | |
| androidxGlanceWearTiles = "1.0.0-alpha07" | |
| ## Graphics | |
| androidxGraphicsCore = "1.0.3" | |
| androidxGraphicsPath = "1.0.1" | |
| androidxGraphicsShapes = "1.1.0" | |
| ## G | |
| androidxGridlayout = "1.1.0" | |
| ## L | |
| androidxLegacySupport = "1.0.0" | |
| androidxLifecycle = "2.9.4" | |
| ## M | |
| androidxMedia3 = "1.8.0" | |
| ## N | |
| androidxNavigation = "2.9.6" | |
| ## AndroidX Paging | |
| androidxPaging = "3.3.6" | |
| androidxPagingCompose = "3.3.6" | |
| ## P | |
| androidxPalette = "1.0.0" # There are no release notes for this artifact. | |
| androidxPercentLayout = "1.0.0" | |
| androidxPreference = "1.2.1" | |
| androidxPrint = "1.1.0" | |
| ## Privacy Sandbox | |
| androidxPrivacySandboxActivity = "1.0.0-alpha01" | |
| androidxPrivacySandboxAds = "1.1.0-beta12" | |
| androidxPrivacySandboxPlugins = "1.0.0-alpha02" | |
| androidxPrivacySandboxSdkRuntime = "1.0.0-alpha18" | |
| androidxPrivacySandboxTools = "1.0.0-alpha13" | |
| androidxPrivacySandboxUi = "1.0.0-alpha16" | |
| ## P | |
| androidxProfileInstaller = "1.4.1" | |
| ## R | |
| androidxRecommendation = "1.0.0" | |
| ## Recycler View | |
| androidxRecyclerView = "1.4.0" | |
| androidxRecyclerViewSelection = "1.2.0" | |
| ## R | |
| androidxRemoteCallback = "1.0.0-alpha02" | |
| androidxResourceInspection = "1.0.1" | |
| androidxRoom = "2.8.3" | |
| ## S | |
| androidxSavedState = "1.4.0" | |
| ## Security | |
| androidxSecurityCrypto = "1.1.0" | |
| androidxSecurityAppAuthenticator = "1.0.0" | |
| 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.6.1" | |
| androidxStartup = "1.2.0" | |
| androidxSwipeRefreshLayout = "1.1.0" | |
| ## T | |
| ## Test | |
| androidxTestAnnotation = "1.0.1" | |
| androidxTestCore = "1.7.0" | |
| androidxTestEspresso = "3.7.0" | |
| androidxTestEspressoDevice = "1.1.0" | |
| androidxTestExtJunit = "1.3.0" | |
| androidxTestExtJunitGtest = "1.0.0-alpha02" | |
| androidxTestExtTruth = "1.7.0" | |
| androidxTestMonitor = "1.8.0" | |
| androidxTestOrchestrator = "1.6.1" | |
| androidxTestRunner = "1.7.0" | |
| androidxTestRules = "1.7.0" | |
| androidxTestServices = "1.6.0" | |
| androidxTestUiAutomator = "2.3.0" | |
| ## T | |
| androidxTextClassifier = "1.0.0-alpha04" | |
| androidxTracing = "1.3.0" | |
| androidxTransition = "1.6.0" | |
| ## TV | |
| androidxTvFoundation = "1.0.0-alpha12" | |
| androidxTvMaterial = "1.1.0-alpha01" | |
| androidxTvProvider = "1.1.0" | |
| ## 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.2.0" # For Input, Input Testing | |
| androidxWearOngoing = "1.1.0" | |
| androidxWearPhone = "1.1.0" | |
| androidxWearRemote = "1.1.0" | |
| androidxWearCompose = "1.5.5" | |
| androidxWearProtoLayout = "1.3.0" | |
| androidxWearTiles = "1.5.0" | |
| androidxWearWatchface = "1.2.1" | |
| ## W | |
| androidxWebkit = "1.14.0" | |
| ## Window | |
| androidxWindow = "1.5.0" | |
| androidxWindowExtension = "1.0.0" | |
| ## W | |
| androidxWorkManager = "2.11.0" | |
| # Network | |
| squareRetrofit = "3.0.0" | |
| squareOkhttp3Interceptor = "5.3.0" | |
| ktor = "3.3.2" | |
| # Compose | |
| composeDefault = "1.9.4" # Foundation, Material, Animation, Ui, UiTooling, Runtime | |
| composeIcon = "1.7.8" | |
| composeAccompanist = "0.37.3" | |
| # composeCompiler = "1.5.14" | |
| composeMaterial3 = "1.4.0" | |
| # Compose 3-rd party | |
| composeHtmlIreward = "1.0.2" | |
| composeScrollbarNanihadesuka = "2.2.0" | |
| composeSmartToolFactoryCropper = "0.4.0" | |
| composeSmartToolFactoryGesture = "3.0.0" | |
| composeHaze = "1.6.10" | |
| # Image loader | |
| coil = "3.3.0" | |
| # Permission | |
| sagarCoroutinePermission = "2.0.3" | |
| accompanistPermission = "0.37.2" | |
| # Navigation | |
| composeDestinations = "2.3.0" | |
| voyager = "1.1.0-beta03" | |
| velordMultipleBackstack = "0.5.9.1" | |
| # Logging | |
| slf4j = "1.7.36" | |
| takt = "2.1.1" | |
| rebugger = "1.0.1" | |
| # Testing | |
| junit = "4.13.2" | |
| mockk = "1.14.6" | |
| turbine = "1.2.1" | |
| # -------------------------------------------------------------------------------------------------- | |
| # -------------------------------------------------------------------------------------------------- | |
| # -------------------------------------------------------------------------------------------------- | |
| # -------------------------------------------------------------------------------------------------- | |
| [libraries] | |
| # Android ----------------------------------------------------------------------------------------- | |
| # --------------------------------------------------------------------------------------------------- | |
| android-install-referrer = { module = "com.android.installreferrer:installreferrer", version.ref = "androidInstallReferrer" } | |
| # 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-drawable = { module = "com.google.accompanist:accompanist-drawablepainter", version.ref = "composeAccompanist" } | |
| compose-accompanist-permission = { module = "com.google.accompanist:accompanist-permissions", 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 = "composeIcon" } | |
| compose-material-icons-extended = { module = "androidx.compose.material:material-icons-extended", version.ref = "composeIcon" } | |
| # 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 Firebase ----------------------------------------------------------------------------------- | |
| google-firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "googleFirebaseBom" } | |
| google-firebase-messaging = { module = "com.google.firebase:firebase-messaging" } | |
| google-firebase-crashlytic = { module = "com.google.firebase:firebase-crashlytics" } | |
| google-firebase-analytic = { module = "com.google.firebase:firebase-analytics" } | |
| # Google Other ------------------------------------------------------------------------------------ | |
| google-guava = { module = "com.google.guava:guava", version.ref = "googleGuava" } | |
| google-modernstorage = { module = "com.google.modernstorage:modernstorage-photopicker", version.ref = "googleModernStorage" } | |
| 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-recaptcha = { module = "com.google.android.recaptcha:recaptcha", version.ref = "googleRecaptcha" } | |
| google-wallet-compose = { module = "com.google.wallet.button:compose-wallet-button", version.ref = "googleWalletCompose" } | |
| google-pay-compose = { module = "com.google.pay.button:compose-pay-button", version.ref = "googlePayCompose" } | |
| # Google GMS/Google Play Services | |
| google-gms-appset = { module = "com.google.android.gms:play-services-appset", version.ref = "googleGmsAppSet" } | |
| google-gms-auth = { module = "com.google.android.gms:play-services-auth", version = "googleGmsAuth" } | |
| google-gms-auth-api-phone = { module = "com.google.android.gms:play-services-auth-api-phone", version.ref = "googleGmsAuthApiPhone" } | |
| google-gms-base = { module = "com.google.android.gms:play-services-base", version.ref = "googleGmsBase" } | |
| 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" } | |
| google-gms-mlkit = { module = "com.google.android.gms:play-services-mlkit-text-recognition", version.ref = "googleGmsMlKit" } | |
| gogle-gms-vision = { module = "com.google.android.gms:play-services-vision", version.ref = "googleGmsVision" } | |
| google-gms-wallet = { module = "com.google.android.gms:play-services-wallet", version.ref = "googleGmsWallet" } | |
| # 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-network-ktor3 = { module = "io.coil-kt.coil3:coil-network-ktor3", version.ref = "coil" } | |
| coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" } | |
| coil-gif = { module = "io.coil-kt.coil3:coil-gif", 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] | |
| # Android | |
| android-all = [ "android-install-referrer" ] | |
| # -------------------------------------------------------------------------------------------------- | |
| # 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-all = [ | |
| "compose-accompanist-drawable", | |
| "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-drawable", | |
| "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-drawable", | |
| "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-firebase = [ | |
| "google-firebase-analytic", "google-firebase-crashlytic", "google-firebase-messaging" | |
| ] | |
| google-other = ["google-guava", "google-modernstorage", "google-recaptcha"] | |
| google-maps = [ | |
| "google-maps-utils", "google-maps-compose", | |
| "google-maps-compose-utils", "google-maps-compose-widgets" | |
| ] | |
| # Google GMS/Google Play Services | |
| google-gms = [ | |
| "google-gms-appset", "google-gms-auth", "google-gms-auth-api-phone", | |
| "google-gms-base", "google-gms-location", "google-gms-maps", | |
| "google-gms-mlkit", "gogle-gms-vision", | |
| "google-gms-wallet", | |
| ] | |
| google-wallet = ["google-wallet-compose", "google-pay-compose"] | |
| google-all = [ | |
| "google-guava", "google-modernstorage", "google-recaptcha", | |
| "google-maps-utils", "google-maps-compose", | |
| "google-maps-compose-utils", "google-maps-compose-widgets", | |
| "google-gms-appset", "google-gms-auth", "google-gms-auth-api-phone", | |
| "google-gms-base", "google-gms-location", "google-gms-maps", | |
| "google-gms-mlkit", "gogle-gms-vision", | |
| "google-gms-wallet", | |
| "google-wallet-compose", "google-pay-compose" | |
| ] | |
| # -------------------------------------------------------------------------------------------------- | |
| # 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", | |
| "ktor-client-auth", "slf4j-android" | |
| ] | |
| # Image Loader | |
| coil = ["coil-network-ktor3", "coil-compose", "coil-gif"] | |
| # -------------------------------------------------------------------------------------------------- | |
| # 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" } | |
| google-firebase-crashlytic = { id = "com.google.firebase.crashlytics", version.ref = "googleFirebaseCrashlyticPlugin" } | |
| google-gms-services = { id = "com.google.gms.google-services", version.ref = "googleGmsServicesPlugin" } | |
| # Convention Plugin | |
| convention-application = { id = "" } |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Revision 4 may be used with Android Studio Giraffe Beta 5 2022.3.1