224 lines
6.1 KiB
Python
224 lines
6.1 KiB
Python
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:metadata.bzl", "metadata")
|
|
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")
|
|
|
|
# Setup package and default_metadata_file for _test_apex_sbom in apex_test.bzl
|
|
package(default_package_metadata = [":default_metadata_file"])
|
|
|
|
metadata(name = "default_metadata_file")
|
|
|
|
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 = "mtk_vsdk",
|
|
build_setting_default = False,
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
config_setting(
|
|
name = "in_mtk_vsdk",
|
|
flag_values = {
|
|
":mtk_vsdk": "True",
|
|
},
|
|
|
|
)
|
|
|
|
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",
|
|
aapt2 = select({"in_mtk_vsdk":"//prebuilts/sdk/tools:aapt2","//conditions:default":"//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"],
|
|
)
|