mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-27 23:02:20 +00:00
7176a9a02c
By setting these to the "build" optimization, it means that bugbug will apply its machine learning algorithm on autoland and with `mach try auto`. But in addition, this also sets up some new SCHEDULES rules. A new mutually exclusive SCHEDULES group around the "application" is created. Namely it can be one of: - firefox - fenix - focus-android Files under `/browser` are tagged with the "firefox" component, while files under `mobile/android` will be tagged with both "fenix" and "focus-android" components. Files under the `mobile/android/fenix` or `mobile/android/focus-android` dirs are further restricted to their respective component. Note that any files that can impact Gecko should not be tagged with any of these components. On the task side, all of the prior Firefox builds and tests are tagged with the "firefox" component, while all of the new Android builds and tests are tagged with "fenix", "focus-android" or both (depending on the task). The upshot of all this, is that patches that *only* modify files under `/mobile/android` will not run any of the Firefox builds and tests. Conversely patches that *only* modify files under `/browser` will not run any of the Android builds and tests. Differential Revision: https://phabricator.services.mozilla.com/D205127
104 lines
3.3 KiB
Python
104 lines
3.3 KiB
Python
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
|
# vim: set filetype=python:
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
with Files("**"):
|
|
BUG_COMPONENT = ("GeckoView", "General")
|
|
SCHEDULES.exclusive = ["android", "fenix", "focus-android"]
|
|
|
|
with Files("geckoview_example/**"):
|
|
BUG_COMPONENT = ("GeckoView", "GeckoViewExample")
|
|
|
|
with Files("fenix/**"):
|
|
BUG_COMPONENT = ("Fenix", "General")
|
|
SCHEDULES.exclusive = ["android", "fenix"]
|
|
|
|
with Files("focus-android/**"):
|
|
BUG_COMPONENT = ("Focus", "General")
|
|
SCHEDULES.exclusive = ["android", "focus-android"]
|
|
|
|
with Files("android-components/**"):
|
|
BUG_COMPONENT = ("Fenix", "General")
|
|
|
|
# The recursive make backend treats the first output specially: it's passed as
|
|
# an open FileAvoidWrite to the invoked script. That doesn't work well with
|
|
# the Gradle task that generates all of the outputs, so we add a dummy first
|
|
# output.
|
|
t = ("android_apks",)
|
|
|
|
GENERATED_FILES += [t]
|
|
GENERATED_FILES[t].force = True
|
|
GENERATED_FILES[t].script = "/mobile/android/gradle.py:assemble_app"
|
|
|
|
# The Android APKs are assembled in the `export` tier, which usually occurs
|
|
# before the following files are generated. However, mechanisms in `recurse.mk`
|
|
# are used to pull the generated files into the `pre-export` tier, so do not
|
|
# require an explicit dependency here.
|
|
config_keys = (
|
|
"MOZ_ANDROID_CONTENT_SERVICE_COUNT",
|
|
"MOZ_ANDROID_CONTENT_SERVICE_ISOLATED_PROCESS",
|
|
)
|
|
flags = ["%s=%s" % (k, CONFIG[k] if CONFIG[k] else "") for k in config_keys]
|
|
|
|
GeneratedFile(
|
|
("geckoview/src/main/AndroidManifest_overlay.xml",),
|
|
script="gen_from_jinja.py",
|
|
inputs=["geckoview/src/main/AndroidManifest_overlay.jinja"],
|
|
flags=flags,
|
|
)
|
|
|
|
GeneratedFile(
|
|
(
|
|
"geckoview/src/main/java/org/mozilla/gecko/process/GeckoChildProcessServices.java",
|
|
),
|
|
script="gen_from_jinja.py",
|
|
inputs=[
|
|
"geckoview/src/main/java/org/mozilla/gecko/process/GeckoChildProcessServices.jinja"
|
|
],
|
|
flags=flags,
|
|
)
|
|
|
|
GeneratedFile(
|
|
("geckoview/src/main/java/org/mozilla/gecko/util/XPCOMError.java",),
|
|
script="/xpcom/base/ErrorList.py",
|
|
entry_point="gen_jinja",
|
|
inputs=["geckoview/src/main/java/org/mozilla/gecko/util/XPCOMError.jinja"],
|
|
)
|
|
|
|
CONFIGURE_SUBST_FILES += ["installer/Makefile"]
|
|
|
|
DIRS += [
|
|
"../locales",
|
|
"locales",
|
|
]
|
|
|
|
DIRS += [
|
|
"actors",
|
|
"chrome",
|
|
"components",
|
|
"modules",
|
|
"themes/geckoview",
|
|
"geckoview/src/androidTest/assets",
|
|
"app",
|
|
"fonts",
|
|
]
|
|
|
|
TEST_HARNESS_FILES.testing.mochitest.tests.junit += [
|
|
"geckoview/src/androidTest/assets/www/forms_iframe.html",
|
|
"geckoview/src/androidTest/assets/www/forms_xorigin.html",
|
|
"geckoview/src/androidTest/assets/www/hello.html",
|
|
"geckoview/src/androidTest/assets/www/hsts_header.sjs",
|
|
"geckoview/src/androidTest/assets/www/iframe_http_only.html",
|
|
"geckoview/src/androidTest/assets/www/simple_redirect.sjs",
|
|
"geckoview/src/androidTest/assets/www/update_manifest.json",
|
|
]
|
|
|
|
SPHINX_TREES["/mobile/android"] = "docs"
|
|
SPHINX_TREES["/mobile/android/fenix"] = "fenix/docs"
|
|
SPHINX_TREES["/mobile/android/focus-android"] = "focus-android/docs"
|
|
|
|
with Files("docs/**"):
|
|
SCHEDULES.exclusive = ["docs"]
|