platform_build_soong/Android.bp
Jiakai Zhang 0a0a2fbea9 Add a build-time check for dexpreopting system server jars.
This change adds a Soong module that stores the paths to the compilation
artifacts of system server jars in a variable, which will then be
consumed by Make to check if the artifacts are installed. When the check
fails, it means that dexpreopting is not working for some system server
jars and needs to be fixed.

Bug: 201371822
Test: m nothing
Test: manual -
  1. Add "service-permission" to DEXPREOPT_DISABLED_MODULES (https://cs.android.com/android/platform/superproject/+/master:build/make/core/product_config.mk?q=DEXPREOPT_DISABLED_MODULES)
  2. m nothing
  3. See the error:
    Missing compilation artifacts. Dexpreopting is not working for some system server jars
    Offending entries:
    system/framework/oat/x86_64/apex@com.android.permission@javalib@service-permission.jar@classes.odex
    system/framework/oat/x86_64/apex@com.android.permission@javalib@service-permission.jar@classes.vdex
Change-Id: I4816f19668f1dae180a34adafdbfa448c97aa0db
2021-10-29 11:55:20 +00:00

133 lines
2.6 KiB
Text

package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
subdirs = [
"androidmk",
"bpfix",
"cmd/*",
"fs",
"finder",
"jar",
"zip",
"third_party/zip",
"ui/*",
]
bootstrap_go_package {
name: "soong",
pkgPath: "android/soong",
deps: [
"blueprint",
],
srcs: [
"doc.go",
],
}
//
// Defaults to enable various configurations of host bionic
//
cc_defaults {
name: "linux_bionic_supported",
host_supported: true,
target: {
host: {
enabled: false,
},
linux_bionic: {
enabled: true,
},
},
}
//
// C static libraries extracted from the gcc toolchain
//
toolchain_library {
name: "libwinpthread",
host_supported: true,
enabled: false,
target: {
windows: {
enabled: true,
},
windows_x86: {
src: "prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32/lib32/libwinpthread.a",
},
windows_x86_64: {
src: "prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32/lib/libwinpthread.a",
},
},
notice: ":mingw-libwinpthread-notice",
licenses: ["winpthreads_license"],
}
kernel_headers {
name: "device_kernel_headers",
vendor: true,
recovery_available: true,
}
cc_genrule {
name: "host_bionic_linker_asm",
host_supported: true,
device_supported: false,
target: {
linux_bionic: {
enabled: true,
},
linux_glibc: {
enabled: false,
},
darwin: {
enabled: false,
},
},
tools: ["extract_linker"],
cmd: "$(location) -s $(out) $(in)",
srcs: [":linker"],
out: ["linker.s"],
}
cc_genrule {
name: "host_bionic_linker_script",
host_supported: true,
device_supported: false,
target: {
linux_bionic: {
enabled: true,
},
linux_glibc: {
enabled: false,
},
darwin: {
enabled: false,
},
},
tools: ["extract_linker"],
cmd: "$(location) -T $(out) $(in)",
srcs: [":linker"],
out: ["linker.script"],
}
// Instantiate the dex_bootjars singleton module.
dex_bootjars {
name: "dex_bootjars",
}
// Pseudo-test that's run on checkbuilds to ensure that get_clang_version can
// parse cc/config/global.go.
genrule {
name: "get_clang_version_test",
cmd: "$(location get_clang_version) > $(out)",
tools: ["get_clang_version"],
srcs: ["cc/config/global.go"],
out: ["clang-prebuilts-version.txt"],
}
dexpreopt_systemserver_check {
name: "dexpreopt_systemserver_check",
}