mirror of
https://github.com/fork-maintainers/iceraven-browser
synced 2024-11-17 15:26:23 +00:00
[fenix] Remove direct A-S dependency; switch to using 'full' megazord
As far as I can tell, we never actually exercise the a-s libraries in Fenix tests currently (this was one of the presumed reasons for having a direct dependency). In a different branch I've started work on adding end-to-end tests, but currently that's blocked on trying to figure out to load native libraries in tests (somehow, fenix's setup is different than what we have in A-C, not yet clear to me in what way). Another reason for a direct dependency (i think) is that we needed it to configure a `fenix` megazord. This could be solved via a `support-megazord-fenix` a-c component that provides the correct transient dependencies, but we can also just switch to use the `full` megazord instead, which is essentially what fenix megazord is at this point. A-S team wants to remove the fenix megazord, so this will help. This is what this patch does.
This commit is contained in:
parent
0c4725dbfb
commit
32802e7fc8
@ -530,22 +530,7 @@ dependencies {
|
|||||||
}
|
}
|
||||||
|
|
||||||
testImplementation 'org.apache.maven:maven-ant-tasks:2.1.3'
|
testImplementation 'org.apache.maven:maven-ant-tasks:2.1.3'
|
||||||
// For production builds, the native code for all `org.mozilla.appservices`
|
|
||||||
// dependencies gets compiled together into a single "megazord" build, and
|
|
||||||
// different megazords are published for different subsets of features. Ref
|
|
||||||
// https://mozilla.github.io/application-services/docs/applications/consuming-megazord-libraries.html
|
|
||||||
// We want to use the one that's specifically designed for Fenix.
|
|
||||||
implementation Deps.fenix_megazord
|
|
||||||
testImplementation Deps.fenix_megazord_forUnitTests
|
|
||||||
implementation Deps.mozilla_support_rusthttp
|
implementation Deps.mozilla_support_rusthttp
|
||||||
modules {
|
|
||||||
module('org.mozilla.appservices:full-megazord') {
|
|
||||||
replacedBy('org.mozilla.appservices:fenix-megazord', 'prefer the fenix megazord, to reduce final application size')
|
|
||||||
}
|
|
||||||
module('org.mozilla.appservices:fenix-megazord') {
|
|
||||||
replacedBy('org.mozilla.appservices:fenix-megazord-forUnitTests', 'prefer the forUnitTests variant if present')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
testImplementation Deps.mockito_core
|
testImplementation Deps.mockito_core
|
||||||
androidTestImplementation Deps.mockito_android
|
androidTestImplementation Deps.mockito_android
|
||||||
@ -654,11 +639,6 @@ ext.gleanGenerateMarkdownDocs = true
|
|||||||
ext.gleanDocsDirectory = "$rootDir/docs"
|
ext.gleanDocsDirectory = "$rootDir/docs"
|
||||||
apply from: 'https://github.com/mozilla-mobile/android-components/raw/' + glean_android_components_tag + '/components/service/glean/scripts/sdk_generator.gradle'
|
apply from: 'https://github.com/mozilla-mobile/android-components/raw/' + glean_android_components_tag + '/components/service/glean/scripts/sdk_generator.gradle'
|
||||||
|
|
||||||
// For production builds, the native code for all `org.mozilla.appservices` dependencies gets compiled together
|
|
||||||
// into a single "megazord" build, and different megazords are published for different subsets of features.
|
|
||||||
// Ref https://mozilla.github.io/application-services/docs/applications/consuming-megazord-libraries.html
|
|
||||||
// Substitute all appservices dependencies with an appropriate megazord.
|
|
||||||
|
|
||||||
afterEvaluate {
|
afterEvaluate {
|
||||||
|
|
||||||
// Format test output. Ported from AC #2401
|
// Format test output. Ported from AC #2401
|
||||||
|
@ -191,10 +191,10 @@ open class FenixApplication : LocaleAwareApplication() {
|
|||||||
/**
|
/**
|
||||||
* Initiate Megazord sequence! Megazord Battle Mode!
|
* Initiate Megazord sequence! Megazord Battle Mode!
|
||||||
*
|
*
|
||||||
* The application-services combined libraries are known as the "megazord". The default megazord
|
* The application-services combined libraries are known as the "megazord". We use the default `full`
|
||||||
* contains several features that fenix doesn't need, and so we swap out with a customized fenix-specific
|
* megazord - it contains everything that fenix needs, and (currently) nothing more.
|
||||||
* version of the megazord. The best explanation for what this is, and why it's done is the a-s
|
*
|
||||||
* documentation on the topic:
|
* Documentation on what megazords are, and why they're needed:
|
||||||
* - https://github.com/mozilla/application-services/blob/master/docs/design/megazords.md
|
* - https://github.com/mozilla/application-services/blob/master/docs/design/megazords.md
|
||||||
* - https://mozilla.github.io/application-services/docs/applications/consuming-megazord-libraries.html
|
* - https://mozilla.github.io/application-services/docs/applications/consuming-megazord-libraries.html
|
||||||
*/
|
*/
|
||||||
|
@ -33,13 +33,6 @@ object Versions {
|
|||||||
const val google_material = "1.1.0"
|
const val google_material = "1.1.0"
|
||||||
|
|
||||||
const val mozilla_android_components = "34.0.0-SNAPSHOT"
|
const val mozilla_android_components = "34.0.0-SNAPSHOT"
|
||||||
// Note that android-components also depends on application-services,
|
|
||||||
// and in fact is our main source of appservices-related functionality.
|
|
||||||
// The version number below tracks the application-services version
|
|
||||||
// that we depend on directly for the fenix-megazord (and for it's
|
|
||||||
// forUnitTest variant), and it's important that it be kept in
|
|
||||||
// sync with the version used by android-components above.
|
|
||||||
const val mozilla_appservices = "0.50.0"
|
|
||||||
|
|
||||||
const val mozilla_glean = "25.0.0"
|
const val mozilla_glean = "25.0.0"
|
||||||
|
|
||||||
@ -207,9 +200,6 @@ object Deps {
|
|||||||
const val androidx_junit = "androidx.test.ext:junit:${Versions.androidx_test_ext}"
|
const val androidx_junit = "androidx.test.ext:junit:${Versions.androidx_test_ext}"
|
||||||
const val androidx_test_core = "androidx.test:core:${Versions.androidx_testing}"
|
const val androidx_test_core = "androidx.test:core:${Versions.androidx_testing}"
|
||||||
|
|
||||||
const val fenix_megazord = "org.mozilla.appservices:fenix-megazord:${Versions.mozilla_appservices}"
|
|
||||||
const val fenix_megazord_forUnitTests = "org.mozilla.appservices:fenix-megazord-forUnitTests:${Versions.mozilla_appservices}"
|
|
||||||
|
|
||||||
const val google_ads_id = "com.google.android.gms:play-services-ads-identifier:${Versions.google_ads_id_version}"
|
const val google_ads_id = "com.google.android.gms:play-services-ads-identifier:${Versions.google_ads_id_version}"
|
||||||
|
|
||||||
const val lottie = "com.airbnb.android:lottie:${Versions.airbnb_lottie}"
|
const val lottie = "com.airbnb.android:lottie:${Versions.airbnb_lottie}"
|
||||||
|
Loading…
Reference in New Issue
Block a user