summaryrefslogtreecommitdiffstats
path: root/mobile/android/moz.build
blob: 689ec829338b2b8be8dacf286de286badbd2f4ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# -*- 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"]

with Files("geckoview_example/**"):
    BUG_COMPONENT = ("GeckoView", "GeckoViewExample")

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

with Files("docs/**"):
    SCHEDULES.exclusive = ["docs"]