// Copyright (C) 2018 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "frameworks_base_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["frameworks_base_license"],
}

cc_defaults {
    name: "idmap2_defaults",
    cpp_std: "gnu++2b",
    tidy: true,
    tidy_checks: [
        "modernize-*",
        "-modernize-avoid-c-arrays",
        "-modernize-use-nodiscard",
        "-modernize-use-trailing-return-type",
        "android-*",
        "misc-*",
        "-misc-const-correctness",
        "readability-*",
        "-readability-identifier-length",
        "-readability-implicit-bool-conversion",
    ],
    tidy_checks_as_errors: [
        "modernize-*",
        "-modernize-avoid-c-arrays",
        "-modernize-concat-nested-namespaces",
        "-modernize-pass-by-value",
        "-modernize-replace-disallow-copy-and-assign-macro",
        "-modernize-return-braced-init-list",
        "-modernize-use-default-member-init",
        "-modernize-use-equals-default",
        "-modernize-use-emplace",
        "-modernize-use-nodiscard",
        "-modernize-use-override",
        "-modernize-use-trailing-return-type",
        "-modernize-use-using",
        "android-*",
        "misc-*",
        "-misc-non-private-member-variables-in-classes",
        "readability-*",
        "-readability-braces-around-statements",
        "-readability-const-return-type",
        "-readability-convert-member-functions-to-static",
        "-readability-duplicate-include",
        "-readability-implicit-bool-conversion",
        "-readability-else-after-return",
        "-readability-named-parameter",
        "-readability-redundant-access-specifiers",
        "-readability-uppercase-literal-suffix",
    ],
}

cc_library {
    name: "libidmap2",
    defaults: [
        "idmap2_defaults",
    ],
    host_supported: true,
    srcs: [
        "libidmap2/**/*.cpp",
        "self_targeting/*.cpp",
    ],
    export_include_dirs: ["include"],
    target: {
        android: {
            static: {
                enabled: false,
            },
            static_libs: [
                "libidmap2_policies",
                "libidmap2_protos",
                "libpng",
            ],
            shared_libs: [
                "libandroidfw",
                "libbase",
                "libcutils",
                "libprotobuf-cpp-lite",
                "libutils",
                "libz",
                "libziparchive",
            ],
        },
        host: {
            shared: {
                enabled: false,
            },
            static_libs: [
                "libandroidfw",
                "libbase",
                "libcutils",
                "libidmap2_policies",
                "libidmap2_protos",
                "libpng",
                "libprotobuf-cpp-lite",
                "libutils",
                "libz",
                "libziparchive",
            ],
        },
    },
}

cc_library {
    name: "libidmap2_protos",
    srcs: [
        "libidmap2/proto/*.proto",
    ],
    host_supported: true,
    tidy: false,
    proto: {
        type: "lite",
        export_proto_headers: true,
    },
}

cc_library_static {
    name: "libidmap2_policies",
    defaults: [
        "idmap2_defaults",
    ],
    host_supported: true,
    export_include_dirs: ["libidmap2_policies/include"],
    target: {
        windows: {
            enabled: true,
        },
        android: {
            shared_libs: [
                "libandroidfw",
            ],
        },
        host: {
            static_libs: [
                "libandroidfw",
            ],
        },
    },
}

cc_test {
    name: "idmap2_tests",
    defaults: [
        "idmap2_defaults",
    ],
    tidy_checks: [
        "-readability-magic-numbers",
    ],
    host_supported: true,
    test_suites: ["general-tests"],
    srcs: [
        "tests/BinaryStreamVisitorTests.cpp",
        "tests/CommandLineOptionsTests.cpp",
        "tests/FabricatedOverlayTests.cpp",
        "tests/FileUtilsTests.cpp",
        "tests/Idmap2BinaryTests.cpp",
        "tests/IdmapTests.cpp",
        "tests/Main.cpp",
        "tests/PoliciesTests.cpp",
        "tests/PrettyPrintVisitorTests.cpp",
        "tests/RawPrintVisitorTests.cpp",
        "tests/ResourceMappingTests.cpp",
        "tests/ResourceUtilsTests.cpp",
        "tests/ResultTests.cpp",
        "tests/XmlParserTests.cpp",
    ],
    required: [
        "idmap2",
    ],
    static_libs: [
        "libgmock",
        "libidmap2_protos",
        "libpng",
    ],
    target: {
        android: {
            shared_libs: [
                "libandroidfw",
                "libbase",
                "libidmap2",
                "liblog",
                "libprotobuf-cpp-lite",
                "libutils",
                "libz",
                "libz",
                "libziparchive",
            ],
            static_libs: [
                "libidmap2_policies",
            ],
        },
        host: {
            static_libs: [
                "libandroidfw",
                "libbase",
                "libcutils",
                "libidmap2",
                "libidmap2_policies",
                "liblog",
                "libprotobuf-cpp-lite",
                "libutils",
                "libziparchive",
            ],
            shared_libs: [
                "libz",
            ],
            data: [
                ":libz",
                ":idmap2",
            ],
        },
    },
    data: [
        "tests/data/**/*.apk",
        "tests/data/**/*.png",
    ],
    compile_multilib: "first",
    test_options: {
        unit_test: true,
    },
}

cc_binary {
    name: "idmap2",
    defaults: [
        "idmap2_defaults",
    ],
    host_supported: true,
    srcs: [
        "idmap2/CommandUtils.cpp",
        "idmap2/Create.cpp",
        "idmap2/CreateMultiple.cpp",
        "idmap2/Dump.cpp",
        "idmap2/Lookup.cpp",
        "idmap2/Main.cpp",
    ],
    static_libs: [
        "libidmap2_protos",
    ],
    target: {
        android: {
            shared_libs: [
                "libandroidfw",
                "libbase",
                "libcutils",
                "libidmap2",
                "libpng",
                "libprotobuf-cpp-lite",
                "libutils",
                "libz",
                "libziparchive",
            ],
            static_libs: [
                "libidmap2_policies",
            ],
        },
        host: {
            static_libs: [
                "libandroidfw",
                "libbase",
                "libcutils",
                "libidmap2",
                "libidmap2_policies",
                "liblog",
                "libpng",
                "libprotobuf-cpp-lite",
                "libutils",
                "libziparchive",
            ],
            shared_libs: [
                "libz",
            ],
        },
    },

}

cc_binary {
    name: "idmap2d",
    defaults: [
        "idmap2_defaults",
    ],
    host_supported: false,
    srcs: [
        "idmap2d/Idmap2Service.cpp",
        "idmap2d/Main.cpp",
    ],
    shared_libs: [
        "libandroidfw",
        "libbase",
        "libbinder",
        "libcutils",
        "libidmap2",
        "libprotobuf-cpp-lite",
        "libutils",
        "libziparchive",
    ],
    static_libs: [
        "libc++fs",
        "libidmap2_policies",
        "libidmap2_protos",
        "libidmap2daidl",
    ],
    init_rc: ["idmap2d/idmap2d.rc"],
}

cc_library_static {
    name: "libidmap2daidl",
    srcs: [
        ":idmap2_aidl",
        ":idmap2_core_aidl",
    ],
    header_libs: [
        "libbinder_headers",
    ],
    shared_libs: [
        "libbase",
    ],
    aidl: {
        export_aidl_headers: true,
        local_include_dirs: [
            "idmap2d/aidl/core",
            "idmap2d/aidl/services/",
        ],
    },
}

filegroup {
    name: "idmap2_core_aidl",
    srcs: [
        "idmap2d/aidl/core/android/os/FabricatedOverlayInternal.aidl",
        "idmap2d/aidl/core/android/os/FabricatedOverlayInternalEntry.aidl",
        "idmap2d/aidl/core/android/os/FabricatedOverlayInfo.aidl",
    ],
    path: "idmap2d/aidl/core/",
}

filegroup {
    name: "idmap2_aidl",
    srcs: [
        "idmap2d/aidl/services/android/os/IIdmap2.aidl",
    ],
    path: "idmap2d/aidl/services/",
}

aidl_interface {
    name: "overlayable_policy_aidl",
    unstable: true,
    srcs: [":overlayable_policy_aidl_files"],
}

filegroup {
    name: "overlayable_policy_aidl_files",
    srcs: [
        "idmap2d/aidl/services/android/os/OverlayablePolicy.aidl",
    ],
    path: "idmap2d/aidl/services/",
}
