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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
|
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag", "bool_setting", "string_list_setting", "string_setting")
load("@env//:env.bzl", "env")
load("@soong_injection//api_levels:platform_versions.bzl", "platform_versions")
load("@soong_injection//product_config:product_variables.bzl", "product_vars")
load("//build/bazel/flags:common.bzl", "is_env_true")
load("//build/bazel/product_variables:constants.bzl", "constants")
load("//build/bazel/rules/apex:toolchain.bzl", "apex_toolchain")
load("//build/bazel/rules/common:api.bzl", "api")
load(":apex_aab_test.bzl", "apex_aab_test_suite")
load(":apex_key_test.bzl", "apex_key_test_suite")
load(":apex_mk_test.bzl", "apex_mk_test_suite")
load(":apex_test.bzl", "apex_test_suite")
string_setting(
name = "apex_name",
build_setting_default = "",
visibility = ["//visibility:public"],
)
string_setting(
name = "base_apex_name",
build_setting_default = "",
visibility = ["//visibility:public"],
)
string_setting(
name = "override_apex_manifest_default_version",
build_setting_default = env.get("OVERRIDE_APEX_MANIFEST_DEFAULT_VERSION", ""),
visibility = ["//visibility:public"],
)
string_setting(
name = "apex_global_min_sdk_version_override",
# TODO(b/269577299): Make this read from //build/bazel/product_config:product_vars instead.
build_setting_default = product_vars.get("ApexGlobalMinSdkVersionOverride", ""),
visibility = ["//visibility:public"],
)
bool_setting(
name = "within_apex",
build_setting_default = False,
visibility = ["//visibility:public"],
)
config_setting(
name = "in_apex",
flag_values = {
":within_apex": "True",
},
)
config_setting(
name = "non_apex",
flag_values = {
":apex_name": "",
},
)
config_setting(
name = "android-in_apex",
constraint_values = [
constants.ArchVariantToConstraints["android"],
],
flag_values = {
":within_apex": "True",
},
)
config_setting(
name = "android-non_apex",
constraint_values = [
constants.ArchVariantToConstraints["android"],
],
flag_values = {
":within_apex": "False",
},
)
config_setting(
name = "linux_bionic-in_apex",
constraint_values = [
constants.ArchVariantToConstraints["linux_bionic"],
],
flag_values = {
":within_apex": "True",
},
)
config_setting(
name = "linux_bionic-non_apex",
constraint_values = [
constants.ArchVariantToConstraints["linux_bionic"],
],
flag_values = {
":within_apex": "False",
},
)
string_list_setting(
name = "apex_direct_deps",
build_setting_default = [],
visibility = ["//visibility:public"],
)
bool_flag(
name = "apexer_verbose",
build_setting_default = False,
visibility = ["//visibility:public"],
)
string_setting(
name = "min_sdk_version",
build_setting_default = "",
visibility = ["//visibility:public"],
)
[
config_setting(
name = "min_sdk_version_" + str(level),
flag_values = {
":min_sdk_version": str(level),
},
)
for level in api.api_levels.values()
]
bool_flag(
name = "unsafe_disable_apex_allowed_deps_check",
build_setting_default = is_env_true(env.get("UNSAFE_DISABLE_APEX_ALLOWED_DEPS_CHECK")),
visibility = ["//visibility:public"],
)
bool_flag(
name = "unbundled_build_target_sdk_with_api_fingerprint",
build_setting_default = is_env_true(env.get("UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT")),
visibility = ["//visibility:public"],
)
string_setting(
name = "platform_sdk_codename",
build_setting_default = platform_versions.platform_sdk_codename,
visibility = ["//visibility:public"],
)
toolchain_type(name = "apex_toolchain_type")
apex_toolchain(
name = "apex_toolchain",
aapt2 = "//frameworks/base/tools/aapt2",
android_jar = "//prebuilts/sdk/current:public/android.jar",
apex_compression_tool = "//system/apex/tools:apex_compression_tool",
apexer = "//system/apex/apexer",
avbtool = "//external/avb:avbtool",
conv_apex_manifest = "//system/apex/apexer:conv_apex_manifest",
dexdeps = "//dalvik/tools/dexdeps", # tool input for gen_java_usedby_apex
e2fsdroid = "//external/e2fsprogs/contrib/android:e2fsdroid",
gen_java_usedby_apex = "//build/soong/scripts:gen_java_usedby_apex.sh",
gen_ndk_usedby_apex = "//build/soong/scripts:gen_ndk_usedby_apex.sh",
jsonmodify = "//build/soong/scripts:jsonmodify",
manifest_fixer = "//build/soong/scripts:manifest_fixer",
mke2fs = "//external/e2fsprogs/misc:mke2fs",
notice_generator = "//build/bazel/compliance/cmd:bazel_notice_gen",
readelf = "//prebuilts/clang/host/linux-x86:llvm-readelf",
resize2fs = "//external/e2fsprogs/resize:resize2fs",
sefcontext_compile = "//external/selinux/libselinux:sefcontext_compile",
soong_zip = "//build/soong/zip/cmd:soong_zip",
)
toolchain(
name = "apex_toolchain_def",
exec_compatible_with = [
"//build/bazel/platforms/arch:x86_64",
"//build/bazel/platforms/os:linux",
],
target_compatible_with = [
"//build/bazel/platforms/os:android",
],
toolchain = ":apex_toolchain",
toolchain_type = "//build/bazel/rules/apex:apex_toolchain_type",
)
apex_test_suite(
name = "apex_tests",
)
apex_aab_test_suite(
name = "apex_aab_tests",
)
apex_key_test_suite(
name = "apex_key_tests",
)
apex_mk_test_suite(
name = "apex_mk_tests",
)
filegroup(
name = "signapk_deploy_jar",
srcs = ["//build/make/tools/signapk:signapk_deploy.jar"],
visibility = ["//visibility:public"],
)
|