Backed out changeset 764deec55545 (bug 1503651) for android build bustages

This commit is contained in:
Andreea Pavel 2018-11-01 22:57:46 +02:00
Родитель 15aeaaff97
Коммит 9192508f17
9 изменённых файлов: 68 добавлений и 46 удалений

Просмотреть файл

@ -93,10 +93,19 @@ android {
}
}
// The "audience" flavour dimension distinguishes between _local_ builds (intended for
// development) and _official_ builds (intended for testing in automation and to ship in one of
// the Fennec distribution channels).
//
// The "skin" flavor dimension distinguishes between different user interfaces. We sometimes
// want to develop significant new user interface pieces in-tree that don't ship (even in the
// Nightly channel) while under development. A new "skin" flavour allows us to develop such
// pieces in Gradle without changing the mainline configuration.
project.configureProductFlavors.delegate = it
project.configureProductFlavors()
flavorDimensions "geckoBinaries"
flavorDimensions "audience", "geckoBinaries"
sourceSets {
main {
@ -238,12 +247,11 @@ dependencies {
implementation "com.google.android.gms:play-services-gcm:$google_play_services_version"
}
// Include LeakCanary in local builds, but not in official builds.
if (mozconfig.substs.MOZILLA_OFFICIAL) {
implementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta1'
} else {
implementation 'com.squareup.leakcanary:leakcanary-android:1.4-beta1'
}
// Include LeakCanary in local builds, but not in official builds. Mach
// builds target the official audience, so LeakCanary will not be included
// in any Mach build.
localImplementation 'com.squareup.leakcanary:leakcanary-android:1.4-beta1'
officialImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta1'
testImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta1'
implementation project(path: ':geckoview')
@ -358,7 +366,7 @@ android.applicationVariants.all { variant ->
// this, the Gradle build calls out to the moz.build system, which can be
// re-entrant. Official builds are driven by the moz.build system and
// should never be re-entrant in this way.
if (!mozconfig.substs.MOZILLA_OFFICIAL) {
if (!((variant.productFlavors*.name).contains('official'))) {
syncPreprocessedJava.dependsOn rootProject.generateCodeAndResources
syncPreprocessedRes.dependsOn rootProject.generateCodeAndResources
rewriteManifestPackage.dependsOn rootProject.generateCodeAndResources
@ -471,7 +479,9 @@ configurations.all {
}
android.applicationVariants.all { variant ->
if (!mozconfig.substs.MOZILLA_OFFICIAL) {
// Like 'local', 'localOld', or 'official'.
def audienceDimension = variant.productFlavors[0].name
if (!audienceDimension.equals('official')) {
return
}

Просмотреть файл

@ -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('bundleWithGeckoBinariesRelease')
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 bundleWithGeckoBinariesRelease
archives bundleOfficialWithGeckoBinariesRelease
// Javadoc and sources for developer ergononomics.
archives javadocJarWithGeckoBinariesRelease
archives sourcesJarWithGeckoBinariesRelease
archives javadocJarOfficialWithGeckoBinariesRelease
archives sourcesJarOfficialWithGeckoBinariesRelease
}
// For now, ensure Kotlin is only used in tests.

Просмотреть файл

@ -52,26 +52,26 @@ def gradle_android_build_config():
return namespace(
productFlavors=productFlavors,
buildType=buildType,
# Like 'WithoutGeckoBinariesDebug'
# Like 'OfficialWithoutGeckoBinariesDebug'
name = ''.join(capitalize(t) for t in chain(productFlavors, (buildType, )))
)
return namespace(
app=namespace(
variant=variant(('withoutGeckoBinaries',), 'debug'),
variant=variant(('official', 'withoutGeckoBinaries'), 'debug'),
),
geckoview=namespace(
variant=variant(('withGeckoBinaries',), 'debug'),
variant=variant(('official', 'withGeckoBinaries'), 'debug'),
),
geckoview_example=namespace(
variant=variant(('withGeckoBinaries',), 'debug'),
variant=variant(('official', 'withGeckoBinaries'), 'debug'),
),
)
@depends(gradle_android_build_config)
def gradle_android_variant_name(build_config):
'''Like "withoutGeckoBinariesDebug".'''
'''Like "officialWithoutGeckoBinariesDebug".'''
def uncapitalize(s):
if s:
return s[0].lower() + s[1:]

Просмотреть файл

@ -11,7 +11,7 @@ ext.configureVariantDebugLevel = { variant ->
// The default is 'lines,source,vars', which includes debugging information
// that is quite large: roughly 500kb for Fennec. Therefore we remove
// 'vars' unless we're producing a debug build, where it is useful.
if (!'debug'.equals(buildType) || mozconfig.substs.MOZILLA_OFFICIAL) {
if (!'debug'.equals(buildType) || (variant.productFlavors*.name).contains('official')) {
variant.javaCompile.options.debugOptions.debugLevel = 'lines,source'
}
}

Просмотреть файл

@ -4,8 +4,20 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
ext.configureProductFlavors = {
flavorDimensions "geckoBinaries"
flavorDimensions "audience", "geckoBinaries"
productFlavors {
local {
dimension "audience"
}
// Automation builds. We use "official" rather than "automation" to drive these builds down
// the list of configurations that Android Studio offers, thereby making it _not_ the
// default. This avoids a common issue with "omni.ja" not being packed into the default APK
// built and deployed by Android Studio.
official {
dimension "audience"
}
withGeckoBinaries {
dimension "geckoBinaries"
}

Просмотреть файл

@ -93,7 +93,7 @@ ext.configureVariantWithGeckoBinaries = { variant ->
// the Omnijar sources. To do this, the Gradle build calls out to the
// moz.build system, which can be re-entrant. Official builds are driven by
// the moz.build system and should never be re-entrant in this way.
if (!mozconfig.substs.MOZILLA_OFFICIAL) {
if (!((variant.productFlavors*.name).contains('official'))) {
syncOmnijarFromDistDir.dependsOn buildOmnijars
}

Просмотреть файл

@ -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='compileWithGeckoBinariesDebugSources',
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='compileWithGeckoBinariesDebugSources',
task='compileLocalWithGeckoBinariesDebugSources',
skip_export=False):
self._set_log_level(verbose)
self.log_manager.enable_all_structured_loggers()

Просмотреть файл

@ -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/withGeckoBinaries/debug/geckoview-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview-withGeckoBinaries-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/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-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/

Просмотреть файл

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