// 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", }