Bug 1837107 - Unify FenixDependencies with AC's DependenciesPlugin

fenix/116.0
Gabriel Luong 11 months ago committed by mergify[bot]
parent 144abb235c
commit 584ffcff9d

@ -248,7 +248,7 @@ android {
}
composeOptions {
kotlinCompilerExtensionVersion = FenixVersions.androidx_compose_compiler
kotlinCompilerExtensionVersion = Versions.compose_compiler
}
namespace 'org.mozilla.fenix'
@ -483,15 +483,14 @@ tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
dependencies {
implementation project(':browser-engine-gecko')
implementation FenixDependencies.kotlin_coroutines
implementation FenixDependencies.kotlin_coroutines_android
testImplementation FenixDependencies.kotlin_coroutines_test
implementation FenixDependencies.androidx_appcompat
implementation FenixDependencies.androidx_constraintlayout
implementation FenixDependencies.androidx_coordinatorlayout
implementation ComponentsDependencies.kotlin_coroutines
testImplementation ComponentsDependencies.testing_coroutines
implementation ComponentsDependencies.androidx_appcompat
implementation ComponentsDependencies.androidx_constraintlayout
implementation ComponentsDependencies.androidx_coordinatorlayout
implementation FenixDependencies.google_accompanist_drawablepainter
implementation FenixDependencies.sentry
implementation ComponentsDependencies.thirdparty_sentry_latest
implementation project(':compose-awesomebar')
implementation project(':compose-cfr')
@ -582,38 +581,38 @@ dependencies {
implementation project(':lib-state')
implementation project(':lib-dataprotect')
debugImplementation FenixDependencies.leakcanary
debugImplementation FenixDependencies.androidx_compose_ui_tooling
debugImplementation ComponentsDependencies.leakcanary
debugImplementation ComponentsDependencies.androidx_compose_ui_tooling
implementation FenixDependencies.androidx_activity_compose
implementation ComponentsDependencies.androidx_activity_compose
implementation FenixDependencies.androidx_activity_ktx
implementation FenixDependencies.androidx_annotation
implementation FenixDependencies.androidx_compose_ui
implementation FenixDependencies.androidx_compose_ui_tooling_preview
implementation FenixDependencies.androidx_compose_foundation
implementation FenixDependencies.androidx_compose_material
implementation ComponentsDependencies.androidx_annotation
implementation ComponentsDependencies.androidx_compose_ui
implementation ComponentsDependencies.androidx_compose_ui_tooling_preview
implementation ComponentsDependencies.androidx_compose_foundation
implementation ComponentsDependencies.androidx_compose_material
implementation FenixDependencies.androidx_legacy
implementation FenixDependencies.androidx_biometric
implementation ComponentsDependencies.androidx_biometric
implementation FenixDependencies.androidx_paging
implementation FenixDependencies.androidx_preference
implementation FenixDependencies.androidx_fragment
implementation ComponentsDependencies.androidx_preferences
implementation ComponentsDependencies.androidx_fragment
implementation FenixDependencies.androidx_navigation_fragment
implementation FenixDependencies.androidx_navigation_ui
implementation FenixDependencies.androidx_recyclerview
implementation ComponentsDependencies.androidx_recyclerview
implementation FenixDependencies.androidx_lifecycle_common
implementation FenixDependencies.androidx_lifecycle_livedata
implementation FenixDependencies.androidx_lifecycle_process
implementation FenixDependencies.androidx_lifecycle_runtime
implementation ComponentsDependencies.androidx_lifecycle_livedata
implementation ComponentsDependencies.androidx_lifecycle_process
implementation ComponentsDependencies.androidx_lifecycle_runtime
implementation FenixDependencies.androidx_lifecycle_viewmodel
implementation FenixDependencies.androidx_core
implementation FenixDependencies.androidx_core_ktx
implementation ComponentsDependencies.androidx_lifecycle_viewmodel
implementation ComponentsDependencies.androidx_core
implementation ComponentsDependencies.androidx_core_ktx
implementation FenixDependencies.androidx_transition
implementation FenixDependencies.androidx_work_ktx
implementation ComponentsDependencies.androidx_work_runtime
implementation FenixDependencies.androidx_datastore
implementation FenixDependencies.androidx_data_store_preferences
implementation ComponentsDependencies.androidx_data_store_preferences
implementation FenixDependencies.protobuf_javalite
implementation FenixDependencies.google_material
implementation ComponentsDependencies.google_material
implementation FenixDependencies.adjust
implementation FenixDependencies.installreferrer // Required by Adjust
@ -626,14 +625,14 @@ dependencies {
implementation FenixDependencies.androidx_profileinstaller
androidTestImplementation FenixDependencies.uiautomator
androidTestImplementation ComponentsDependencies.androidx_test_uiautomator
androidTestImplementation FenixDependencies.fastlane
// This Falcon version is added to maven central now required for Screengrab
androidTestImplementation FenixDependencies.falcon
androidTestImplementation FenixDependencies.androidx_compose_ui_test
androidTestImplementation ComponentsDependencies.androidx_compose_ui_test
androidTestImplementation FenixDependencies.espresso_core, {
androidTestImplementation ComponentsDependencies.androidx_espresso_core, {
exclude group: 'com.android.support', module: 'support-annotations'
}
@ -647,32 +646,30 @@ dependencies {
exclude module: 'protobuf-lite'
}
androidTestImplementation FenixDependencies.androidx_test_core
androidTestImplementation ComponentsDependencies.androidx_test_core
androidTestImplementation FenixDependencies.espresso_idling_resources
androidTestImplementation FenixDependencies.espresso_intents
androidTestImplementation FenixDependencies.tools_test_runner
androidTestImplementation FenixDependencies.tools_test_rules
androidTestImplementation ComponentsDependencies.androidx_test_runner
androidTestImplementation ComponentsDependencies.androidx_test_rules
androidTestUtil FenixDependencies.orchestrator
androidTestImplementation FenixDependencies.espresso_core, {
androidTestImplementation ComponentsDependencies.androidx_espresso_core, {
exclude group: 'com.android.support', module: 'support-annotations'
}
androidTestImplementation FenixDependencies.androidx_junit
androidTestImplementation FenixDependencies.androidx_test_extensions
androidTestImplementation FenixDependencies.androidx_work_testing
androidTestImplementation ComponentsDependencies.androidx_test_junit
androidTestImplementation ComponentsDependencies.androidx_work_testing
androidTestImplementation FenixDependencies.androidx_benchmark_junit4
androidTestImplementation FenixDependencies.mockwebserver
testImplementation project(':support-test')
testImplementation project(':support-test-libstate')
testImplementation FenixDependencies.androidx_junit
testImplementation FenixDependencies.androidx_test_extensions
testImplementation FenixDependencies.androidx_work_testing
testImplementation (FenixDependencies.robolectric) {
testImplementation ComponentsDependencies.androidx_test_junit
testImplementation ComponentsDependencies.androidx_work_testing
testImplementation (ComponentsDependencies.testing_robolectric) {
exclude group: 'org.apache.maven'
}
testImplementation FenixDependencies.maven_ant_tasks
testImplementation ComponentsDependencies.testing_maven_ant_tasks
implementation project(':support-rusthttp')
androidTestImplementation FenixDependencies.mockk_android
@ -711,7 +708,7 @@ if (project.hasProperty("coverage")) {
}
jacoco {
toolVersion = FenixVersions.jacoco
toolVersion = Versions.jacoco
}
android.applicationVariants.all { variant ->

@ -57,9 +57,9 @@ configurations.all {
}
dependencies {
implementation FenixDependencies.androidx_junit
implementation FenixDependencies.espresso_core
implementation FenixDependencies.uiautomator
implementation ComponentsDependencies.androidx_test_junit
implementation ComponentsDependencies.androidx_espresso_core
implementation ComponentsDependencies.androidx_test_uiautomator
implementation FenixDependencies.androidx_benchmark_macro_junit4
}

@ -70,8 +70,8 @@ buildscript {
}
dependencies {
classpath FenixDependencies.tools_androidgradle
classpath FenixDependencies.tools_kotlingradle
classpath ComponentsDependencies.tools_androidgradle
classpath ComponentsDependencies.tools_kotlingradle
classpath FenixDependencies.tools_benchmarkgradle
classpath FenixDependencies.androidx_safeargs
classpath FenixDependencies.osslicenses_plugin
@ -85,9 +85,9 @@ buildscript {
// Variables in plugins {} aren't directly supported. Hack around it by setting an
// intermediate variable which can pull from FenixDependenciesPlugin.kt and be used later.
ext {
detekt_plugin = FenixVersions.detekt
detekt_plugin = Versions.detekt
protobuf_plugin = FenixVersions.protobuf_plugin
python_envs_plugin = FenixVersions.python_envs_plugin
python_envs_plugin = Versions.python_envs_plugin
}
}
@ -217,14 +217,14 @@ configurations {
}
dependencies {
ktlint("com.pinterest:ktlint:${FenixVersions.ktlint}") {
ktlint("com.pinterest:ktlint:${Versions.ktlint}") {
attributes {
attribute(Bundling.BUNDLING_ATTRIBUTE, getObjects().named(Bundling, Bundling.EXTERNAL))
}
}
detekt project(":mozilla-detekt-rules")
detekt "io.gitlab.arturbosch.detekt:detekt-cli:${FenixVersions.detekt}"
detekt "io.gitlab.arturbosch.detekt:detekt-cli:${Versions.detekt}"
}
tasks.register('ktlint', JavaExec) {

@ -1,11 +1,11 @@
apply plugin: 'kotlin'
dependencies {
compileOnly FenixDependencies.detektApi
implementation FenixDependencies.androidx_annotation
compileOnly ComponentsDependencies.tools_detekt_api
implementation ComponentsDependencies.androidx_annotation
testImplementation FenixDependencies.detektApi
testImplementation FenixDependencies.detektTest
testImplementation ComponentsDependencies.tools_detekt_api
testImplementation ComponentsDependencies.tools_detekt_test
testImplementation FenixDependencies.junitApi
testImplementation FenixDependencies.junitParams
testRuntimeOnly FenixDependencies.junitEngine

@ -21,12 +21,12 @@ repositories {
}
dependencies {
compileOnly "com.android.tools.lint:lint-api:${FenixVersions.android_lint_api}"
compileOnly "com.android.tools.lint:lint-checks:${FenixVersions.android_lint_api}"
compileOnly "com.android.tools.lint:lint-api:${Versions.lint}"
compileOnly "com.android.tools.lint:lint-checks:${Versions.lint}"
testImplementation "junit:junit:4.13.2"
testImplementation "com.android.tools.lint:lint:${FenixVersions.android_lint_api}"
testImplementation "com.android.tools.lint:lint-tests:${FenixVersions.android_lint_api}"
testImplementation "com.android.tools.lint:lint:${Versions.lint}"
testImplementation "com.android.tools.lint:lint-tests:${Versions.lint}"
}
jar {

@ -13,49 +13,20 @@ class FenixDependenciesPlugin : Plugin<Settings> {
}
object FenixVersions {
const val kotlin = "1.8.21"
const val coroutines = "1.7.1"
const val python_envs_plugin = "0.0.31"
// These versions are linked: lint should be X+23.Y.Z of gradle_plugin version, according to:
// https://github.com/alexjlockwood/android-lint-checks-demo/blob/0245fc027463137b1b4afb97c5295d60dce998b6/dependencies.gradle#L3
const val android_gradle_plugin = "7.4.2"
const val android_lint_api = "30.4.2"
const val sentry = "6.21.0"
const val leakcanary = "2.11"
const val osslicenses_plugin = "0.10.4"
const val detekt = "1.23.0"
const val ktlint = "0.48.2"
const val maven_ant_tasks = "2.1.3"
const val jacoco = "0.8.10"
const val falcon = "2.2.0"
const val fastlane = "2.1.1"
const val androidx_activity = "1.7.2"
const val androidx_compose = "1.4.3"
const val androidx_compose_compiler = "1.4.7"
const val androidx_appcompat = "1.6.1"
const val androidx_benchmark = "1.1.1"
const val androidx_biometric = "1.1.0"
const val androidx_coordinator_layout = "1.2.0"
const val androidx_constraint_layout = "2.1.4"
const val androidx_preference = "1.1.1"
const val androidx_profileinstaller = "1.3.1"
const val androidx_legacy = "1.0.0"
const val androidx_annotation = "1.6.0"
const val androidx_lifecycle = "2.6.1"
const val androidx_fragment = "1.6.0"
const val androidx_navigation = "2.5.3"
const val androidx_recyclerview = "1.3.0"
const val androidx_core = "1.10.1"
const val androidx_paging = "3.1.1"
const val androidx_transition = "1.4.1"
const val androidx_work = "2.7.1"
const val androidx_datastore = "1.0.0"
const val androidx_datastore_preferences = "1.0.0"
const val google_material = "1.9.0"
const val google_accompanist = "0.30.1"
const val adjust = "4.33.0"
@ -65,8 +36,6 @@ object FenixVersions {
const val mockk = "1.13.5"
const val mockwebserver = "4.11.0"
const val uiautomator = "2.2.0"
const val robolectric = "4.10.1"
const val google_ads_id_version = "16.0.0"
@ -79,58 +48,23 @@ object FenixVersions {
@Suppress("unused")
object FenixDependencies {
const val tools_androidgradle = "com.android.tools.build:gradle:${FenixVersions.android_gradle_plugin}"
const val tools_kotlingradle = "org.jetbrains.kotlin:kotlin-gradle-plugin:${FenixVersions.kotlin}"
const val tools_benchmarkgradle = "androidx.benchmark:benchmark-gradle-plugin:${FenixVersions.androidx_benchmark}"
const val kotlin_reflect = "org.jetbrains.kotlin:kotlin-reflect:${FenixVersions.kotlin}"
const val kotlin_coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${FenixVersions.coroutines}"
const val kotlin_coroutines_test = "org.jetbrains.kotlinx:kotlinx-coroutines-test:${FenixVersions.coroutines}"
const val kotlin_coroutines_android = "org.jetbrains.kotlinx:kotlinx-coroutines-android:${FenixVersions.coroutines}"
const val osslicenses_plugin = "com.google.android.gms:oss-licenses-plugin:${FenixVersions.osslicenses_plugin}"
const val sentry = "io.sentry:sentry-android:${FenixVersions.sentry}"
const val leakcanary = "com.squareup.leakcanary:leakcanary-android-core:${FenixVersions.leakcanary}"
const val androidx_compose_ui = "androidx.compose.ui:ui:${FenixVersions.androidx_compose}"
const val androidx_compose_ui_test = "androidx.compose.ui:ui-test-junit4:${FenixVersions.androidx_compose}"
const val androidx_compose_ui_test_manifest = "androidx.compose.ui:ui-test-manifest:${FenixVersions.androidx_compose}"
const val androidx_compose_ui_tooling = "androidx.compose.ui:ui-tooling:${FenixVersions.androidx_compose}"
const val androidx_compose_ui_tooling_preview = "androidx.compose.ui:ui-tooling-preview:${FenixVersions.androidx_compose}"
const val androidx_compose_foundation = "androidx.compose.foundation:foundation:${FenixVersions.androidx_compose}"
const val androidx_compose_material = "androidx.compose.material:material:${FenixVersions.androidx_compose}"
const val androidx_annotation = "androidx.annotation:annotation:${FenixVersions.androidx_annotation}"
const val androidx_benchmark_junit4 = "androidx.benchmark:benchmark-junit4:${FenixVersions.androidx_benchmark}"
const val androidx_benchmark_macro_junit4 = "androidx.benchmark:benchmark-macro-junit4:${FenixVersions.androidx_benchmark}"
const val androidx_profileinstaller = "androidx.profileinstaller:profileinstaller:${FenixVersions.androidx_profileinstaller}"
const val androidx_biometric = "androidx.biometric:biometric:${FenixVersions.androidx_biometric}"
const val androidx_fragment = "androidx.fragment:fragment-ktx:${FenixVersions.androidx_fragment}"
const val androidx_activity_compose = "androidx.activity:activity-compose:${FenixVersions.androidx_activity}"
const val androidx_activity_ktx = "androidx.activity:activity-ktx:${FenixVersions.androidx_activity}"
const val androidx_appcompat = "androidx.appcompat:appcompat:${FenixVersions.androidx_appcompat}"
const val androidx_coordinatorlayout = "androidx.coordinatorlayout:coordinatorlayout:${FenixVersions.androidx_coordinator_layout}"
const val androidx_constraintlayout = "androidx.constraintlayout:constraintlayout:${FenixVersions.androidx_constraint_layout}"
const val androidx_legacy = "androidx.legacy:legacy-support-v4:${FenixVersions.androidx_legacy}"
const val androidx_lifecycle_common = "androidx.lifecycle:lifecycle-common:${FenixVersions.androidx_lifecycle}"
const val androidx_lifecycle_livedata = "androidx.lifecycle:lifecycle-livedata-ktx:${FenixVersions.androidx_lifecycle}"
const val androidx_lifecycle_process = "androidx.lifecycle:lifecycle-process:${FenixVersions.androidx_lifecycle}"
const val androidx_lifecycle_viewmodel = "androidx.lifecycle:lifecycle-viewmodel-ktx:${FenixVersions.androidx_lifecycle}"
const val androidx_lifecycle_runtime = "androidx.lifecycle:lifecycle-runtime-ktx:${FenixVersions.androidx_lifecycle}"
const val androidx_paging = "androidx.paging:paging-runtime-ktx:${FenixVersions.androidx_paging}"
const val androidx_preference = "androidx.preference:preference-ktx:${FenixVersions.androidx_preference}"
const val androidx_safeargs = "androidx.navigation:navigation-safe-args-gradle-plugin:${FenixVersions.androidx_navigation}"
const val androidx_navigation_fragment = "androidx.navigation:navigation-fragment-ktx:${FenixVersions.androidx_navigation}"
const val androidx_navigation_ui = "androidx.navigation:navigation-ui:${FenixVersions.androidx_navigation}"
const val androidx_recyclerview = "androidx.recyclerview:recyclerview:${FenixVersions.androidx_recyclerview}"
const val androidx_core = "androidx.core:core:${FenixVersions.androidx_core}"
const val androidx_core_ktx = "androidx.core:core-ktx:${FenixVersions.androidx_core}"
const val androidx_transition = "androidx.transition:transition:${FenixVersions.androidx_transition}"
const val androidx_work_ktx = "androidx.work:work-runtime-ktx:${FenixVersions.androidx_work}"
const val androidx_work_testing = "androidx.work:work-testing:${FenixVersions.androidx_work}"
const val androidx_datastore = "androidx.datastore:datastore:${FenixVersions.androidx_datastore}"
const val androidx_data_store_preferences = "androidx.datastore:datastore-preferences:${FenixVersions.androidx_datastore_preferences}"
const val google_material = "com.google.android.material:material:${FenixVersions.google_material}"
const val google_accompanist_drawablepainter = "com.google.accompanist:accompanist-drawablepainter:${FenixVersions.google_accompanist}"
const val protobuf_javalite = "com.google.protobuf:protobuf-javalite:${FenixVersions.protobuf}"
@ -139,10 +73,8 @@ object FenixDependencies {
const val adjust = "com.adjust.sdk:adjust-android:${FenixVersions.adjust}"
const val installreferrer = "com.android.installreferrer:installreferrer:${FenixVersions.installreferrer}"
const val junit = "junit:junit:${FenixVersions.junit}"
const val mockk = "io.mockk:mockk:${FenixVersions.mockk}"
const val mockk_android = "io.mockk:mockk-android:${FenixVersions.mockk}"
const val maven_ant_tasks = "org.apache.maven:maven-ant-tasks:${FenixVersions.maven_ant_tasks}"
const val falcon = "com.jraska:falcon:${FenixVersions.falcon}"
const val fastlane = "tools.fastlane:screengrab:${FenixVersions.fastlane}"
@ -152,29 +84,18 @@ object FenixDependencies {
// https://developer.android.com/jetpack/androidx/releases/test
// For the full IDs of these test dependencies, see:
// https://developer.android.com/training/testing/set-up-project#android-test-dependencies
private const val androidx_test_shared_version = "1.5.0"
private const val androidx_test_junit = "1.1.5"
private const val androidx_test_orchestrator = "1.4.2"
private const val androidx_test_runner = "1.5.2"
const val androidx_test_core = "androidx.test:core:$androidx_test_shared_version"
private const val androidx_espresso_version = "3.5.1"
const val espresso_core = "androidx.test.espresso:espresso-core:$androidx_espresso_version"
const val espresso_contrib = "androidx.test.espresso:espresso-contrib:$androidx_espresso_version"
const val espresso_idling_resources = "androidx.test.espresso:espresso-idling-resource:$androidx_espresso_version"
const val espresso_intents = "androidx.test.espresso:espresso-intents:$androidx_espresso_version"
const val androidx_junit = "androidx.test.ext:junit:$androidx_test_junit"
const val androidx_test_extensions = "androidx.test.ext:junit-ktx:$androidx_test_junit"
// Monitor is unused
const val orchestrator = "androidx.test:orchestrator:$androidx_test_orchestrator"
const val tools_test_runner = "androidx.test:runner:$androidx_test_runner"
const val tools_test_rules = "androidx.test:rules:$androidx_test_shared_version"
// Truth is unused
// Test services is unused
// --- END AndroidX test dependencies --- //
const val mockwebserver = "com.squareup.okhttp3:mockwebserver:${FenixVersions.mockwebserver}"
const val uiautomator = "androidx.test.uiautomator:uiautomator:${FenixVersions.uiautomator}"
const val robolectric = "org.robolectric:robolectric:${FenixVersions.robolectric}"
const val google_ads_id = "com.google.android.gms:play-services-ads-identifier:${FenixVersions.google_ads_id_version}"
@ -182,8 +103,6 @@ object FenixDependencies {
const val google_play_review = "com.google.android.play:review:${FenixVersions.google_play_review_version}"
const val google_play_review_ktx = "com.google.android.play:review-ktx:${FenixVersions.google_play_review_version}"
const val detektApi = "io.gitlab.arturbosch.detekt:detekt-api:${FenixVersions.detekt}"
const val detektTest = "io.gitlab.arturbosch.detekt:detekt-test:${FenixVersions.detekt}"
const val junitApi = "org.junit.jupiter:junit-jupiter-api:${FenixVersions.junit}"
const val junitParams = "org.junit.jupiter:junit-jupiter-params:${FenixVersions.junit}"
const val junitEngine = "org.junit.jupiter:junit-jupiter-engine:${FenixVersions.junit}"

Loading…
Cancel
Save