| // Copyright (C) 2019 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // |
| // Module-specific defaults. |
| // |
| // For module X, if we need to build it both as a library and an executable: |
| // - A default rule `releasetools_X_defaults` is created, which lists `srcs`, `libs` and |
| // `required` properties. |
| // - `python_library_host` and `python_binary_host` are created by listing |
| // `releasetools_X_defaults` in their defaults. |
| // |
| |
| python_defaults { |
| name: "releasetools_add_img_to_target_files_defaults", |
| srcs: [ |
| "add_img_to_target_files.py", |
| ], |
| libs: [ |
| "releasetools_build_image", |
| "releasetools_build_super_image", |
| "releasetools_common", |
| ], |
| required: [ |
| "care_map_generator", |
| ], |
| } |
| |
| python_defaults { |
| name: "releasetools_build_image_defaults", |
| srcs: [ |
| "build_image.py", |
| ], |
| libs: [ |
| "releasetools_common", |
| "releasetools_verity_utils", |
| ], |
| required: [ |
| "blk_alloc_to_base_fs", |
| "e2fsck", |
| "simg2img", |
| "tune2fs", |
| ], |
| } |
| |
| python_defaults { |
| name: "releasetools_build_super_image_defaults", |
| srcs: [ |
| "build_super_image.py", |
| ], |
| libs: [ |
| "releasetools_common", |
| ], |
| } |
| |
| python_defaults { |
| name: "releasetools_img_from_target_files_defaults", |
| srcs: [ |
| "img_from_target_files.py", |
| ], |
| libs: [ |
| "releasetools_build_super_image", |
| "releasetools_common", |
| ], |
| required: [ |
| "zip2zip", |
| ], |
| } |
| |
| python_defaults { |
| name: "releasetools_check_target_files_vintf_defaults", |
| srcs: [ |
| "check_target_files_vintf.py", |
| ], |
| libs: [ |
| "releasetools_common", |
| ], |
| required: [ |
| "checkvintf", |
| ], |
| } |
| |
| python_defaults { |
| name: "releasetools_ota_from_target_files_defaults", |
| srcs: [ |
| "edify_generator.py", |
| "ota_from_target_files.py", |
| "target_files_diff.py", |
| ], |
| libs: [ |
| "releasetools_check_target_files_vintf", |
| "releasetools_common", |
| "releasetools_verity_utils", |
| ], |
| required: [ |
| "brillo_update_payload", |
| "checkvintf", |
| ], |
| } |
| |
| // |
| // Host libraries. |
| // |
| |
| python_defaults { |
| name: "releasetools_library_defaults", |
| version: { |
| py2: { |
| enabled: true, |
| }, |
| py3: { |
| enabled: true, |
| }, |
| }, |
| } |
| |
| python_library_host { |
| name: "releasetools_add_img_to_target_files", |
| defaults: [ |
| "releasetools_library_defaults", |
| "releasetools_add_img_to_target_files_defaults", |
| ], |
| } |
| |
| python_library_host { |
| name: "releasetools_apex_utils", |
| defaults: ["releasetools_library_defaults"], |
| srcs: [ |
| "apex_utils.py", |
| ], |
| libs: [ |
| "releasetools_common", |
| ], |
| } |
| |
| python_library_host { |
| name: "releasetools_build_image", |
| defaults: [ |
| "releasetools_library_defaults", |
| "releasetools_build_image_defaults", |
| ], |
| } |
| |
| python_library_host { |
| name: "releasetools_build_super_image", |
| defaults: [ |
| "releasetools_library_defaults", |
| "releasetools_build_super_image_defaults", |
| ], |
| } |
| |
| python_library_host { |
| name: "releasetools_check_target_files_vintf", |
| defaults: [ |
| "releasetools_library_defaults", |
| "releasetools_check_target_files_vintf_defaults", |
| ], |
| } |
| |
| python_library_host { |
| name: "releasetools_common", |
| defaults: ["releasetools_library_defaults"], |
| srcs: [ |
| "blockimgdiff.py", |
| "common.py", |
| "images.py", |
| "rangelib.py", |
| "sparse_img.py", |
| ], |
| // Only the tools that are referenced directly are listed as required modules. For example, |
| // `avbtool` is not here, as the script always uses the one from info_dict['avb_avbtool']. |
| required: [ |
| "aapt2", |
| "boot_signer", |
| "brotli", |
| "bsdiff", |
| "imgdiff", |
| "minigzip", |
| "lz4", |
| "mkbootfs", |
| "signapk", |
| ], |
| } |
| |
| python_library_host { |
| name: "releasetools_img_from_target_files", |
| defaults: [ |
| "releasetools_library_defaults", |
| "releasetools_img_from_target_files_defaults", |
| ], |
| } |
| |
| python_library_host { |
| name: "releasetools_ota_from_target_files", |
| defaults: [ |
| "releasetools_library_defaults", |
| "releasetools_ota_from_target_files_defaults", |
| ], |
| } |
| |
| python_library_host { |
| name: "releasetools_verity_utils", |
| defaults: ["releasetools_library_defaults"], |
| srcs: [ |
| "verity_utils.py", |
| ], |
| required: [ |
| "append2simg", |
| "build_verity_metadata", |
| "build_verity_tree", |
| "fec", |
| ], |
| } |
| |
| // |
| // Host binaries. |
| // |
| |
| python_defaults { |
| name: "releasetools_binary_defaults", |
| version: { |
| py2: { |
| enabled: true, |
| embedded_launcher: true, |
| }, |
| py3: { |
| enabled: false, |
| embedded_launcher: false, |
| }, |
| }, |
| } |
| |
| python_binary_host { |
| name: "add_img_to_target_files", |
| defaults: [ |
| "releasetools_binary_defaults", |
| "releasetools_add_img_to_target_files_defaults", |
| ], |
| } |
| |
| python_binary_host { |
| name: "build_image", |
| defaults: [ |
| "releasetools_binary_defaults", |
| "releasetools_build_image_defaults", |
| ], |
| } |
| |
| python_binary_host { |
| name: "build_super_image", |
| defaults: [ |
| "releasetools_binary_defaults", |
| "releasetools_build_super_image_defaults", |
| ], |
| } |
| |
| python_binary_host { |
| name: "check_partition_sizes", |
| srcs: [ |
| "check_partition_sizes.py", |
| ], |
| libs: [ |
| "releasetools_common", |
| ], |
| defaults: [ |
| "releasetools_binary_defaults", |
| ], |
| } |
| |
| python_binary_host { |
| name: "check_ota_package_signature", |
| defaults: ["releasetools_binary_defaults"], |
| srcs: [ |
| "check_ota_package_signature.py", |
| ], |
| libs: [ |
| "releasetools_common", |
| ], |
| required: [ |
| "delta_generator", |
| ], |
| } |
| |
| python_binary_host { |
| name: "check_target_files_signatures", |
| defaults: ["releasetools_binary_defaults"], |
| srcs: [ |
| "check_target_files_signatures.py", |
| ], |
| libs: [ |
| "releasetools_common", |
| ], |
| required: [ |
| "aapt", |
| ], |
| } |
| |
| python_binary_host { |
| name: "check_target_files_vintf", |
| defaults: [ |
| "releasetools_binary_defaults", |
| "releasetools_check_target_files_vintf_defaults" |
| ], |
| } |
| |
| python_binary_host { |
| name: "img_from_target_files", |
| defaults: [ |
| "releasetools_binary_defaults", |
| "releasetools_img_from_target_files_defaults", |
| ], |
| } |
| |
| python_binary_host { |
| name: "make_recovery_patch", |
| defaults: ["releasetools_binary_defaults"], |
| srcs: [ |
| "make_recovery_patch.py", |
| ], |
| libs: [ |
| "releasetools_common", |
| ], |
| } |
| |
| python_binary_host { |
| name: "merge_builds", |
| defaults: ["releasetools_binary_defaults"], |
| srcs: [ |
| "merge_builds.py", |
| ], |
| libs: [ |
| "releasetools_build_super_image", |
| "releasetools_common", |
| ], |
| } |
| |
| python_binary_host { |
| name: "merge_target_files", |
| defaults: ["releasetools_binary_defaults"], |
| srcs: [ |
| "merge_target_files.py", |
| ], |
| libs: [ |
| "releasetools_add_img_to_target_files", |
| "releasetools_build_super_image", |
| "releasetools_check_target_files_vintf", |
| "releasetools_common", |
| "releasetools_img_from_target_files", |
| "releasetools_ota_from_target_files", |
| ], |
| required: [ |
| "checkvintf", |
| ], |
| } |
| |
| python_binary_host { |
| name: "ota_from_target_files", |
| defaults: [ |
| "releasetools_binary_defaults", |
| "releasetools_ota_from_target_files_defaults", |
| ], |
| } |
| |
| python_binary_host { |
| name: "ota_package_parser", |
| defaults: ["releasetools_binary_defaults"], |
| srcs: [ |
| "ota_package_parser.py", |
| "rangelib.py", |
| ], |
| } |
| |
| python_binary_host { |
| name: "sparse_img", |
| defaults: ["releasetools_binary_defaults"], |
| srcs: [ |
| "rangelib.py", |
| "sparse_img.py", |
| ], |
| } |
| |
| python_binary_host { |
| name: "sign_apex", |
| defaults: ["releasetools_binary_defaults"], |
| srcs: [ |
| "sign_apex.py", |
| ], |
| libs: [ |
| "releasetools_apex_utils", |
| "releasetools_common", |
| ], |
| } |
| |
| python_binary_host { |
| name: "sign_target_files_apks", |
| defaults: ["releasetools_binary_defaults"], |
| srcs: [ |
| "sign_target_files_apks.py", |
| ], |
| libs: [ |
| "releasetools_add_img_to_target_files", |
| "releasetools_apex_utils", |
| "releasetools_common", |
| ], |
| } |
| |
| python_binary_host { |
| name: "validate_target_files", |
| defaults: ["releasetools_binary_defaults"], |
| srcs: [ |
| "validate_target_files.py", |
| ], |
| libs: [ |
| "releasetools_common", |
| ], |
| } |
| |
| // |
| // Tests. |
| // |
| |
| python_defaults { |
| name: "releasetools_test_defaults", |
| srcs: [ |
| "check_ota_package_signature.py", |
| "check_partition_sizes.py", |
| "check_target_files_signatures.py", |
| "make_recovery_patch.py", |
| "merge_target_files.py", |
| "ota_package_parser.py", |
| "sign_apex.py", |
| "sign_target_files_apks.py", |
| "validate_target_files.py", |
| |
| "test_*.py", |
| ], |
| libs: [ |
| "releasetools_add_img_to_target_files", |
| "releasetools_apex_utils", |
| "releasetools_build_image", |
| "releasetools_build_super_image", |
| "releasetools_check_target_files_vintf", |
| "releasetools_common", |
| "releasetools_img_from_target_files", |
| "releasetools_ota_from_target_files", |
| "releasetools_verity_utils", |
| ], |
| data: [ |
| "testdata/**/*", |
| ], |
| required: [ |
| "otatools", |
| ], |
| } |
| |
| python_test_host { |
| name: "releasetools_test", |
| defaults: ["releasetools_test_defaults"], |
| main: "test_utils.py", |
| version: { |
| py2: { |
| enabled: true, |
| // When using embedded launcher, atest will try (but may fail) to load libc++.so from |
| // host, because the test executable won't be able to find the needed libs via its |
| // runpath. |
| embedded_launcher: false, |
| }, |
| py3: { |
| enabled: false, |
| embedded_launcher: false, |
| }, |
| }, |
| test_suites: ["general-tests"], |
| } |
| |
| python_test_host { |
| name: "releasetools_py3_test", |
| defaults: ["releasetools_test_defaults"], |
| main: "test_utils.py", |
| version: { |
| py2: { |
| enabled: false, |
| embedded_launcher: false, |
| }, |
| py3: { |
| enabled: true, |
| embedded_launcher: false, |
| }, |
| }, |
| test_suites: ["general-tests"], |
| } |