[components] Closes https://github.com/mozilla-mobile/android-components/issues/4280: Use universal GeckoView build in browser-engine-gecko.

This commit is contained in:
Sebastian Kaspari
2019-09-04 14:51:39 +02:00
parent 7fc3bf11cc
commit d31f9dfaa5
5 changed files with 7 additions and 57 deletions

View File

@@ -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"

View File

@@ -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}"
}

View File

@@ -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')
}

View File

@@ -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)

View File

@@ -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