[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"
|
flank_template="$FLANK_CONF_ARM"
|
||||||
fi
|
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"
|
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")
|
@Suppress("MaxLineLength")
|
||||||
object Gecko {
|
object Gecko {
|
||||||
const val geckoview_nightly = "org.mozilla.geckoview:geckoview-nightly:${GeckoVersions.nightly_version}"
|
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_beta = "org.mozilla.geckoview:geckoview-beta:${GeckoVersions.beta_version}"
|
||||||
|
const val geckoview_release = "org.mozilla.geckoview:geckoview:${GeckoVersions.release_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}"
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,10 +34,7 @@ dependencies {
|
|||||||
implementation Dependencies.kotlin_stdlib
|
implementation Dependencies.kotlin_stdlib
|
||||||
implementation Dependencies.kotlin_coroutines
|
implementation Dependencies.kotlin_coroutines
|
||||||
|
|
||||||
// We only compile against the ARM artifact. External module will decide which module to provide by build configuration.
|
api Gecko.geckoview_release
|
||||||
// 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
|
|
||||||
|
|
||||||
testImplementation Dependencies.androidx_test_core
|
testImplementation Dependencies.androidx_test_core
|
||||||
testImplementation Dependencies.androidx_test_junit
|
testImplementation Dependencies.androidx_test_junit
|
||||||
@@ -51,7 +48,6 @@ dependencies {
|
|||||||
androidTestImplementation Dependencies.androidx_test_core
|
androidTestImplementation Dependencies.androidx_test_core
|
||||||
androidTestImplementation Dependencies.androidx_test_runner
|
androidTestImplementation Dependencies.androidx_test_runner
|
||||||
androidTestImplementation Dependencies.androidx_test_rules
|
androidTestImplementation Dependencies.androidx_test_rules
|
||||||
androidTestImplementation Gecko.geckoview_release_arm
|
|
||||||
androidTestImplementation project(':tooling-fetch-tests')
|
androidTestImplementation project(':tooling-fetch-tests')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,9 @@ permalink: /changelog/
|
|||||||
* **feature-intent**
|
* **feature-intent**
|
||||||
* ⚠️ **This is a breaking change**: `TabIntentProcessor` has moved to the `processing` sub-package, but is still in the same component.
|
* ⚠️ **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
|
# 11.0.0
|
||||||
|
|
||||||
* [Commits](https://github.com/mozilla-mobile/android-components/compare/v10.0.0...v11.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 {
|
productFlavors {
|
||||||
// GeckoView release channels
|
// GeckoView release channels
|
||||||
@@ -46,20 +46,6 @@ android {
|
|||||||
system {
|
system {
|
||||||
dimension "engine"
|
dimension "engine"
|
||||||
}
|
}
|
||||||
|
|
||||||
// Processor architecture
|
|
||||||
arm {
|
|
||||||
dimension "abi"
|
|
||||||
}
|
|
||||||
x86 {
|
|
||||||
dimension "abi"
|
|
||||||
}
|
|
||||||
aarch64 {
|
|
||||||
dimension "abi"
|
|
||||||
}
|
|
||||||
universal {
|
|
||||||
dimension "abi"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
variantFilter { variant ->
|
variantFilter { variant ->
|
||||||
@@ -68,33 +54,7 @@ android {
|
|||||||
// release versions.
|
// release versions.
|
||||||
setIgnore(true)
|
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 {
|
dependencies {
|
||||||
@@ -142,13 +102,8 @@ dependencies {
|
|||||||
implementation project(':support-ktx')
|
implementation project(':support-ktx')
|
||||||
|
|
||||||
geckoNightlyImplementation project(':browser-engine-gecko-nightly')
|
geckoNightlyImplementation project(':browser-engine-gecko-nightly')
|
||||||
|
|
||||||
geckoBetaImplementation project(':browser-engine-gecko-beta')
|
geckoBetaImplementation project(':browser-engine-gecko-beta')
|
||||||
|
|
||||||
geckoReleaseImplementation project(':browser-engine-gecko')
|
geckoReleaseImplementation project(':browser-engine-gecko')
|
||||||
geckoReleaseArmImplementation Gecko.geckoview_release_arm
|
|
||||||
geckoReleaseX86Implementation Gecko.geckoview_release_x86
|
|
||||||
geckoReleaseAarch64Implementation Gecko.geckoview_release_aarch64
|
|
||||||
|
|
||||||
implementation Dependencies.google_material
|
implementation Dependencies.google_material
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user