1*7594170eSAndroid Build Coastguard Workerload("@bazel_skylib//rules:common_settings.bzl", "bool_flag", "bool_setting", "string_list_setting", "string_setting") 2*7594170eSAndroid Build Coastguard Workerload("@env//:env.bzl", "env") 3*7594170eSAndroid Build Coastguard Workerload("@soong_injection//api_levels:platform_versions.bzl", "platform_versions") 4*7594170eSAndroid Build Coastguard Workerload("//build/bazel/flags:common.bzl", "is_env_true") 5*7594170eSAndroid Build Coastguard Workerload("//build/bazel/platforms/arch/variants:constants.bzl", "arch_variant_to_constraints") 6*7594170eSAndroid Build Coastguard Workerload("//build/bazel/rules:metadata.bzl", "metadata") 7*7594170eSAndroid Build Coastguard Workerload("//build/bazel/rules/apex:toolchain.bzl", "apex_toolchain") 8*7594170eSAndroid Build Coastguard Workerload("//build/bazel/rules/common:api.bzl", "api") 9*7594170eSAndroid Build Coastguard Workerload(":apex_aab_test.bzl", "apex_aab_test_suite") 10*7594170eSAndroid Build Coastguard Workerload(":apex_key_test.bzl", "apex_key_test_suite") 11*7594170eSAndroid Build Coastguard Workerload(":apex_mk_test.bzl", "apex_mk_test_suite") 12*7594170eSAndroid Build Coastguard Workerload(":apex_test.bzl", "apex_test_suite") 13*7594170eSAndroid Build Coastguard Worker 14*7594170eSAndroid Build Coastguard Worker# Setup package and default_metadata_file for _test_apex_sbom in apex_test.bzl 15*7594170eSAndroid Build Coastguard Workerpackage(default_package_metadata = [":default_metadata_file"]) 16*7594170eSAndroid Build Coastguard Worker 17*7594170eSAndroid Build Coastguard Workermetadata(name = "default_metadata_file") 18*7594170eSAndroid Build Coastguard Worker 19*7594170eSAndroid Build Coastguard Workerstring_setting( 20*7594170eSAndroid Build Coastguard Worker name = "api_domain", 21*7594170eSAndroid Build Coastguard Worker build_setting_default = "system", 22*7594170eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 23*7594170eSAndroid Build Coastguard Worker) 24*7594170eSAndroid Build Coastguard Worker 25*7594170eSAndroid Build Coastguard Workerstring_setting( 26*7594170eSAndroid Build Coastguard Worker name = "apex_name", 27*7594170eSAndroid Build Coastguard Worker build_setting_default = "", 28*7594170eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 29*7594170eSAndroid Build Coastguard Worker) 30*7594170eSAndroid Build Coastguard Worker 31*7594170eSAndroid Build Coastguard Workerstring_setting( 32*7594170eSAndroid Build Coastguard Worker name = "base_apex_name", 33*7594170eSAndroid Build Coastguard Worker build_setting_default = "", 34*7594170eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 35*7594170eSAndroid Build Coastguard Worker) 36*7594170eSAndroid Build Coastguard Worker 37*7594170eSAndroid Build Coastguard Workerstring_setting( 38*7594170eSAndroid Build Coastguard Worker name = "override_apex_manifest_default_version", 39*7594170eSAndroid Build Coastguard Worker build_setting_default = env.get("OVERRIDE_APEX_MANIFEST_DEFAULT_VERSION", ""), 40*7594170eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 41*7594170eSAndroid Build Coastguard Worker) 42*7594170eSAndroid Build Coastguard Worker 43*7594170eSAndroid Build Coastguard Workerbool_setting( 44*7594170eSAndroid Build Coastguard Worker name = "within_apex", 45*7594170eSAndroid Build Coastguard Worker build_setting_default = False, 46*7594170eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 47*7594170eSAndroid Build Coastguard Worker) 48*7594170eSAndroid Build Coastguard Worker 49*7594170eSAndroid Build Coastguard Workerconfig_setting( 50*7594170eSAndroid Build Coastguard Worker name = "system", 51*7594170eSAndroid Build Coastguard Worker constraint_values = [ 52*7594170eSAndroid Build Coastguard Worker arch_variant_to_constraints["android"], 53*7594170eSAndroid Build Coastguard Worker ], 54*7594170eSAndroid Build Coastguard Worker flag_values = { 55*7594170eSAndroid Build Coastguard Worker ":api_domain": "system", 56*7594170eSAndroid Build Coastguard Worker ":within_apex": "False", 57*7594170eSAndroid Build Coastguard Worker }, 58*7594170eSAndroid Build Coastguard Worker) 59*7594170eSAndroid Build Coastguard Worker 60*7594170eSAndroid Build Coastguard Worker# config setting to build sdk variants 61*7594170eSAndroid Build Coastguard Workerconfig_setting( 62*7594170eSAndroid Build Coastguard Worker name = "unbundled_app", 63*7594170eSAndroid Build Coastguard Worker constraint_values = [ 64*7594170eSAndroid Build Coastguard Worker arch_variant_to_constraints["android"], 65*7594170eSAndroid Build Coastguard Worker ], 66*7594170eSAndroid Build Coastguard Worker flag_values = { 67*7594170eSAndroid Build Coastguard Worker ":api_domain": "unbundled_app", 68*7594170eSAndroid Build Coastguard Worker ":within_apex": "False", 69*7594170eSAndroid Build Coastguard Worker }, 70*7594170eSAndroid Build Coastguard Worker) 71*7594170eSAndroid Build Coastguard Worker 72*7594170eSAndroid Build Coastguard Workerconfig_setting( 73*7594170eSAndroid Build Coastguard Worker name = "unbundled_app.arm", 74*7594170eSAndroid Build Coastguard Worker constraint_values = [ 75*7594170eSAndroid Build Coastguard Worker arch_variant_to_constraints["android"], 76*7594170eSAndroid Build Coastguard Worker arch_variant_to_constraints["arm"], 77*7594170eSAndroid Build Coastguard Worker ], 78*7594170eSAndroid Build Coastguard Worker flag_values = { 79*7594170eSAndroid Build Coastguard Worker ":api_domain": "unbundled_app", 80*7594170eSAndroid Build Coastguard Worker ":within_apex": "False", 81*7594170eSAndroid Build Coastguard Worker }, 82*7594170eSAndroid Build Coastguard Worker) 83*7594170eSAndroid Build Coastguard Worker 84*7594170eSAndroid Build Coastguard Workerconfig_setting( 85*7594170eSAndroid Build Coastguard Worker name = "in_apex", 86*7594170eSAndroid Build Coastguard Worker flag_values = { 87*7594170eSAndroid Build Coastguard Worker ":within_apex": "True", 88*7594170eSAndroid Build Coastguard Worker }, 89*7594170eSAndroid Build Coastguard Worker) 90*7594170eSAndroid Build Coastguard Worker 91*7594170eSAndroid Build Coastguard Workerconfig_setting( 92*7594170eSAndroid Build Coastguard Worker name = "non_apex", 93*7594170eSAndroid Build Coastguard Worker flag_values = { 94*7594170eSAndroid Build Coastguard Worker ":apex_name": "", 95*7594170eSAndroid Build Coastguard Worker }, 96*7594170eSAndroid Build Coastguard Worker) 97*7594170eSAndroid Build Coastguard Worker 98*7594170eSAndroid Build Coastguard Workerconfig_setting( 99*7594170eSAndroid Build Coastguard Worker name = "android-in_apex", 100*7594170eSAndroid Build Coastguard Worker constraint_values = [ 101*7594170eSAndroid Build Coastguard Worker arch_variant_to_constraints["android"], 102*7594170eSAndroid Build Coastguard Worker ], 103*7594170eSAndroid Build Coastguard Worker flag_values = { 104*7594170eSAndroid Build Coastguard Worker ":within_apex": "True", 105*7594170eSAndroid Build Coastguard Worker }, 106*7594170eSAndroid Build Coastguard Worker) 107*7594170eSAndroid Build Coastguard Worker 108*7594170eSAndroid Build Coastguard Workerconfig_setting( 109*7594170eSAndroid Build Coastguard Worker name = "android-non_apex", 110*7594170eSAndroid Build Coastguard Worker constraint_values = [ 111*7594170eSAndroid Build Coastguard Worker arch_variant_to_constraints["android"], 112*7594170eSAndroid Build Coastguard Worker ], 113*7594170eSAndroid Build Coastguard Worker flag_values = { 114*7594170eSAndroid Build Coastguard Worker ":within_apex": "False", 115*7594170eSAndroid Build Coastguard Worker }, 116*7594170eSAndroid Build Coastguard Worker) 117*7594170eSAndroid Build Coastguard Worker 118*7594170eSAndroid Build Coastguard Workerconfig_setting( 119*7594170eSAndroid Build Coastguard Worker name = "linux_bionic-in_apex", 120*7594170eSAndroid Build Coastguard Worker constraint_values = [ 121*7594170eSAndroid Build Coastguard Worker arch_variant_to_constraints["linux_bionic"], 122*7594170eSAndroid Build Coastguard Worker ], 123*7594170eSAndroid Build Coastguard Worker flag_values = { 124*7594170eSAndroid Build Coastguard Worker ":within_apex": "True", 125*7594170eSAndroid Build Coastguard Worker }, 126*7594170eSAndroid Build Coastguard Worker) 127*7594170eSAndroid Build Coastguard Worker 128*7594170eSAndroid Build Coastguard Workerconfig_setting( 129*7594170eSAndroid Build Coastguard Worker name = "linux_bionic-non_apex", 130*7594170eSAndroid Build Coastguard Worker constraint_values = [ 131*7594170eSAndroid Build Coastguard Worker arch_variant_to_constraints["linux_bionic"], 132*7594170eSAndroid Build Coastguard Worker ], 133*7594170eSAndroid Build Coastguard Worker flag_values = { 134*7594170eSAndroid Build Coastguard Worker ":within_apex": "False", 135*7594170eSAndroid Build Coastguard Worker }, 136*7594170eSAndroid Build Coastguard Worker) 137*7594170eSAndroid Build Coastguard Worker 138*7594170eSAndroid Build Coastguard Workerstring_list_setting( 139*7594170eSAndroid Build Coastguard Worker name = "apex_direct_deps", 140*7594170eSAndroid Build Coastguard Worker build_setting_default = [], 141*7594170eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 142*7594170eSAndroid Build Coastguard Worker) 143*7594170eSAndroid Build Coastguard Worker 144*7594170eSAndroid Build Coastguard Workerstring_setting( 145*7594170eSAndroid Build Coastguard Worker name = "min_sdk_version", 146*7594170eSAndroid Build Coastguard Worker build_setting_default = "", 147*7594170eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 148*7594170eSAndroid Build Coastguard Worker) 149*7594170eSAndroid Build Coastguard Worker 150*7594170eSAndroid Build Coastguard Worker[ 151*7594170eSAndroid Build Coastguard Worker config_setting( 152*7594170eSAndroid Build Coastguard Worker name = "min_sdk_version_" + str(level), 153*7594170eSAndroid Build Coastguard Worker flag_values = { 154*7594170eSAndroid Build Coastguard Worker ":min_sdk_version": str(level), 155*7594170eSAndroid Build Coastguard Worker }, 156*7594170eSAndroid Build Coastguard Worker ) 157*7594170eSAndroid Build Coastguard Worker for level in api.api_levels.values() 158*7594170eSAndroid Build Coastguard Worker] 159*7594170eSAndroid Build Coastguard Worker 160*7594170eSAndroid Build Coastguard Workerbool_flag( 161*7594170eSAndroid Build Coastguard Worker name = "unsafe_disable_apex_allowed_deps_check", 162*7594170eSAndroid Build Coastguard Worker build_setting_default = is_env_true(env.get("UNSAFE_DISABLE_APEX_ALLOWED_DEPS_CHECK")), 163*7594170eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 164*7594170eSAndroid Build Coastguard Worker) 165*7594170eSAndroid Build Coastguard Worker 166*7594170eSAndroid Build Coastguard Workerbool_flag( 167*7594170eSAndroid Build Coastguard Worker name = "unbundled_build_target_sdk_with_api_fingerprint", 168*7594170eSAndroid Build Coastguard Worker build_setting_default = is_env_true(env.get("UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT")), 169*7594170eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 170*7594170eSAndroid Build Coastguard Worker) 171*7594170eSAndroid Build Coastguard Worker 172*7594170eSAndroid Build Coastguard Workerstring_setting( 173*7594170eSAndroid Build Coastguard Worker name = "platform_sdk_codename", 174*7594170eSAndroid Build Coastguard Worker build_setting_default = platform_versions.platform_sdk_codename, 175*7594170eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 176*7594170eSAndroid Build Coastguard Worker) 177*7594170eSAndroid Build Coastguard Worker 178*7594170eSAndroid Build Coastguard Workertoolchain_type(name = "apex_toolchain_type") 179*7594170eSAndroid Build Coastguard Worker 180*7594170eSAndroid Build Coastguard Workerapex_toolchain( 181*7594170eSAndroid Build Coastguard Worker name = "apex_toolchain", 182*7594170eSAndroid Build Coastguard Worker aapt2 = "//frameworks/base/tools/aapt2", 183*7594170eSAndroid Build Coastguard Worker android_jar = "//prebuilts/sdk/current:public/android.jar", 184*7594170eSAndroid Build Coastguard Worker apex_compression_tool = "//system/apex/tools:apex_compression_tool", 185*7594170eSAndroid Build Coastguard Worker apexer = "//system/apex/apexer", 186*7594170eSAndroid Build Coastguard Worker avbtool = "//external/avb:avbtool", 187*7594170eSAndroid Build Coastguard Worker conv_apex_manifest = "//system/apex/apexer:conv_apex_manifest", 188*7594170eSAndroid Build Coastguard Worker dexdeps = "//dalvik/tools/dexdeps", # tool input for gen_java_usedby_apex 189*7594170eSAndroid Build Coastguard Worker e2fsdroid = "//external/e2fsprogs/contrib/android:e2fsdroid", 190*7594170eSAndroid Build Coastguard Worker gen_java_usedby_apex = "//build/soong/scripts:gen_java_usedby_apex.sh", 191*7594170eSAndroid Build Coastguard Worker gen_ndk_usedby_apex = "//build/soong/scripts:gen_ndk_usedby_apex.sh", 192*7594170eSAndroid Build Coastguard Worker jsonmodify = "//build/soong/scripts:jsonmodify", 193*7594170eSAndroid Build Coastguard Worker manifest_fixer = "//build/soong/scripts:manifest_fixer", 194*7594170eSAndroid Build Coastguard Worker mke2fs = "//external/e2fsprogs/misc:mke2fs", 195*7594170eSAndroid Build Coastguard Worker notice_generator = "//build/bazel/compliance:bazel_notice_gen", 196*7594170eSAndroid Build Coastguard Worker readelf = "//prebuilts/clang/host/linux-x86:llvm-readelf", 197*7594170eSAndroid Build Coastguard Worker resize2fs = "//external/e2fsprogs/resize:resize2fs", 198*7594170eSAndroid Build Coastguard Worker sefcontext_compile = "//external/selinux/libselinux:sefcontext_compile", 199*7594170eSAndroid Build Coastguard Worker soong_zip = "//build/soong/zip/cmd:soong_zip", 200*7594170eSAndroid Build Coastguard Worker) 201*7594170eSAndroid Build Coastguard Worker 202*7594170eSAndroid Build Coastguard Workertoolchain( 203*7594170eSAndroid Build Coastguard Worker name = "apex_toolchain_def", 204*7594170eSAndroid Build Coastguard Worker exec_compatible_with = [ 205*7594170eSAndroid Build Coastguard Worker "//build/bazel_common_rules/platforms/arch:x86_64", 206*7594170eSAndroid Build Coastguard Worker "//build/bazel_common_rules/platforms/os:linux", 207*7594170eSAndroid Build Coastguard Worker ], 208*7594170eSAndroid Build Coastguard Worker target_compatible_with = [ 209*7594170eSAndroid Build Coastguard Worker "//build/bazel_common_rules/platforms/os:android", 210*7594170eSAndroid Build Coastguard Worker ], 211*7594170eSAndroid Build Coastguard Worker toolchain = ":apex_toolchain", 212*7594170eSAndroid Build Coastguard Worker toolchain_type = "//build/bazel/rules/apex:apex_toolchain_type", 213*7594170eSAndroid Build Coastguard Worker) 214*7594170eSAndroid Build Coastguard Worker 215*7594170eSAndroid Build Coastguard Workerapex_test_suite( 216*7594170eSAndroid Build Coastguard Worker name = "apex_tests", 217*7594170eSAndroid Build Coastguard Worker) 218*7594170eSAndroid Build Coastguard Worker 219*7594170eSAndroid Build Coastguard Workerapex_aab_test_suite( 220*7594170eSAndroid Build Coastguard Worker name = "apex_aab_tests", 221*7594170eSAndroid Build Coastguard Worker) 222*7594170eSAndroid Build Coastguard Worker 223*7594170eSAndroid Build Coastguard Workerapex_key_test_suite( 224*7594170eSAndroid Build Coastguard Worker name = "apex_key_tests", 225*7594170eSAndroid Build Coastguard Worker) 226*7594170eSAndroid Build Coastguard Worker 227*7594170eSAndroid Build Coastguard Workerapex_mk_test_suite( 228*7594170eSAndroid Build Coastguard Worker name = "apex_mk_tests", 229*7594170eSAndroid Build Coastguard Worker) 230*7594170eSAndroid Build Coastguard Worker 231*7594170eSAndroid Build Coastguard Workerfilegroup( 232*7594170eSAndroid Build Coastguard Worker name = "signapk_deploy_jar", 233*7594170eSAndroid Build Coastguard Worker srcs = ["//build/make/tools/signapk:signapk_deploy.jar"], 234*7594170eSAndroid Build Coastguard Worker visibility = ["//visibility:public"], 235*7594170eSAndroid Build Coastguard Worker) 236