Bug 1837323 - Update AndroidX Fragment to version 1.6.0
[gecko.git] / mobile / android / fenix / buildSrc / src / main / java / FenixDependencies.kt
blob7f89079292f1cfc81123859877b0fb9898fabfa0
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 // If you ever need to force a toolchain rebuild (taskcluster) then edit the following comment.
6 // FORCE REBUILD 2023-05-12
8 object FenixVersions {
9     const val kotlin = "1.8.21"
10     const val coroutines = "1.6.4"
11     const val python_envs_plugin = "0.0.31"
13     // These versions are linked: lint should be X+23.Y.Z of gradle_plugin version, according to:
14     // https://github.com/alexjlockwood/android-lint-checks-demo/blob/0245fc027463137b1b4afb97c5295d60dce998b6/dependencies.gradle#L3
15     const val android_gradle_plugin = "7.4.2"
16     const val android_lint_api = "30.4.2"
18     const val sentry = "6.21.0"
19     const val leakcanary = "2.11"
20     const val osslicenses_plugin = "0.10.4"
21     const val detekt = "1.23.0"
22     const val ktlint = "0.48.2"
24     const val maven_ant_tasks = "2.1.3"
25     const val jacoco = "0.8.10"
26     const val falcon = "2.2.0"
27     const val fastlane = "2.1.1"
29     const val androidx_activity = "1.7.2"
30     const val androidx_compose = "1.4.3"
31     const val androidx_compose_compiler = "1.4.7"
32     const val androidx_appcompat = "1.6.1"
33     const val androidx_benchmark = "1.1.1"
34     const val androidx_biometric = "1.1.0"
35     const val androidx_coordinator_layout = "1.2.0"
36     const val androidx_constraint_layout = "2.1.4"
37     const val androidx_preference = "1.1.1"
38     const val androidx_profileinstaller = "1.3.1"
39     const val androidx_legacy = "1.0.0"
40     const val androidx_annotation = "1.6.0"
41     const val androidx_lifecycle = "2.6.1"
42     const val androidx_fragment = "1.6.0"
43     const val androidx_navigation = "2.5.3"
44     const val androidx_recyclerview = "1.3.0"
45     const val androidx_core = "1.10.1"
46     const val androidx_paging = "3.1.1"
47     const val androidx_transition = "1.4.1"
48     const val androidx_work = "2.7.1"
49     const val androidx_datastore = "1.0.0"
50     const val androidx_datastore_preferences = "1.0.0"
51     const val google_material = "1.9.0"
52     const val google_accompanist = "0.30.1"
54     const val adjust = "4.33.0"
55     const val installreferrer = "2.2"
57     const val junit = "5.9.3"
58     const val mockk = "1.13.5"
60     const val mockwebserver = "4.11.0"
61     const val uiautomator = "2.2.0"
62     const val robolectric = "4.10.1"
64     const val google_ads_id_version = "16.0.0"
66     const val google_play_review_version = "2.0.1"
68     // keep in sync with the versions used in AS.
69     const val protobuf = "3.21.10"
70     const val protobuf_plugin = "0.9.3"
73 @Suppress("unused")
74 object FenixDependencies {
75     const val tools_androidgradle = "com.android.tools.build:gradle:${FenixVersions.android_gradle_plugin}"
76     const val tools_kotlingradle = "org.jetbrains.kotlin:kotlin-gradle-plugin:${FenixVersions.kotlin}"
77     const val tools_benchmarkgradle = "androidx.benchmark:benchmark-gradle-plugin:${FenixVersions.androidx_benchmark}"
78     const val kotlin_reflect = "org.jetbrains.kotlin:kotlin-reflect:${FenixVersions.kotlin}"
79     const val kotlin_coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${FenixVersions.coroutines}"
80     const val kotlin_coroutines_test = "org.jetbrains.kotlinx:kotlinx-coroutines-test:${FenixVersions.coroutines}"
81     const val kotlin_coroutines_android = "org.jetbrains.kotlinx:kotlinx-coroutines-android:${FenixVersions.coroutines}"
83     const val osslicenses_plugin = "com.google.android.gms:oss-licenses-plugin:${FenixVersions.osslicenses_plugin}"
85     const val sentry = "io.sentry:sentry-android:${FenixVersions.sentry}"
86     const val leakcanary = "com.squareup.leakcanary:leakcanary-android-core:${FenixVersions.leakcanary}"
88     const val androidx_compose_ui = "androidx.compose.ui:ui:${FenixVersions.androidx_compose}"
89     const val androidx_compose_ui_test = "androidx.compose.ui:ui-test-junit4:${FenixVersions.androidx_compose}"
90     const val androidx_compose_ui_test_manifest = "androidx.compose.ui:ui-test-manifest:${FenixVersions.androidx_compose}"
91     const val androidx_compose_ui_tooling = "androidx.compose.ui:ui-tooling:${FenixVersions.androidx_compose}"
92     const val androidx_compose_ui_tooling_preview = "androidx.compose.ui:ui-tooling-preview:${FenixVersions.androidx_compose}"
93     const val androidx_compose_foundation = "androidx.compose.foundation:foundation:${FenixVersions.androidx_compose}"
94     const val androidx_compose_material = "androidx.compose.material:material:${FenixVersions.androidx_compose}"
95     const val androidx_annotation = "androidx.annotation:annotation:${FenixVersions.androidx_annotation}"
96     const val androidx_benchmark_junit4 = "androidx.benchmark:benchmark-junit4:${FenixVersions.androidx_benchmark}"
97     const val androidx_benchmark_macro_junit4 = "androidx.benchmark:benchmark-macro-junit4:${FenixVersions.androidx_benchmark}"
98     const val androidx_profileinstaller = "androidx.profileinstaller:profileinstaller:${FenixVersions.androidx_profileinstaller}"
99     const val androidx_biometric = "androidx.biometric:biometric:${FenixVersions.androidx_biometric}"
100     const val androidx_fragment = "androidx.fragment:fragment-ktx:${FenixVersions.androidx_fragment}"
101     const val androidx_activity_compose = "androidx.activity:activity-compose:${FenixVersions.androidx_activity}"
102     const val androidx_activity_ktx = "androidx.activity:activity-ktx:${FenixVersions.androidx_activity}"
103     const val androidx_appcompat = "androidx.appcompat:appcompat:${FenixVersions.androidx_appcompat}"
104     const val androidx_coordinatorlayout = "androidx.coordinatorlayout:coordinatorlayout:${FenixVersions.androidx_coordinator_layout}"
105     const val androidx_constraintlayout = "androidx.constraintlayout:constraintlayout:${FenixVersions.androidx_constraint_layout}"
106     const val androidx_legacy = "androidx.legacy:legacy-support-v4:${FenixVersions.androidx_legacy}"
107     const val androidx_lifecycle_common = "androidx.lifecycle:lifecycle-common:${FenixVersions.androidx_lifecycle}"
108     const val androidx_lifecycle_livedata = "androidx.lifecycle:lifecycle-livedata-ktx:${FenixVersions.androidx_lifecycle}"
109     const val androidx_lifecycle_process = "androidx.lifecycle:lifecycle-process:${FenixVersions.androidx_lifecycle}"
110     const val androidx_lifecycle_viewmodel = "androidx.lifecycle:lifecycle-viewmodel-ktx:${FenixVersions.androidx_lifecycle}"
111     const val androidx_lifecycle_runtime = "androidx.lifecycle:lifecycle-runtime-ktx:${FenixVersions.androidx_lifecycle}"
112     const val androidx_paging = "androidx.paging:paging-runtime-ktx:${FenixVersions.androidx_paging}"
113     const val androidx_preference = "androidx.preference:preference-ktx:${FenixVersions.androidx_preference}"
114     const val androidx_safeargs = "androidx.navigation:navigation-safe-args-gradle-plugin:${FenixVersions.androidx_navigation}"
115     const val androidx_navigation_fragment = "androidx.navigation:navigation-fragment-ktx:${FenixVersions.androidx_navigation}"
116     const val androidx_navigation_ui = "androidx.navigation:navigation-ui:${FenixVersions.androidx_navigation}"
117     const val androidx_recyclerview = "androidx.recyclerview:recyclerview:${FenixVersions.androidx_recyclerview}"
118     const val androidx_core = "androidx.core:core:${FenixVersions.androidx_core}"
119     const val androidx_core_ktx = "androidx.core:core-ktx:${FenixVersions.androidx_core}"
120     const val androidx_transition = "androidx.transition:transition:${FenixVersions.androidx_transition}"
121     const val androidx_work_ktx = "androidx.work:work-runtime-ktx:${FenixVersions.androidx_work}"
122     const val androidx_work_testing = "androidx.work:work-testing:${FenixVersions.androidx_work}"
123     const val androidx_datastore = "androidx.datastore:datastore:${FenixVersions.androidx_datastore}"
124     const val androidx_data_store_preferences = "androidx.datastore:datastore-preferences:${FenixVersions.androidx_datastore_preferences}"
126     const val google_material = "com.google.android.material:material:${FenixVersions.google_material}"
127     const val google_accompanist_drawablepainter = "com.google.accompanist:accompanist-drawablepainter:${FenixVersions.google_accompanist}"
129     const val protobuf_javalite = "com.google.protobuf:protobuf-javalite:${FenixVersions.protobuf}"
130     const val protobuf_compiler = "com.google.protobuf:protoc:${FenixVersions.protobuf}"
132     const val adjust = "com.adjust.sdk:adjust-android:${FenixVersions.adjust}"
133     const val installreferrer = "com.android.installreferrer:installreferrer:${FenixVersions.installreferrer}"
135     const val junit = "junit:junit:${FenixVersions.junit}"
136     const val mockk = "io.mockk:mockk:${FenixVersions.mockk}"
137     const val mockk_android = "io.mockk:mockk-android:${FenixVersions.mockk}"
138     const val maven_ant_tasks = "org.apache.maven:maven-ant-tasks:${FenixVersions.maven_ant_tasks}"
139     const val falcon = "com.jraska:falcon:${FenixVersions.falcon}"
140     const val fastlane = "tools.fastlane:screengrab:${FenixVersions.fastlane}"
142     // --- START AndroidX test dependencies --- //
143     // N.B.: the versions of these dependencies appear to be pinned together. To avoid bugs, they
144     // should always be updated together based on the latest version from the Android test releases page:
145     //   https://developer.android.com/jetpack/androidx/releases/test
146     // For the full IDs of these test dependencies, see:
147     //   https://developer.android.com/training/testing/set-up-project#android-test-dependencies
148     private const val androidx_test_shared_version = "1.5.0"
149     private const val androidx_test_junit = "1.1.5"
150     private const val androidx_test_orchestrator = "1.4.2"
151     private const val androidx_test_runner = "1.5.2"
152     const val androidx_test_core = "androidx.test:core:$androidx_test_shared_version"
153     private const val androidx_espresso_version = "3.5.1"
154     const val espresso_core = "androidx.test.espresso:espresso-core:$androidx_espresso_version"
155     const val espresso_contrib = "androidx.test.espresso:espresso-contrib:$androidx_espresso_version"
156     const val espresso_idling_resources = "androidx.test.espresso:espresso-idling-resource:$androidx_espresso_version"
157     const val espresso_intents = "androidx.test.espresso:espresso-intents:$androidx_espresso_version"
158     const val androidx_junit = "androidx.test.ext:junit:$androidx_test_junit"
159     const val androidx_test_extensions = "androidx.test.ext:junit-ktx:$androidx_test_junit"
160     // Monitor is unused
161     const val orchestrator = "androidx.test:orchestrator:$androidx_test_orchestrator"
162     const val tools_test_runner = "androidx.test:runner:$androidx_test_runner"
163     const val tools_test_rules = "androidx.test:rules:$androidx_test_shared_version"
164     // Truth is unused
165     // Test services is unused
166     // --- END AndroidX test dependencies --- //
168     const val mockwebserver = "com.squareup.okhttp3:mockwebserver:${FenixVersions.mockwebserver}"
169     const val uiautomator = "androidx.test.uiautomator:uiautomator:${FenixVersions.uiautomator}"
170     const val robolectric = "org.robolectric:robolectric:${FenixVersions.robolectric}"
172     const val google_ads_id = "com.google.android.gms:play-services-ads-identifier:${FenixVersions.google_ads_id_version}"
174     // Required for in-app reviews
175     const val google_play_review = "com.google.android.play:review:${FenixVersions.google_play_review_version}"
176     const val google_play_review_ktx = "com.google.android.play:review-ktx:${FenixVersions.google_play_review_version}"
178     const val detektApi = "io.gitlab.arturbosch.detekt:detekt-api:${FenixVersions.detekt}"
179     const val detektTest = "io.gitlab.arturbosch.detekt:detekt-test:${FenixVersions.detekt}"
180     const val junitApi = "org.junit.jupiter:junit-jupiter-api:${FenixVersions.junit}"
181     const val junitParams = "org.junit.jupiter:junit-jupiter-params:${FenixVersions.junit}"
182     const val junitEngine = "org.junit.jupiter:junit-jupiter-engine:${FenixVersions.junit}"
186  * Functionality to limit specific dependencies to specific repositories. These are typically expected to be used by
187  * dependency group name (i.e. with `include/excludeGroup`). For additional info, see:
188  * https://docs.gradle.org/current/userguide/declaring_repositories.html#sec::matching_repositories_to_dependencies
190  * Note: I wanted to nest this in Deps but for some reason gradle can't find it so it's top-level now. :|
191  */
192 object RepoMatching {
193     const val mozilla = "org\\.mozilla\\..*"
194     const val androidx = "androidx\\..*"
195     const val comAndroid = "com\\.android.*"
196     const val comGoogle = "com\\.google\\..*"