//
// 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",
        "-g3",
    ],
    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"],

    target: {
        android: {
            cflags: [
                "-DUSE_FEC=1",
            ],
            shared_libs: [
                "libbase",
            ],
        },
        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_defaults {
    name: "update_metadata-protos-defaults",
    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,
    },
}

cc_library_static {
    name: "update_metadata-protos",
    defaults: ["update_metadata-protos-defaults"],
    proto: {
        type: "lite",
    },
}

cc_library_static {
    name: "update_metadata-protos-full",
    defaults: ["update_metadata-protos-defaults"],
}

python_library_host {
    name: "update_metadata-protos-python",
    srcs: ["update_metadata.proto"],
    proto: {
        canonical_path_from_root: false,
    },
}

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

    static_libs: [
        "libxz",
        "libbz",
        "libbspatch",
        "libbrotli",
        "libfec_rs",
        "libpuffpatch",
        "libverity_tree",
        "libsnapshot_cow",
        "libbrotli",
        "libz",
        "libpayload_extent_ranges",
        "libpayload_extent_utils",
        "libcow_operation_convert",
        "lz4diff-protos",
        "liblz4patch",
        "libzstd",
    ],
    shared_libs: [
        "libbase",
        "libcrypto",
        "libfec",
        "liblz4",
        "libziparchive",
    ],
}

cc_defaults {
    name: "libpayload_consumer_exports",
    defaults: [
        "libpayload_consumer_exports_defaults"
    ],
    static_libs: ["update_metadata-protos",],
}

cc_defaults {
    name: "libpayload_consumer_exports_proto-full",
    defaults: [
        "libpayload_consumer_exports_defaults"
    ],
    static_libs: ["update_metadata-protos-full",],
}

cc_defaults {
    name: "libpayload_consumer_defaults",
    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/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_operation_executor.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/xor_extent_writer.cc",
        "payload_consumer/block_extent_writer.cc",
        "payload_consumer/snapshot_extent_writer.cc",
        "payload_consumer/postinstall_runner_action.cc",
        "payload_consumer/verified_source_fd.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",
        "update_status_utils.cc",
    ],
}

cc_library_static {
    name: "libpayload_consumer",
    defaults: [
        "ue_defaults",
        "libpayload_consumer_exports",
        "libpayload_consumer_defaults",
    ],
}

cc_library_static {
    name: "libpayload_consumer_proto-full",
    defaults: [
        "ue_defaults",
        "libpayload_consumer_exports_proto-full",
        "libpayload_consumer_defaults",
    ],
}

cc_library_static {
    name: "libstatslog_ue",
    generated_sources: ["statslog_ue.cpp"],
    generated_headers: ["statslog_ue.h"],
    export_generated_headers: ["statslog_ue.h"],
    shared_libs: [
        "libstatssocket",
    ]
}

genrule {
    name: "statslog_ue.h",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_ue.h --module update_engine --namespace chromeos_update_engine,statsd",
    out: [
        "statslog_ue.h",
    ],
}

genrule {
    name: "statslog_ue.cpp",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_ue.cpp --module update_engine --namespace chromeos_update_engine,statsd --importHeader statslog_ue.h",
    out: [
        "statslog_ue.cpp",
    ],
}

// 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",
    defaults: ["update_metadata-protos_exports",],

    static_libs: [
        "libcutils",
        "libfs_mgr_binder",
        "libgsi",
        "libsnapshot_static",
        "libstatslog_ue",
        "libz",
    ],
    shared_libs: [
        "libbootloader_message",
        "libhidlbase",
        "liblp",
        "libutils",
        "android.hardware.boot@1.0",
        "android.hardware.boot@1.1",
        "android.hardware.boot@1.2",
        "android.hardware.boot-V1-ndk",
        "libboot_control_client",
    ],
    header_libs: [
        "avb_headers",
    ],
    target: {
        recovery: {
            static_libs: [
                "libfs_mgr",
                "libsnapshot_nobinder",
            ],
            exclude_static_libs: [
                "libfs_mgr_binder",
                "libsnapshot_static",
                "libstatslog_ue"
            ],
        },
    },
}

cc_defaults {
    name: "libupdate_engine_boot_control_exports",
    defaults: [
        "libupdate_engine_boot_control_exports_defaults",
    ],
    static_libs: [
        "libpayload_consumer",
        "update_metadata-protos",
    ]
}

cc_defaults {
    name: "libupdate_engine_boot_control_exports_proto-full",
    defaults: [
        "libupdate_engine_boot_control_exports_defaults",
    ],
    static_libs: [
        "libpayload_consumer_proto-full",
        "update_metadata-protos-full",
    ]
}

cc_defaults {
    name: "libupdate_engine_boot_control_defaults",
    defaults: [
        "ue_defaults",
    ],
    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",
    ],
}

cc_library_static {
    name: "libupdate_engine_boot_control",
    defaults: [
        "libupdate_engine_boot_control_defaults",
        "libupdate_engine_boot_control_exports",
        "libpayload_consumer_exports",
    ],
}

cc_library_static {
    name: "libupdate_engine_boot_control_nostats",
    cflags: ["-DUE_DISABLE_STATS"],
    defaults: [
        "libupdate_engine_boot_control_defaults",
        "libupdate_engine_boot_control_exports",
        "libpayload_consumer_exports",
    ],
}

cc_library_static {
    name: "libupdate_engine_boot_control_proto-full",
    defaults: [
        "libupdate_engine_boot_control_defaults",
        "libupdate_engine_boot_control_exports_proto-full",
        "libpayload_consumer_exports_proto-full",
    ],
}

// 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",
    defaults: [
        "ue_defaults",
    ],

    static_libs: [
        "libavb",
        "libavb_user",
        "libgkiprops",
        "libstatslog_ue",
        "libPlatformProperties",
    ],
    shared_libs: [
        "apex_aidl_interface-cpp",
        "libandroid_net",
        "libbase",
        "libbinder",
        "libbinderwrapper",
        "libbootloader_message",
        "libbrillo-binder",
        "libcurl",
        "libcutils",
        "libupdate_engine_stable-V2-cpp",
        "liblog",
        "libssl",
        "libstatssocket",
        "libutils",
    ],
    whole_static_libs: [
        "libcom.android.sysprop.apex",
    ],
}

cc_defaults {
    name: "libupdate_engine_android_exports",
    defaults: [
        "libupdate_engine_android_exports_defaults",
        "libupdate_engine_boot_control_exports",
        "libpayload_consumer_exports",
    ],
    static_libs: [
        "libpayload_consumer",
        "libupdate_engine_boot_control",
    ],
}

cc_defaults {
    name: "libupdate_engine_android_exports_proto-full",
    defaults: [
        "libupdate_engine_android_exports_defaults",
        "libupdate_engine_boot_control_exports_proto-full",
        "libpayload_consumer_exports_proto-full",
    ],
    static_libs: [
        "libpayload_consumer_proto-full",
        "libupdate_engine_boot_control_proto-full",
    ],
}

aidl_interface {
    name: "libupdate_engine_aidl_interface",
    srcs: [
        ":libupdate_engine_aidl",
    ],
    backend: {
        cpp: {
            enabled: false,
        },
        java: {
            enabled: false,
        },
        ndk: {
            enabled: false,
        },
        rust: {
            enabled: true,
        },
    },
    frozen: false,
    unstable: true,
}

cc_defaults {
    name: "libupdate_engine_android_defaults",
    defaults: [
        "ue_defaults",
    ],

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

cc_library_static {
    name: "libupdate_engine_android",
    defaults: [
        "libupdate_engine_android_defaults",
        "libupdate_engine_android_exports",
    ]
}

cc_library_static {
    name: "libupdate_engine_android_proto-full",
    defaults: [
        "libupdate_engine_android_defaults",
        "libupdate_engine_android_exports_proto-full",
    ]
}

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

    static_libs: [
        "libupdate_engine_android",
        "libgflags",
    ],
    required: [
        "cacerts",
        "otacerts",
    ],

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

// update_engine_nostats (type: executable)
// ========================================================
// update_engine daemon version without the stats integration.
cc_binary {
    name: "update_engine_nostats",
    defaults: [
        "ue_defaults",
        "libupdate_engine_android_exports",
    ],

    static_libs: [
        "libupdate_engine_android",
        "libgflags",
        "libupdate_engine_boot_control_nostats",
    ],
    required: [
        "cacerts",
        "otacerts",
    ],

    exclude_static_libs: [
        "libstatslog_ue",
        "libupdate_engine_boot_control"
    ],

    exclude_shared_libs: [
        "libstatssocket",
    ],

    cflags: ["-DUE_DISABLE_STATS"],
    srcs: [
        "main.cc",
        "common/metrics_reporter_stub.cc",
    ],
    init_rc: ["update_engine_nostats.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",
        "-DUE_DISABLE_STATS",
    ],
    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",
        "liblz4",
        "libprotobuf-cpp-lite",
    ],
    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.
        "libgkiprops",
        "libevent",
        "libmodpb64",
        "libbrillo-stream",
        "libbrillo",
        "libchrome",
    ],
    target: {
        recovery: {
            exclude_shared_libs: [
                "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"],

    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",
        "erofs-utils_export_defaults",
    ],

    header_libs: [
        "bootimg_headers",
    ],
    static_libs: [
        "libavb",
        "libbrotli",
        "libbsdiff",
        "libdivsufsort",
        "libdivsufsort64",
        "liblzma",
        "libpayload_consumer",
        "libpuffdiff",
        "libzucchini",
        "libverity_tree",
        "update_metadata-protos",
        "libpayload_extent_utils",
        "libcow_size_estimator",
        "liberofs",
        "libselinux",
        "lz4diff-protos",
        "liblz4diff",
        "libzstd",
    ],
    shared_libs: [
        "libbase",
        "libext2fs",
        // LZ4 has to be a shared lib, as we want to override it with
        // LD_LIBRARY_PRELOAD later
        "liblz4",
    ],
}

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_defaults {
    name: "liblz4diff_defaults",
    static_libs: [
        "lz4diff-protos",
        "update_metadata-protos",
        "libssl",
        "libbsdiff",
        "libpuffdiff",
    ],
    shared_libs: [
        "liblz4",
    ],
}

cc_library_static {
    name: "liblz4diff",
    host_supported: true,
    defaults: ["ue_defaults", "liblz4diff_defaults"],
    srcs: [
        "lz4diff/lz4diff.cc",
        "lz4diff/lz4diff_compress.cc",
    ],
}

cc_library_static {
    name: "liblz4patch",
    host_supported: true,
    recovery_available: true,
    defaults: ["ue_defaults"],
    static_libs: [
        "lz4diff-protos",
        "update_metadata-protos",
        "libssl",
        "libbspatch",
        "libpuffpatch",
    ],
    shared_libs: [
        "liblz4",
    ],
    srcs: [
        "lz4diff/lz4patch.cc",
        "lz4diff/lz4diff_compress.cc",
    ],
}

cc_binary_host {
    name: "lz4diff",
    defaults: [
        "ue_defaults",
        "libpayload_generator_exports",
    ],
    static_libs: [
        "libpayload_generator",
        "liblz4diff",
        "liblz4patch",
    ],
    srcs: [
        "lz4diff/lz4diff_main.cc",
    ],
}

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/erofs_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",
        "libgflags",
    ],

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

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

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

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

genrule {
    name: "ue_unittest_erofs_imgs",
    cmd: "$(in) $(location mkfs.erofs) $(location gen/erofs_empty.img) && " +
         "$(in) $(location mkfs.erofs) $(location gen/erofs.img) $(location delta_generator) && " +
         "$(in) $(location mkfs.erofs) $(location gen/erofs_new.img) $(location delta_generator) lz4hc,7",
    srcs: ["sample_images/generate_test_erofs_images.sh"],
    out: [
        "gen/erofs.img",
        "gen/erofs_new.img",
        "gen/erofs_empty.img",
    ],
    tools: [
        "mkfs.erofs",
        "delta_generator",
    ],
}

filegroup {
    name: "update_engine_host_unittest_timeout_srcs",
    srcs: [
        "common/action_processor_unittest.cc",
        "common/file_fetcher_unittest.cc",
        "payload_generator/delta_diff_utils_unittest.cc",
    ],
}

filegroup {
    name: "update_engine_host_unittest_srcs",
    srcs: [
        "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/hwid_override_unittest.cc",
        "common/metrics_reporter_stub.cc",
        "common/mock_http_fetcher.cc",
        "common/prefs_unittest.cc",
        "common/terminator_unittest.cc",
        "common/test_utils.cc",
        "lz4diff/lz4diff_compress_unittest.cc",
        "lz4diff/lz4diff_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/erofs_filesystem_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",
        "payload_consumer/verity_writer_android_unittest.cc",
        "payload_consumer/xz_extent_writer_unittest.cc",
        "testrunner.cc",
    ],
}

cc_test_host {
    name: "update_engine_host_unittests",
    defaults: [
        "ue_defaults",
        "libpayload_generator_exports",
    ],
    strip: {
        none: true,
    },
    cflags: [
        "-g3",
    ],
    tidy_timeout_srcs: [":update_engine_host_unittest_timeout_srcs"],
    srcs: [":update_engine_host_unittest_srcs"],
    data: [
        ":ue_unittest_delta_generator",
        ":ue_unittest_disk_imgs",
        ":ue_unittest_erofs_imgs",
        ":ue_unittest_keys",
        "otacerts.zip",
        "unittest_key.pem",
        "unittest_key2.pem",
        "unittest_key_RSA4096.pem",
        "unittest_key_EC.pem",
        "update_engine.conf",
        "testdata/cycle_nodes_product.bin",
        "testdata/cycle_nodes_product_no_xor.bin",
    ],
    static_libs: [
        "libgmock",
        "libpayload_generator",
    ],
}

// update_engine_unittests (type: executable)
// ========================================================
// Main unittest file.
cc_test {
    name: "update_engine_http_unittests",
    defaults: [
        "ue_defaults",
        "liblz4diff_defaults",
        "update_metadata-protos_exports",
    ],
    require_root: true,
    static_libs: [
        "libbase",
        "libbrillo-test-helpers",
        "libchrome_test_helpers",
        "libcurl",
        "libcutils",
        "libdm",
        "libgmock",
        "libz",
        "libzstd",
    ],
    shared_libs: [
        "libssl",
        "libcrypto",
        "libziparchive",
        "liblog",
    ],

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

    // 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/platform_constants_android.cc",
        "certificate_checker.cc",
        "common/action_processor.cc",
        "common/boot_control_stub.cc",
        "common/error_code_utils.cc",
        "common/file_fetcher.cc",
        "common/hash_calculator.cc",
        "common/http_fetcher.cc",
        "common/multi_range_http_fetcher.cc",
        "common/http_common.cc",
        "common/subprocess.cc",
        "common/test_utils.cc",
        "common/utils.cc",
        "libcurl_http_fetcher.cc",
        "payload_consumer/certificate_parser_android.cc",
        "payload_consumer/payload_verifier.cc",
        "payload_generator/payload_signer.cc",
        "update_status_utils.cc",
        "certificate_checker_unittest.cc",
        "common/http_fetcher_unittest.cc",
        "common/mock_http_fetcher.cc",
        "common/subprocess_unittest.cc",
        "libcurl_http_fetcher_unittest.cc",
        "payload_consumer/certificate_parser_android_unittest.cc",
        "update_status_utils_unittest.cc",
    ],
}

// 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: [
        ":ue_unittest_delta_generator",
        ":ue_unittest_disk_imgs",
        ":ue_unittest_erofs_imgs",
        ":ue_unittest_keys",
        "otacerts.zip",
        "unittest_key.pem",
        "unittest_key2.pem",
        "unittest_key_RSA4096.pem",
        "unittest_key_EC.pem",
        "update_engine.conf",
        "testdata/cycle_nodes_product.bin",
        "testdata/cycle_nodes_product_no_xor.bin",
    ],

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

    tidy_timeout_srcs: [
        ":update_engine_host_unittest_timeout_srcs",
        "aosp/dynamic_partition_control_android_unittest.cc",
        "common/http_fetcher_unittest.cc",
        "payload_consumer/delta_performer_integration_test.cc",
        "payload_consumer/delta_performer_unittest.cc",
    ],
    srcs: [
        ":update_engine_host_unittest_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_integration_test.cc",
        "aosp/update_attempter_android_unittest.cc",
        "common/utils_unittest.cc",
        "download_action_android_unittest.cc",
        "payload_consumer/block_extent_writer_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/delta_performer_integration_test.cc",
        "payload_consumer/delta_performer_unittest.cc",
        "payload_consumer/extent_reader_unittest.cc",
        "payload_consumer/extent_writer_unittest.cc",
        "payload_consumer/extent_map_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/install_operation_executor_unittest.cc",
        "payload_consumer/partition_update_generator_android_unittest.cc",
        "payload_consumer/partition_writer_unittest.cc",
        "payload_consumer/postinstall_runner_action_unittest.cc",
        "payload_consumer/snapshot_extent_writer_unittest.cc",
        "payload_consumer/vabc_partition_writer_unittest.cc",
        "payload_consumer/xor_extent_writer_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,
    vendor_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",
        "libgflags",
        "libpayload_consumer",
        "libpayload_extent_ranges",
        "libpayload_extent_utils",
        "libsnapshot_cow",
        "libz",
        "update_metadata-protos",
    ],
}

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

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

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

cc_binary_host {
    name: "map_file_generator",
    defaults: [
        "ue_defaults",
        "libpayload_generator_exports",
    ],
    srcs: [
        "aosp/map_file_generator.cc",
    ],
    static_libs: [
        "liblog",
        "libbase",
        "libpayload_generator",
        "libpayload_extent_ranges",
        "libpayload_extent_utils",
        "libgflags",
        "libsparse",
        "update_metadata-protos",
    ],
    required: [
        "unsquashfs",
    ],
}

cc_fuzz {
    name: "update_engine_service_fuzzer",
    defaults: [
        "ue_defaults",
        "libupdate_engine_android_exports",
        "service_fuzzer_defaults",
        "fuzzer_disable_leaks",
    ],
    static_libs: [
        "libupdate_engine_android",
        "libgflags",
    ],
    srcs: [
        "fuzzers/update_engine_service_fuzzer.cpp",
        "aosp/metrics_reporter_android.cc",
    ],
    fuzz_config: {
        triage_assignee: "waghpawan@google.com",
        cc: [
            "elsk@google.com",
            "zhangkelvin@google.com",
        ]
    },
}
