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

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

cc_library_static {
    name: "libpayload_consumer_proto-full",
    defaults: [
        "ue_defaults",
        "libpayload_consumer_exports_proto-full",
        "libpayload_consumer_defaults",
        "omni_weekly_build_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-V3-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",
        ],
    },
}
