Bug 1501053 - Drop minApi flavor dimension. r=petru

Differential Revision: https://phabricator.services.mozilla.com/D9428

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Nick Alexander 2018-10-25 20:29:49 +00:00
parent f170a9e29e
commit ff87ac9cb8
10 changed files with 49 additions and 81 deletions

View File

@ -105,7 +105,7 @@ android {
project.configureProductFlavors.delegate = it
project.configureProductFlavors()
flavorDimensions "audience", "geckoBinaries", "minApi"
flavorDimensions "audience", "geckoBinaries"
sourceSets {
main {

View File

@ -390,13 +390,10 @@ public class GeckoApplication extends Application
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
// API >= 21 natively supports loading multiple DEX files from APK files.
// Needs just 'multiDexEnabled true' inside the gradle build configuration.
final boolean isMultidexLibNeeded = BuildConfig.FLAVOR_minApi.equals("noMinApi");
if (isMultidexLibNeeded) {
MultiDex.install(this);
}
// API >= 21 natively supports loading multiple DEX files from APK
// files, so this is a no-op -- we just need 'multiDexEnabled true' in
// the Gradle configuration.
MultiDex.install(this);
}
/**

View File

@ -82,16 +82,6 @@ and the omnijar.
**Local developers almost always want to build "withGeckoBinaries", so that the
APK files produced can be run on device.**
minApi
------
At various times in the past, Fennec has supported APK splits, producing APKs
that support only specific Android versions. While this is not used at this
time, there are certain developer options (i.e., options that should only apply
to "local" audiences) that *also* depend on the target Android version. This
flavor dimension allows to opt in to those options, improving the speed of
development.
Integration into the larger `moz.build` build system
====================================================

View File

@ -318,7 +318,7 @@ afterEvaluate {
// The bundle tasks are only present when the particular configuration is
// being built, so this task might not exist. (This is due to the way the
// Android Gradle plugin defines things during configuration.)
def bundleWithGeckoBinaries = tasks.findByName('bundleOfficialWithGeckoBinariesNoMinApiRelease')
def bundleWithGeckoBinaries = tasks.findByName('bundleOfficialWithGeckoBinariesRelease')
if (!bundleWithGeckoBinaries) {
return
}
@ -332,10 +332,10 @@ afterEvaluate {
artifacts {
// Instead of default (release) configuration, publish one with Gecko binaries.
archives bundleOfficialWithGeckoBinariesNoMinApiRelease
archives bundleOfficialWithGeckoBinariesRelease
// Javadoc and sources for developer ergononomics.
archives javadocJarOfficialWithGeckoBinariesNoMinApiRelease
archives sourcesJarOfficialWithGeckoBinariesNoMinApiRelease
archives javadocJarOfficialWithGeckoBinariesRelease
archives sourcesJarOfficialWithGeckoBinariesRelease
}
// For now, ensure Kotlin is only used in tests.

View File

@ -58,20 +58,20 @@ def gradle_android_build_config():
return namespace(
app=namespace(
variant=variant(('official', 'withoutGeckoBinaries', 'noMinApi'), 'debug'),
variant=variant(('official', 'withoutGeckoBinaries'), 'debug'),
),
geckoview=namespace(
variant=variant(('official', 'withGeckoBinaries', 'noMinApi'), 'debug'),
variant=variant(('official', 'withGeckoBinaries'), 'debug'),
),
geckoview_example=namespace(
variant=variant(('official', 'withGeckoBinaries', 'noMinApi'), 'debug'),
variant=variant(('official', 'withGeckoBinaries'), 'debug'),
),
)
@depends(gradle_android_build_config)
def gradle_android_variant_name(build_config):
'''Like "officialWithoutGeckoBinariesNoMinApiDebug".'''
'''Like "officialWithoutGeckoBinariesDebug".'''
def uncapitalize(s):
if s:
return s[0].lower() + s[1:]

View File

@ -4,7 +4,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
ext.configureProductFlavors = {
flavorDimensions "audience", "geckoBinaries", "minApi"
flavorDimensions "audience", "geckoBinaries"
productFlavors {
local {
dimension "audience"
@ -25,24 +25,5 @@ ext.configureProductFlavors = {
withoutGeckoBinaries {
dimension "geckoBinaries"
}
// For API 21+ - with pre-dexing, this will be faster for local development.
minApi21 {
dimension "minApi"
// For pre-dexing, setting `minSdkVersion 21` allows the Android gradle plugin to
// pre-DEX each module and produce an APK that can be tested on
// Android Lollipop without time consuming DEX merging processes.
minSdkVersion 21
dexOptions {
preDexLibraries true
}
}
// For API < 21 - does not support pre-dexing because local development
// is slow in that case.
noMinApi {
dimension "minApi"
}
}
}

View File

@ -1759,10 +1759,10 @@ class StaticAnalysis(MachCommandBase):
help='Number of concurrent jobs to run.'
' Default is the number of CPUs.')
@CommandArgument('--task', '-t', type=str,
default='compileLocalWithGeckoBinariesNoMinApiDebugSources',
default='compileLocalWithGeckoBinariesDebugSources',
help='Which gradle tasks to use to compile the java codebase.')
def check_java(self, source=['mobile'], jobs=2, strip=1, verbose=False, checks=[],
task='compileLocalWithGeckoBinariesNoMinApiDebugSources',
task='compileLocalWithGeckoBinariesDebugSources',
skip_export=False):
self._set_log_level(verbose)
self.log_manager.enable_all_structured_loggers()

View File

@ -109,14 +109,14 @@ android-lint/opt:
GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
PERFHERDER_EXTRA_OPTIONS: android-lint
artifacts:
- name: public/android/lint/lint-results-officialWithoutGeckoBinariesNoMinApiDebug.html
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/lint-results-officialWithoutGeckoBinariesNoMinApiDebug.html
- name: public/android/lint/lint-results-officialWithoutGeckoBinariesDebug.html
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/lint-results-officialWithoutGeckoBinariesDebug.html
type: file
- name: public/android/lint/lint-results-officialWithoutGeckoBinariesNoMinApiDebug.xml
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/lint-results-officialWithoutGeckoBinariesNoMinApiDebug.xml
- name: public/android/lint/lint-results-officialWithoutGeckoBinariesDebug.xml
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/lint-results-officialWithoutGeckoBinariesDebug.xml
type: file
- name: public/android/lint/lint-results-officialWithoutGeckoBinariesNoMinApiDebug_files
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/lint-results-officialWithoutGeckoBinariesNoMinApiDebug_files
- name: public/android/lint/lint-results-officialWithoutGeckoBinariesDebug_files
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/lint-results-officialWithoutGeckoBinariesDebug_files
type: directory
- name: public/build
path: /builds/worker/artifacts/
@ -216,11 +216,11 @@ android-findbugs/opt:
GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
PERFHERDER_EXTRA_OPTIONS: android-findbugs
artifacts:
- name: public/android/findbugs/findbugs-officialWithoutGeckoBinariesNoMinApiDebug-output.html
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/findbugs/findbugs-officialWithoutGeckoBinariesNoMinApiDebug-output.html
- name: public/android/findbugs/findbugs-officialWithoutGeckoBinariesDebug-output.html
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/findbugs/findbugs-officialWithoutGeckoBinariesDebug-output.html
type: file
- name: public/android/findbugs/findbugs-officialWithoutGeckoBinariesNoMinApiDebug-output.xml
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/findbugs/findbugs-officialWithoutGeckoBinariesNoMinApiDebug-output.xml
- name: public/android/findbugs/findbugs-officialWithoutGeckoBinariesDebug-output.xml
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/findbugs/findbugs-officialWithoutGeckoBinariesDebug-output.xml
type: file
- name: public/build
path: /builds/worker/artifacts/

View File

@ -31,10 +31,10 @@ android-api-16/debug:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
type: file
- name: public/build/geckoview-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinariesNoMinApi/debug/geckoview-official-withGeckoBinaries-noMinApi-debug-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinaries/debug/geckoview-official-withGeckoBinaries-debug-androidTest.apk
type: file
- name: public/build/geckoview_example.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinaries/debug/geckoview_example-official-withGeckoBinaries-debug.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@ -82,10 +82,10 @@ android-api-16-ccov/debug:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
type: directory
- name: public/build/geckoview-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinariesNoMinApi/debug/geckoview-official-withGeckoBinaries-noMinApi-debug-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinaries/debug/geckoview-official-withGeckoBinaries-debug-androidTest.apk
type: file
- name: public/build/geckoview_example.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinaries/debug/geckoview_example-official-withGeckoBinaries-debug.apk
type: file
- name: public/build/target.geckoview_classfiles.zip
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/coverage/target.geckoview_classfiles.zip
@ -149,10 +149,10 @@ android-x86/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
type: file
- name: public/build/geckoview-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinariesNoMinApi/debug/geckoview-official-withGeckoBinaries-noMinApi-debug-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinaries/debug/geckoview-official-withGeckoBinaries-debug-androidTest.apk
type: file
- name: public/build/geckoview_example.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinaries/debug/geckoview_example-official-withGeckoBinaries-debug.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@ -200,10 +200,10 @@ android-x86-fuzzing/debug:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
type: directory
- name: public/build/geckoview-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinariesNoMinApi/debug/geckoview-official-withGeckoBinaries-noMinApi-debug-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinaries/debug/geckoview-official-withGeckoBinaries-debug-androidTest.apk
type: file
- name: public/build/geckoview_example.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinaries/debug/geckoview_example-official-withGeckoBinaries-debug.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@ -261,10 +261,10 @@ android-x86-nightly/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
type: file
- name: public/build/geckoview-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinariesNoMinApi/debug/geckoview-official-withGeckoBinaries-noMinApi-debug-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinaries/debug/geckoview-official-withGeckoBinaries-debug-androidTest.apk
type: file
- name: public/build/geckoview_example.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinaries/debug/geckoview_example-official-withGeckoBinaries-debug.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@ -319,10 +319,10 @@ android-api-16/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
type: file
- name: public/build/geckoview-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinariesNoMinApi/debug/geckoview-official-withGeckoBinaries-noMinApi-debug-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinaries/debug/geckoview-official-withGeckoBinaries-debug-androidTest.apk
type: file
- name: public/build/geckoview_example.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinaries/debug/geckoview_example-official-withGeckoBinaries-debug.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@ -434,10 +434,10 @@ android-api-16-nightly/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
type: file
- name: public/build/geckoview-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinariesNoMinApi/debug/geckoview-official-withGeckoBinaries-noMinApi-debug-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinaries/debug/geckoview-official-withGeckoBinaries-debug-androidTest.apk
type: file
- name: public/build/geckoview_example.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinaries/debug/geckoview_example-official-withGeckoBinaries-debug.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@ -492,10 +492,10 @@ android-aarch64/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
type: file
- name: public/build/geckoview-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinariesNoMinApi/debug/geckoview-official-withGeckoBinaries-noMinApi-debug-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinaries/debug/geckoview-official-withGeckoBinaries-debug-androidTest.apk
type: file
- name: public/build/geckoview_example.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinaries/debug/geckoview_example-official-withGeckoBinaries-debug.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@ -553,10 +553,10 @@ android-aarch64-nightly/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
type: file
- name: public/build/geckoview-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinariesNoMinApi/debug/geckoview-official-withGeckoBinaries-noMinApi-debug-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinaries/debug/geckoview-official-withGeckoBinaries-debug-androidTest.apk
type: file
- name: public/build/geckoview_example.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinaries/debug/geckoview_example-official-withGeckoBinaries-debug.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@ -611,10 +611,10 @@ android-x86_64/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
type: file
- name: public/build/geckoview-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinariesNoMinApi/debug/geckoview-official-withGeckoBinaries-noMinApi-debug-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinaries/debug/geckoview-official-withGeckoBinaries-debug-androidTest.apk
type: file
- name: public/build/geckoview_example.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinaries/debug/geckoview_example-official-withGeckoBinaries-debug.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@ -672,10 +672,10 @@ android-x86_64-nightly/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/target.maven.zip
type: file
- name: public/build/geckoview-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinariesNoMinApi/debug/geckoview-official-withGeckoBinaries-noMinApi-debug-androidTest.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/officialWithGeckoBinaries/debug/geckoview-official-withGeckoBinaries-debug-androidTest.apk
type: file
- name: public/build/geckoview_example.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinaries/debug/geckoview_example-official-withGeckoBinaries-debug.apk
type: file
- name: public/build
path: /builds/worker/artifacts/

View File

@ -11,7 +11,7 @@ config = {
'--upload', 'mozilla/geckoview',
'--upload-branch', 'gh-pages/javadoc/{project}',
'--upload-message', 'Update {project} javadoc to rev {revision}',
'--variant', 'officialWithGeckoBinariesNoMinApiRelease',
'--variant', 'officialWithGeckoBinariesRelease',
],
],
'artifact_flag_build_variant_in_try': None, # There's no artifact equivalent.