aboutsummaryrefslogtreecommitdiff
path: root/scripts/manifest_check.py
diff options
context:
space:
mode:
authormosimchah <mosimchah@gmail.com>2025-12-02 09:27:38 -0500
committermosimchah <mosimchah@gmail.com>2025-12-02 09:27:38 -0500
commitc7bade461dc55726f62997d13a48582f7c4b4655 (patch)
treeea0588da76060a2038f54f67efd046ca77634b10 /scripts/manifest_check.py
parent0f5414d19317805e8bbbe7c4db5f0fd78769bad5 (diff)
parent89d78cff8b00d3b20a90074635c3fe5a2ee49474 (diff)
Merge branch 'lineage-23.1' of https://github.com/LineageOS/android_build_soong into HEADw16.1
* 'lineage-23.1' of https://github.com/LineageOS/android_build_soong: (528 commits) Revert "install_symlink: Make symlink target configurable" Reapply "Clear as much of cc.Module as possible after GenerateBuildActions" Revert "rust: config: Fix missing CPU variant LD flags in Rust" Rename build-flag in outdir Revert^4 "cipd: Default CIPD proxy server to on, add opt-out" Convert check-vintf-all to phony with actions Create a partial implementation of check-vintf-all for soong-only Configure RBE rust pool based on build variant Revert^3 "Add sdk version check to arr" Add jdk.internal.invoke to the allowlist Make droid always depend on symbols zip Import Device and Odm skus Don't install gob_gen in Soong Remove bazel reference from run_integration_tests.sh Fix bootstrap_test.sh Don't panic in aconfig libraries when AllowMissingDependencies is set Avoid returning nil paths from PathForModuleSrc Revert "Flag controled clang version" Rework module target dependencies on required deps Revert^2 "Add sdk version check to arr" ... Change-Id: I6e9a63fa14fda917a42e426e5dcebbad7f67e1de
Diffstat (limited to 'scripts/manifest_check.py')
-rwxr-xr-xscripts/manifest_check.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/scripts/manifest_check.py b/scripts/manifest_check.py
index 96dc5a6ce..975709e72 100755
--- a/scripts/manifest_check.py
+++ b/scripts/manifest_check.py
@@ -80,6 +80,13 @@ def parse_args():
dest='dexpreopt_configs',
action='append',
help='a paths to a dexpreopt.config of some library')
+ parser.add_argument(
+ '--bootclasspath-libs',
+ dest='bootclasspath_libs',
+ action='append',
+ help='jars in the bootclasspath, which should be ignored by the uses '
+ 'libraries check',
+ default=[])
parser.add_argument('--aapt', dest='aapt', help='path to aapt executable')
parser.add_argument(
'--output', '-o', dest='output', help='output AndroidManifest.xml file')
@@ -94,7 +101,8 @@ C_OFF = "\033[0m"
C_BOLD = "\033[1m"
-def enforce_uses_libraries(manifest, required, optional, missing_optional, relax, is_apk, path):
+def enforce_uses_libraries(manifest, required, optional, missing_optional, relax, is_apk, path,
+ bootclasspath_libs):
"""Verify that the <uses-library> tags in the manifest match those provided
by the build system.
@@ -113,6 +121,10 @@ def enforce_uses_libraries(manifest, required, optional, missing_optional, relax
manifest_required, manifest_optional, tags = extract_uses_libs_xml(
manifest)
+ # Filter out bootclasspath libs from the manifest to ignore them in the check.
+ manifest_required = [lib for lib in manifest_required if lib not in bootclasspath_libs]
+ manifest_optional = [lib for lib in manifest_optional if lib not in bootclasspath_libs]
+
# Trim namespace component. Normally Soong does that automatically when it
# handles module names specified in Android.bp properties. However not all
# <uses-library> entries in the manifest correspond to real modules: some of
@@ -361,7 +373,8 @@ def main():
# script was passed a special parameter to suppress exceptions.
errmsg = enforce_uses_libraries(manifest, required, optional,
args.missing_optional_uses_libraries,
- args.enforce_uses_libraries_relax, is_apk, args.input)
+ args.enforce_uses_libraries_relax, is_apk, args.input,
+ args.bootclasspath_libs)
# Create a status file that is empty on success, or contains an
# error message on failure. When exceptions are suppressed,