//
// Copyright (C) 2015 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.
//

// AIDL interface between libupdate_engine and framework.jar
package {
    default_applicable_licenses: ["system_update_engine_license"],
}

// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
    name: "system_update_engine_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
    ],
    license_text: [
        "NOTICE",
    ],
}

filegroup {
    name: "libupdate_engine_aidl",
    srcs: [
        "binder_bindings/android/os/IUpdateEngine.aidl",
        "binder_bindings/android/os/IUpdateEngineCallback.aidl",
    ],
    path: "binder_bindings",
}

cc_defaults {
    name: "ue_defaults",

    cflags: [
        "-DBASE_VER=576279",
        "-DUSE_HWID_OVERRIDE=0",
        "-D_FILE_OFFSET_BITS=64",
        "-D_POSIX_C_SOURCE=199309L",
        "-Wa,--noexecstack",
        "-Wall",
        "-Werror",
        "-Wextra",
        "-Wformat=2",
        "-Wno-psabi",
        "-Wno-unused-parameter",
        "-ffunction-sections",
        "-fstack-protector-strong",
        "-fvisibility=hidden",
    ],
    cppflags: [
        "-Wnon-virtual-dtor",
        "-fno-strict-aliasing",
    ],
    include_dirs: ["system"],
    local_include_dirs: ["client_library/include"],
    header_libs: ["libgtest_prod_headers"],
    shared_libs: [
        "libbrillo-stream",
        "libbrillo",
        "libchrome",
    ],
    ldflags: ["-Wl,--gc-sections"],

    product_variables: {
        pdk: {
            enabled: false,
        },
    },

    target: {
        android: {
            cflags: [
                "-DUSE_FEC=1",
            ],
        },
        host: {
            cflags: [
                "-DUSE_FEC=0",
            ],
        },
        darwin: {
            enabled: false,
        },
    },
}

// libcow_operation_convert (type: library)
// ========================================================
cc_library_static {
    name: "libpayload_extent_utils",
    defaults: [
        "ue_defaults",
    ],
    host_supported: true,
    recovery_available: true,
    srcs: [
        "payload_generator/extent_utils.cc",
    ],
    static_libs: [
        "update_metadata-protos",
    ],
}

cc_library {
    name: "libcow_operation_convert",
    host_supported: true,
    recovery_available: true,
    defaults: [
        "ue_defaults",
        "update_metadata-protos_exports",
    ],
    srcs: [
        "common/cow_operation_convert.cc",
    ],
    static_libs: [
        "libsnapshot_cow",
        "update_metadata-protos",
        "libpayload_extent_ranges",
        "libpayload_extent_utils",
        "libbrotli",
        "libz",
    ],
}

// update_metadata-protos (type: static_library)
// ========================================================
// Protobufs.
cc_defaults {
    name: "update_metadata-protos_exports",

    shared_libs: ["libprotobuf-cpp-lite"],
}

cc_library_static {
    name: "update_metadata-protos",
    host_supported: true,
    ramdisk_available: true,
    recovery_available: true,

    srcs: ["update_engine/update_metadata.proto"],
    cflags: [
        "-Wall",
        "-Werror",
    ],
    proto: {
        canonical_path_from_root: false,
        export_proto_headers: true,
    },
}

// libpayload_consumer (type: static_library)
// ========================================================
// The payload application component and common dependencies.
cc_defaults {
    name: "libpayload_consumer_exports",
    defaults: ["update_metadata-protos_exports"],

    static_libs: [
        "update_metadata-protos",
        "libxz",
        "libbz",
        "libbspatch",
        "libbrotli",
        "libc++fs",
        "libfec_rs",
        "libpuffpatch",
        "libverity_tree",
        "libsnapshot_cow",
        "libbrotli",
        "libz",
        "libpayload_extent_ranges",
        "libpayload_extent_utils",
        "libcow_operation_convert",
    ],
    shared_libs: [
        "libbase",
        "libcrypto",
        "libfec",
        "libziparchive",
    ],
}

cc_library_static {
    name: "libpayload_consumer",
    defaults: [
        "ue_defaults",
        "libpayload_consumer_exports",
    ],
    host_supported: true,
    recovery_available: true,

    srcs: [
        "aosp/platform_constants_android.cc",
        "common/action_processor.cc",
        "common/boot_control_stub.cc",
        "common/clock.cc",
        "common/constants.cc",
        "common/cpu_limiter.cc",
        "common/dynamic_partition_control_stub.cc",
        "common/error_code_utils.cc",
        "common/file_fetcher.cc",
        "common/hash_calculator.cc",
        "common/http_common.cc",
        "common/http_fetcher.cc",
        "common/hwid_override.cc",
        "common/multi_range_http_fetcher.cc",
        "common/prefs.cc",
        "common/proxy_resolver.cc",
        "common/subprocess.cc",
        "common/terminator.cc",
        "common/utils.cc",
        "payload_consumer/bzip_extent_writer.cc",
        "payload_consumer/cached_file_descriptor.cc",
        "payload_consumer/certificate_parser_android.cc",
        "payload_consumer/cow_writer_file_descriptor.cc",
        "payload_consumer/delta_performer.cc",
        "payload_consumer/extent_reader.cc",
        "payload_consumer/extent_writer.cc",
        "payload_consumer/file_descriptor.cc",
        "payload_consumer/file_descriptor_utils.cc",
        "payload_consumer/file_writer.cc",
        "payload_consumer/filesystem_verifier_action.cc",
        "payload_consumer/install_plan.cc",
        "payload_consumer/mount_history.cc",
        "payload_consumer/payload_constants.cc",
        "payload_consumer/payload_metadata.cc",
        "payload_consumer/payload_verifier.cc",
        "payload_consumer/partition_writer.cc",
        "payload_consumer/partition_writer_factory_android.cc",
        "payload_consumer/vabc_partition_writer.cc",
        "payload_consumer/snapshot_extent_writer.cc",
        "payload_consumer/postinstall_runner_action.cc",
        "payload_consumer/verity_writer_android.cc",
        "payload_consumer/xz_extent_writer.cc",
        "payload_consumer/fec_file_descriptor.cc",
        "payload_consumer/partition_update_generator_android.cc",
    ],
}

// libupdate_engine_boot_control (type: static_library)
// ========================================================
// A BootControl class implementation using Android's HIDL boot_control HAL.
cc_defaults {
    name: "libupdate_engine_boot_control_exports",
    defaults: ["update_metadata-protos_exports"],

    static_libs: [
        "libcutils",
        "libfs_mgr_binder",
        "libgsi",
        "libpayload_consumer",
        "libsnapshot",
        "libsnapshot_cow",
        "libz",
        "update_metadata-protos",
    ],
    shared_libs: [
        "libbootloader_message",
        "libhidlbase",
        "liblp",
        "libstatslog",
        "libutils",
        "android.hardware.boot@1.0",
        "android.hardware.boot@1.1",
    ],
    header_libs: [
        "avb_headers",
    ],
    target: {
        recovery: {
            static_libs: [
                "libfs_mgr",
                "libsnapshot_nobinder",
            ],
            exclude_static_libs: [
                "libfs_mgr_binder",
                "libsnapshot",
            ],
            exclude_shared_libs: [
                "libstatslog",
            ],
        },
    },
}

cc_library_static {
    name: "libupdate_engine_boot_control",
    defaults: [
        "ue_defaults",
        "libupdate_engine_boot_control_exports",
        "libpayload_consumer_exports",
    ],
    recovery_available: true,

    srcs: [
        "aosp/boot_control_android.cc",
        "aosp/cleanup_previous_update_action.cc",
        "aosp/dynamic_partition_control_android.cc",
        "aosp/dynamic_partition_utils.cc",
    ],
}

// libupdate_engine_android (type: static_library)
// ========================================================
// The main daemon static_library used in Android (non-Brillo). This only has a
// loop to apply payloads provided by the upper layer via a Binder interface.
cc_defaults {
    name: "libupdate_engine_android_exports",
    defaults: [
        "ue_defaults",
        "libpayload_consumer_exports",
        "libupdate_engine_boot_control_exports",
    ],

    static_libs: [
        "libavb",
        "libavb_user",
        "gkiprops",
        "libpayload_consumer",
        "libupdate_engine_boot_control",
        "PlatformProperties",
    ],
    shared_libs: [
        "apex_aidl_interface-cpp",
        "libandroid_net",
        "libbase",
        "libbinder",
        "libbinderwrapper",
        "libbootloader_message",
        "libbrillo-binder",
        "libcurl",
        "libcutils",
        "libupdate_engine_stable-V1-cpp",
        "liblog",
        "libssl",
        "libstatslog",
        "libutils",
    ],
    whole_static_libs: [
        "com.android.sysprop.apex",
    ],
}

cc_library_static {
    name: "libupdate_engine_android",
    defaults: [
        "ue_defaults",
        "libupdate_engine_android_exports",
    ],

    // TODO(deymo): Remove external/cros/system_api/dbus once the strings are moved
    // out of the DBus interface.
    include_dirs: ["external/cros/system_api/dbus"],

    aidl: {
        local_include_dirs: ["binder_bindings"],
        export_aidl_headers: true,
    },

    srcs: [
        ":libupdate_engine_aidl",
        "common/system_state.cc",
        "aosp/apex_handler_android.cc",
        "aosp/binder_service_android.cc",
        "aosp/binder_service_stable_android.cc",
        "aosp/daemon_android.cc",
        "aosp/daemon_state_android.cc",
        "aosp/hardware_android.cc",
        "aosp/logging_android.cc",
        "aosp/network_selector_android.cc",
        "aosp/update_attempter_android.cc",
        "certificate_checker.cc",
        "download_action.cc",
        "libcurl_http_fetcher.cc",
        "metrics_utils.cc",
        "update_boot_flags_action.cc",
        "update_status_utils.cc",
    ],
}

// update_engine (type: executable)
// ========================================================
// update_engine daemon.
cc_binary {
    name: "update_engine",
    defaults: [
        "ue_defaults",
        "libupdate_engine_android_exports",
    ],

    static_libs: ["libupdate_engine_android"],
    required: [
        "cacerts_google",
        "otacerts",
    ],

    srcs: ["main.cc", "aosp/metrics_reporter_android.cc"],
    init_rc: ["update_engine.rc"],
}

// update_engine_sideload (type: executable)
// ========================================================
// A binary executable equivalent to update_engine daemon that installs an update
// from a local file directly instead of running in the background. Used in
// recovery image.
cc_binary {
    name: "update_engine_sideload",
    defaults: [
        "ue_defaults",
        "update_metadata-protos_exports",
        "libupdate_engine_boot_control_exports",
        "libpayload_consumer_exports",
    ],
    recovery: true,

    cflags: ["-D_UE_SIDELOAD"],
    // TODO(deymo): Remove external/cros/system_api/dbus once the strings are moved
    // out of the DBus interface.
    include_dirs: ["external/cros/system_api/dbus"],
    header_libs: ["libgtest_prod_headers"],

    srcs: [
        "aosp/hardware_android.cc",
        "aosp/logging_android.cc",
        "aosp/sideload_main.cc",
        "aosp/update_attempter_android.cc",
        "common/metrics_reporter_stub.cc",
        "common/network_selector_stub.cc",
        "common/system_state.cc",
        "download_action.cc",
        "metrics_utils.cc",
        "update_boot_flags_action.cc",
        "update_status_utils.cc",
    ],

    // Use commonly used shared libraries. libprotobuf-cpp-lite.so is filtered out,
    // as it doesn't look beneficial to be installed separately due to its size. Note
    // that we explicitly request their recovery variants, so that the expected files
    // will be used and installed.
    shared_libs: [
        "libbase",
        "liblog",
    ],
    static_libs: [
        "libpayload_consumer",
        "libupdate_engine_boot_control",
        "update_metadata-protos",

        // We add the static versions of the shared libraries that are not installed to
        // recovery image due to size concerns. Need to include all the static library
        // dependencies of these static libraries.
        "gkiprops",
        "libevent",
        "libmodpb64",
        "libprotobuf-cpp-lite",
        "libbrillo-stream",
        "libbrillo",
        "libchrome",
    ],
    target: {
        recovery: {
            exclude_shared_libs: [
                "libprotobuf-cpp-lite",
                "libbrillo-stream",
                "libbrillo",
                "libchrome",
            ],
        },
    },

    required: [
        "otacerts.recovery",
    ],
}

// update_engine_client (type: executable)
// ========================================================
// update_engine console client.
cc_binary {
    name: "update_engine_client",
    defaults: ["ue_defaults"],

    // TODO(deymo): Remove external/cros/system_api/dbus once the strings are moved
    // out of the DBus interface.
    include_dirs: ["external/cros/system_api/dbus"],

    shared_libs: [
        "libbinder",
        "libbinderwrapper",
        "libbrillo-binder",
        "libutils",
    ],

    aidl: {
        local_include_dirs: ["binder_bindings"],
    },

    srcs: [
        ":libupdate_engine_aidl",
        "aosp/update_engine_client_android.cc",
        "common/error_code_utils.cc",
        "update_status_utils.cc",
    ],
}

// libpayload_generator (type: static_library)
// ========================================================
// server-side code. This is used for delta_generator and unittests but not
// for any client code.
cc_defaults {
    name: "libpayload_generator_exports",
    defaults: [
        "libpayload_consumer_exports",
        "update_metadata-protos_exports",
    ],

    header_libs: [
        "bootimg_headers",
    ],
    static_libs: [
        "libavb",
        "libbrotli",
        "libbsdiff",
        "libdivsufsort",
        "libdivsufsort64",
        "liblzma",
        "libpayload_consumer",
        "libpuffdiff",
        "libverity_tree",
        "update_metadata-protos",
        "libpayload_extent_utils",
        "libcow_size_estimator",
    ],
    shared_libs: [
        "libbase",
        "libext2fs",
    ],
}

cc_library_static {
    name: "libpayload_extent_ranges",
    defaults: [
        "ue_defaults",
    ],
    host_supported: true,
    recovery_available: true,
    srcs: [
        "payload_generator/extent_ranges.cc",
    ],
    static_libs: [
        "update_metadata-protos",
    ],
}

cc_library_static {
    name: "libcow_size_estimator",
    defaults: [
        "ue_defaults",
        "update_metadata-protos_exports"
    ],
    host_supported: true,
    recovery_available: true,
    srcs: [
        "payload_generator/cow_size_estimator.cc",
    ],
    static_libs: [
        "update_metadata-protos",
        "libbase",
        "libsnapshot_cow",
        "libcow_operation_convert",
    ],
}

cc_library_static {
    name: "libpayload_generator",
    defaults: [
        "ue_defaults",
        "libpayload_generator_exports",
    ],
    host_supported: true,

    srcs: [
        "common/system_state.cc",
        "download_action.cc",
        "payload_generator/ab_generator.cc",
        "payload_generator/annotated_operation.cc",
        "payload_generator/blob_file_writer.cc",
        "payload_generator/block_mapping.cc",
        "payload_generator/boot_img_filesystem.cc",
        "payload_generator/bzip.cc",
        "payload_generator/deflate_utils.cc",
        "payload_generator/delta_diff_generator.cc",
        "payload_generator/delta_diff_utils.cc",
        "payload_generator/ext2_filesystem.cc",
        "payload_generator/extent_ranges.cc",
        "payload_generator/full_update_generator.cc",
        "payload_generator/mapfile_filesystem.cc",
        "payload_generator/merge_sequence_generator.cc",
        "payload_generator/payload_file.cc",
        "payload_generator/payload_generation_config_android.cc",
        "payload_generator/payload_generation_config.cc",
        "payload_generator/payload_properties.cc",
        "payload_generator/payload_signer.cc",
        "payload_generator/raw_filesystem.cc",
        "payload_generator/squashfs_filesystem.cc",
        "payload_generator/xz_android.cc",
    ],
}

// delta_generator (type: executable)
// ========================================================
// server-side delta generator.
cc_binary_host {
    name: "delta_generator",
    defaults: [
        "ue_defaults",
        "libpayload_generator_exports",
        "libpayload_consumer_exports",
    ],

    static_libs: [
        "libavb_host_sysdeps",
        "libpayload_consumer",
        "libpayload_generator",
    ],

    srcs: ["payload_generator/generate_delta_main.cc"],
}

cc_test {
    name: "ue_unittest_delta_generator",
    defaults: [
        "ue_defaults",
        "libpayload_generator_exports",
        "libpayload_consumer_exports",
    ],

    static_libs: [
        "libpayload_consumer",
        "libpayload_generator",
    ],

    srcs: ["payload_generator/generate_delta_main.cc"],

    gtest: false,
    stem: "delta_generator",
}

// test_http_server (type: executable)
// ========================================================
// Test HTTP Server.
cc_test {
    name: "test_http_server",
    defaults: ["ue_defaults"],
    srcs: [
        "common/http_common.cc",
        "test_http_server.cc",
    ],

    gtest: false,
}

// test_subprocess (type: executable)
// ========================================================
// Test helper subprocess program.
cc_test {
    name: "test_subprocess",
    defaults: ["ue_defaults"],
    srcs: ["test_subprocess.cc"],

    gtest: false,
}

// Public keys for unittests.
// ========================================================
genrule {
    name: "ue_unittest_keys",
    cmd: "openssl rsa -in $(location unittest_key.pem) -pubout -out $(location unittest_key.pub.pem) &&" +
        "openssl rsa -in $(location unittest_key2.pem) -pubout -out $(location unittest_key2.pub.pem) &&" +
        "openssl rsa -in $(location unittest_key_RSA4096.pem) -pubout -out $(location unittest_key_RSA4096.pub.pem) &&" +
        "openssl pkey -in $(location unittest_key_EC.pem) -pubout -out $(location unittest_key_EC.pub.pem)",
    srcs: [
        "unittest_key.pem",
        "unittest_key2.pem",
        "unittest_key_RSA4096.pem",
        "unittest_key_EC.pem",
    ],
    out: [
        "unittest_key.pub.pem",
        "unittest_key2.pub.pem",
        "unittest_key_RSA4096.pub.pem",
        "unittest_key_EC.pub.pem",
    ],
}

// Sample images for unittests.
// ========================================================
// Extract sample image from the compressed sample_images.tar.bz2 file used by
// the unittests.
genrule {
    name: "ue_unittest_disk_imgs",
    cmd: "tar -jxf $(in) -C $(genDir)/gen disk_ext2_1k.img disk_ext2_4k.img disk_ext2_4k_empty.img disk_ext2_unittest.img",
    srcs: ["sample_images/sample_images.tar.bz2"],
    out: [
        "gen/disk_ext2_1k.img",
        "gen/disk_ext2_4k.img",
        "gen/disk_ext2_4k_empty.img",
        "gen/disk_ext2_unittest.img",
    ],
}

// update_engine_unittests (type: executable)
// ========================================================
// Main unittest file.
cc_test {
    name: "update_engine_unittests",
    defaults: [
        "ue_defaults",
        "libpayload_generator_exports",
        "libupdate_engine_android_exports",
    ],

    static_libs: [
        "libpayload_generator",
        "libbrillo-test-helpers",
        "libgmock",
        "libchrome_test_helpers",
        "libupdate_engine_android",
        "libdm",
    ],

    header_libs: [
        "libstorage_literals_headers",
    ],

    data: [
        ":test_http_server",
        ":test_subprocess",
        ":ue_unittest_delta_generator",
        ":ue_unittest_disk_imgs",
        ":ue_unittest_keys",
        "otacerts.zip",
        "unittest_key.pem",
        "unittest_key2.pem",
        "unittest_key_RSA4096.pem",
        "unittest_key_EC.pem",
        "update_engine.conf",
    ],

    // We cannot use the default generated AndroidTest.xml because of the use of helper modules
    // (i.e. test_http_server, test_subprocess, ue_unittest_delta_generator).
    test_config: "test_config.xml",
    test_suites: ["device-tests"],

    srcs: [
        "aosp/apex_handler_android_unittest.cc",
        "aosp/cleanup_previous_update_action_unittest.cc",
        "aosp/dynamic_partition_control_android_unittest.cc",
        "aosp/update_attempter_android_unittest.cc",
        "certificate_checker_unittest.cc",
        "common/action_pipe_unittest.cc",
        "common/action_processor_unittest.cc",
        "common/action_unittest.cc",
        "common/cow_operation_convert_unittest.cc",
        "common/cpu_limiter_unittest.cc",
        "common/fake_prefs.cc",
        "common/file_fetcher_unittest.cc",
        "common/hash_calculator_unittest.cc",
        "common/http_fetcher_unittest.cc",
        "common/hwid_override_unittest.cc",
        "common/metrics_reporter_stub.cc",
        "common/mock_http_fetcher.cc",
        "common/prefs_unittest.cc",
        "common/proxy_resolver_unittest.cc",
        "common/subprocess_unittest.cc",
        "common/terminator_unittest.cc",
        "common/test_utils.cc",
        "common/utils_unittest.cc",
        "download_action_android_unittest.cc",
        "libcurl_http_fetcher_unittest.cc",
        "payload_consumer/bzip_extent_writer_unittest.cc",
        "payload_consumer/cached_file_descriptor_unittest.cc",
        "payload_consumer/cow_writer_file_descriptor_unittest.cc",
        "payload_consumer/certificate_parser_android_unittest.cc",
        "payload_consumer/delta_performer_integration_test.cc",
        "payload_consumer/delta_performer_unittest.cc",
        "payload_consumer/partition_writer_unittest.cc",
        "payload_consumer/extent_reader_unittest.cc",
        "payload_consumer/extent_writer_unittest.cc",
        "payload_consumer/snapshot_extent_writer_unittest.cc",
        "payload_consumer/fake_file_descriptor.cc",
        "payload_consumer/file_descriptor_utils_unittest.cc",
        "payload_consumer/file_writer_unittest.cc",
        "payload_consumer/filesystem_verifier_action_unittest.cc",
        "payload_consumer/install_plan_unittest.cc",
        "payload_consumer/partition_update_generator_android_unittest.cc",
        "payload_consumer/postinstall_runner_action_unittest.cc",
        "payload_consumer/verity_writer_android_unittest.cc",
        "payload_consumer/xz_extent_writer_unittest.cc",
        "payload_generator/ab_generator_unittest.cc",
        "payload_generator/blob_file_writer_unittest.cc",
        "payload_generator/block_mapping_unittest.cc",
        "payload_generator/boot_img_filesystem_unittest.cc",
        "payload_generator/deflate_utils_unittest.cc",
        "payload_generator/delta_diff_utils_unittest.cc",
        "payload_generator/ext2_filesystem_unittest.cc",
        "payload_generator/extent_ranges_unittest.cc",
        "payload_generator/extent_utils_unittest.cc",
        "payload_generator/fake_filesystem.cc",
        "payload_generator/full_update_generator_unittest.cc",
        "payload_generator/mapfile_filesystem_unittest.cc",
        "payload_generator/merge_sequence_generator_unittest.cc",
        "payload_generator/payload_file_unittest.cc",
        "payload_generator/payload_generation_config_android_unittest.cc",
        "payload_generator/payload_generation_config_unittest.cc",
        "payload_generator/payload_properties_unittest.cc",
        "payload_generator/payload_signer_unittest.cc",
        "payload_generator/squashfs_filesystem_unittest.cc",
        "payload_generator/zip_unittest.cc",
        "testrunner.cc",
        "update_status_utils_unittest.cc",
    ],
}

// Brillo update payload generation script
// ========================================================
sh_binary {
    name: "brillo_update_payload",
    device_supported: false,
    host_supported: true,

    src: "scripts/brillo_update_payload",
    required: [
        "delta_generator",
        "shflags",
        "simg2img",
    ],

    target: {
        darwin: {
            enabled: false,
        },
    },
}

// update_engine header library
cc_library_headers {
    name: "libupdate_engine_headers",

    // This header library is available to core and product modules.
    product_available: true,

    export_include_dirs: ["."],
    apex_available: [
        "com.android.gki.*",
        "//apex_available:platform",
    ],
    host_supported: true,
    recovery_available: true,
    ramdisk_available: true,

    target: {
        darwin: {
            enabled: false,
        },
    }
}

cc_binary_host {
    name: "cow_converter",
    defaults: [
        "ue_defaults",
        "libpayload_consumer_exports",
    ],
    srcs: [
        "aosp/cow_converter.cc",
    ],
    static_libs: [
        "liblog",
        "libbrotli",
        "libbase",
        "libcow_operation_convert",
        "libcow_size_estimator",
        "libpayload_consumer",
        "libpayload_extent_ranges",
        "libpayload_extent_utils",
        "libsnapshot_cow",
        "libz",
        "update_metadata-protos",
    ],
}
