| // Copyright (C) 2025 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. |
| |
| package { |
| // See: http://go/android-license-faq |
| default_applicable_licenses: ["Android-Apache-2.0"], |
| } |
| |
| java_genrule_host { |
| name: "otatools_package_dep_jars", |
| tools: ["soong_zip"], |
| compile_multilib: "first", |
| cmd: "mkdir -p $(genDir)/framework && " + |
| "cp $(in) $(genDir)/framework && " + |
| "$(location soong_zip) -o $(out) -C $(genDir) -D $(genDir)/framework", |
| srcs: [ |
| ":apksigner", |
| ":boot_signer", |
| ":signapk", |
| ":verity_signer", |
| ], |
| out: ["otatools_package_dep_jars.zip"], |
| } |
| |
| cc_genrule { |
| name: "otatools_package_dep_libs", |
| host_supported: true, |
| device_supported: false, |
| compile_multilib: "first", |
| tools: ["soong_zip"], |
| cmd: "mkdir -p $(genDir)/$$CC_MULTILIB &&" + |
| "cp $(in) $(genDir)/$$CC_MULTILIB && " + |
| "$(location soong_zip) -o $(out) -C $(genDir) -D $(genDir)/$$CC_MULTILIB", |
| srcs: [ |
| ":libbase", |
| ":libbrillo", |
| ":libbrillo-stream", |
| ":libc++", |
| "//external/libchrome:libchrome", |
| ":libconscrypt_openjdk_jni", |
| ":libcrypto", |
| ":libcrypto_utils", |
| ":libcutils", |
| ":libevent", |
| ":libext2_blkid", |
| ":libext2_com_err", |
| ":libext2_e2p", |
| ":libext2_quota", |
| ":libext2_uuid", |
| ":libext2fs", |
| ":libext4_utils", |
| ":libfec", |
| ":libhidl-gen-utils", |
| ":libhidlmetadata", |
| ":libicui18n", |
| ":libicuuc", |
| ":liblog", |
| ":liblp", |
| ":liblz4", |
| ":libpcre2", |
| ":libprocessgroup", |
| ":libprotobuf-cpp-lite", |
| ":libselinux", |
| ":libsparse", |
| ":libsqlite", |
| ":libsquashfs_utils", |
| ":libssl", |
| ":libz", |
| ":libziparchive", |
| ], |
| out: ["otatools_package_dep_libs.zip"], |
| } |
| |
| cc_genrule { |
| name: "otatools_package_dep_bins", |
| host_supported: true, |
| device_supported: false, |
| compile_multilib: "first", |
| tools: [ |
| "apksigner", |
| "boot_signer", |
| "merge_zips", |
| "signapk", |
| "verity_signer", |
| ], |
| cmd: "mkdir -p $(genDir)/bin && " + |
| "cp $(in) $(genDir)/bin && " + |
| "cp $(location apksigner) $(location boot_signer) $(location merge_zips) $(location signapk) $(location verity_signer) $(genDir)/bin && " + |
| "$(location :soong_zip) -o $(out) -C $(genDir) -D $(genDir)/bin", |
| srcs: [ |
| ":aapt2", |
| ":add_img_to_target_files", |
| ":apex_compression_tool", |
| ":apexd_host", |
| ":apexer", |
| ":append2simg", |
| ":avbtool", |
| ":blk_alloc_to_base_fs", |
| ":brillo_update_payload", |
| ":brotli", |
| ":bsdiff", |
| ":build_image", |
| ":build_super_image", |
| ":build_verity_metadata", |
| ":build_verity_tree", |
| ":care_map_generator", |
| ":check_ota_package_signature", |
| ":check_target_files_signatures", |
| ":check_target_files_vintf", |
| ":checkvintf", |
| ":create_brick_ota", |
| ":deapexer", |
| ":debugfs_static", |
| ":delta_generator", |
| ":e2fsck", |
| ":e2fsdroid", |
| ":fc_sort", |
| ":fec", |
| ":fs_config", |
| ":fsck.erofs", |
| ":fsck.f2fs", |
| ":generate_verity_key", |
| ":host_init_verifier", |
| ":img2simg", |
| ":img_from_target_files", |
| ":initrd_bootconfig", |
| ":lpmake", |
| ":lpunpack", |
| ":lz4", |
| ":make_f2fs", |
| ":make_f2fs_casefold", |
| ":merge_ota", |
| ":merge_target_files", |
| "//device/generic/goldfish:mk_combined_img", |
| ":mkbootfs", |
| ":mkbootimg", |
| ":mke2fs", |
| ":mkf2fsuserimg", |
| ":mkfs.erofs", |
| ":mksquashfs", |
| ":mksquashfsimage", |
| ":mkuserimg_mke2fs", |
| ":ota_extractor", |
| ":ota_from_target_files", |
| ":repack_bootimg", |
| ":resize2fs", |
| ":secilc", |
| ":sefcontext_compile", |
| ":sgdisk", |
| ":shflags", |
| ":sign_apex", |
| ":sign_target_files_apks", |
| ":sign_virt_apex", |
| ":simg2img", |
| ":sload_f2fs", |
| ":soong_zip", |
| ":toybox", |
| ":tune2fs", |
| ":unpack_bootimg", |
| ":update_device", |
| ":validate_target_files", |
| ":verity_verifier", |
| ":zip2zip", |
| ":zipalign", |
| ":zucchini", |
| ] + select(soong_config_variable("otatools", "use_build_mixed_kernels_ramdisk"), { |
| true: [":build_mixed_kernels_ramdisk_host"], |
| default: [], |
| }) + select(soong_config_variable("otatools", "use_bootable_deprecated_ota_applypatch"), { |
| true: [ |
| ":imgdiff", |
| ":update_host_simulator", |
| ], |
| default: [], |
| }), |
| out: ["otatools_package_dep_bins.zip"], |
| } |
| |
| java_genrule_host { |
| name: "otatools_package", |
| tools: ["merge_zips"], |
| compile_multilib: "first", |
| cmd: "$(location merge_zips) $(out) $(in)", |
| srcs: [ |
| ":otatools_package_cert_files", |
| ":otatools_package_dep_bins", |
| ":otatools_package_dep_jars", |
| ":otatools_package_dep_libs", |
| ":otatools_package_releasetools", |
| ], |
| // TODO: Rename as "otatools.zip" when the rest files are ready. |
| out: ["otatools_temp.zip"], |
| dist: { |
| targets: [ |
| "otatools-package-temp", |
| ], |
| }, |
| } |
| |
| otatools_package_cert_files { |
| name: "otatools_package_cert_files", |
| } |