[components] Closes https://github.com/mozilla-mobile/android-components/issues/4280: Use universal GeckoView build in browser-engine-gecko.
This commit is contained in:
@@ -81,7 +81,7 @@ else
|
||||
flank_template="$FLANK_CONF_ARM"
|
||||
fi
|
||||
|
||||
APK_APP="./samples/${component}/build/outputs/apk/geckoNightlyUniversal/debug/samples-browser-geckoNightly-universal-debug.apk"
|
||||
APK_APP="./samples/${component}/build/outputs/apk/geckoNightly/debug/samples-browser-geckoNightly-debug.apk"
|
||||
APK_TEST="./components/${component}/engine-gecko-nightly/build/outputs/apk/androidTest/debug/browser-engine-gecko-nightly-debug-androidTest.apk"
|
||||
|
||||
|
||||
|
||||
@@ -22,10 +22,6 @@ internal object GeckoVersions {
|
||||
@Suppress("MaxLineLength")
|
||||
object Gecko {
|
||||
const val geckoview_nightly = "org.mozilla.geckoview:geckoview-nightly:${GeckoVersions.nightly_version}"
|
||||
|
||||
const val geckoview_beta = "org.mozilla.geckoview:geckoview-beta:${GeckoVersions.beta_version}"
|
||||
|
||||
const val geckoview_release_arm = "org.mozilla.geckoview:geckoview-armeabi-v7a:${GeckoVersions.release_version}"
|
||||
const val geckoview_release_x86 = "org.mozilla.geckoview:geckoview-x86:${GeckoVersions.release_version}"
|
||||
const val geckoview_release_aarch64 = "org.mozilla.geckoview:geckoview-arm64-v8a:${GeckoVersions.release_version}"
|
||||
const val geckoview_release = "org.mozilla.geckoview:geckoview:${GeckoVersions.release_version}"
|
||||
}
|
||||
|
||||
@@ -34,10 +34,7 @@ dependencies {
|
||||
implementation Dependencies.kotlin_stdlib
|
||||
implementation Dependencies.kotlin_coroutines
|
||||
|
||||
// We only compile against the ARM artifact. External module will decide which module to provide by build configuration.
|
||||
// As the Kotlin/Java API is the same for all ABIs it is not important which one we import here.
|
||||
compileOnly Gecko.geckoview_release_arm
|
||||
testImplementation Gecko.geckoview_release_arm
|
||||
api Gecko.geckoview_release
|
||||
|
||||
testImplementation Dependencies.androidx_test_core
|
||||
testImplementation Dependencies.androidx_test_junit
|
||||
@@ -51,7 +48,6 @@ dependencies {
|
||||
androidTestImplementation Dependencies.androidx_test_core
|
||||
androidTestImplementation Dependencies.androidx_test_runner
|
||||
androidTestImplementation Dependencies.androidx_test_rules
|
||||
androidTestImplementation Gecko.geckoview_release_arm
|
||||
androidTestImplementation project(':tooling-fetch-tests')
|
||||
}
|
||||
|
||||
|
||||
@@ -32,6 +32,9 @@ permalink: /changelog/
|
||||
* **feature-intent**
|
||||
* ⚠️ **This is a breaking change**: `TabIntentProcessor` has moved to the `processing` sub-package, but is still in the same component.
|
||||
|
||||
* **browser-engine-gecko**
|
||||
* Like with the nightly and beta flavor previously this component now has a hard dependency on the new [universal GeckoView build](https://bugzilla.mozilla.org/show_bug.cgi?id=1508976) that is no longer architecture specific (ARM, x86, ..). With that apps no longer need to specify the GeckoView dependency themselves and synchronize the used version with Android Components. Additionally apps can now make use of [APK splits](https://developer.android.com/studio/build/configure-apk-splits) or [Android App Bundles (AAB)](https://developer.android.com/guide/app-bundle).
|
||||
|
||||
# 11.0.0
|
||||
|
||||
* [Commits](https://github.com/mozilla-mobile/android-components/compare/v10.0.0...v11.0.0)
|
||||
|
||||
@@ -28,7 +28,7 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
flavorDimensions "engine", "abi"
|
||||
flavorDimensions "engine"
|
||||
|
||||
productFlavors {
|
||||
// GeckoView release channels
|
||||
@@ -46,20 +46,6 @@ android {
|
||||
system {
|
||||
dimension "engine"
|
||||
}
|
||||
|
||||
// Processor architecture
|
||||
arm {
|
||||
dimension "abi"
|
||||
}
|
||||
x86 {
|
||||
dimension "abi"
|
||||
}
|
||||
aarch64 {
|
||||
dimension "abi"
|
||||
}
|
||||
universal {
|
||||
dimension "abi"
|
||||
}
|
||||
}
|
||||
|
||||
variantFilter { variant ->
|
||||
@@ -68,33 +54,7 @@ android {
|
||||
// release versions.
|
||||
setIgnore(true)
|
||||
}
|
||||
|
||||
def flavors = variant.flavors*.name.toString().toLowerCase()
|
||||
if (flavors.contains("system") && !flavors.contains("universal")) {
|
||||
setIgnore(true)
|
||||
}
|
||||
|
||||
// Only allow "universal" flavors of "system", "geckoviewNightly" and "geckoBeta" engines
|
||||
if (flavors.contains("universal") && !(flavors.contains("system") || flavors.contains("geckonightly") || flavors.contains("geckobeta"))) {
|
||||
setIgnore(true)
|
||||
}
|
||||
|
||||
// Ignore all non-universal GeckoView Nightly builds
|
||||
if (!flavors.contains("universal") && flavors.contains("geckonightly")) {
|
||||
setIgnore(true)
|
||||
}
|
||||
|
||||
// Ignore all non-universal GeckoView Beta builds
|
||||
if (!flavors.contains("universal") && flavors.contains("geckobeta")) {
|
||||
setIgnore(true)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
configurations {
|
||||
geckoReleaseArmImplementation {}
|
||||
geckoReleaseX86Implementation {}
|
||||
geckoReleaseAarch64Implementation {}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@@ -142,13 +102,8 @@ dependencies {
|
||||
implementation project(':support-ktx')
|
||||
|
||||
geckoNightlyImplementation project(':browser-engine-gecko-nightly')
|
||||
|
||||
geckoBetaImplementation project(':browser-engine-gecko-beta')
|
||||
|
||||
geckoReleaseImplementation project(':browser-engine-gecko')
|
||||
geckoReleaseArmImplementation Gecko.geckoview_release_arm
|
||||
geckoReleaseX86Implementation Gecko.geckoview_release_x86
|
||||
geckoReleaseAarch64Implementation Gecko.geckoview_release_aarch64
|
||||
|
||||
implementation Dependencies.google_material
|
||||
|
||||
|
||||
Reference in New Issue
Block a user