//
// 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.
//

package {
    default_applicable_licenses: ["system_tools_aidl_license"],
}

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

cc_defaults {
    name: "aidl_defaults",
    cflags: [
        "-Wall",
        "-Werror",
        "-Wextra",
    ],
    header_libs: ["libgtest_prod_headers"],
    static_libs: [
        "libbase",
        "libcutils",
        "libgtest",
    ],
    // TODO(b/174366536): basic_stringbuf::overflow causes "ubsan: implicit-conversion"
    // sanitize: {
    //     integer_overflow: true,
    //     misc_undefined: ["integer"],
    // },
    target: {
        windows: {
            enabled: true,
        },
        host: {
            cflags: [
                "-O0",
                "-g",
            ],
        },
    },
    product_variables: {
        platform_sdk_version: {
            cflags: ["-DPLATFORM_SDK_VERSION=%d"],
        },
    },
}

// Logic shared between aidl and its unittests
cc_library_static {
    name: "libaidl-common",
    defaults: ["aidl_defaults"],
    host_supported: true,

    srcs: [
        "aidl_checkapi.cpp",
        "aidl_const_expressions.cpp",
        "aidl_dumpapi.cpp",
        "aidl_language_l.ll",
        "aidl_language_y.yy",
        "aidl_language.cpp",
        "aidl_to_cpp_common.cpp",
        "aidl_to_cpp.cpp",
        "aidl_to_java.cpp",
        "aidl_to_ndk.cpp",
        "aidl_to_rust.cpp",
        "aidl_typenames.cpp",
        "aidl.cpp",
        "ast_java.cpp",
        "check_valid.cpp",
        "code_writer.cpp",
        "comments.cpp",
        "diagnostics.cpp",
        "generate_aidl_mappings.cpp",
        "generate_cpp.cpp",
        "generate_java_binder.cpp",
        "generate_java.cpp",
        "generate_ndk.cpp",
        "generate_rust.cpp",
        "import_resolver.cpp",
        "io_delegate.cpp",
        "location.cpp",
        "logging.cpp",
        "options.cpp",
        "parser.cpp",
        "permission.cpp",
        "preprocess.cpp",
    ],
    yacc: {
        gen_location_hh: true,
        gen_position_hh: true,
    },
}

// aidl executable
cc_binary_host {
    name: "aidl",
    defaults: ["aidl_defaults"],
    srcs: ["main.cpp"],
    static_libs: [
        "libaidl-common",
        "libbase",
        "liblog",
    ],
}

// aidl-cpp legacy executable, please use 'aidl' instead
cc_binary_host {
    name: "aidl-cpp",
    defaults: ["aidl_defaults"],
    srcs: ["main.cpp"],
    cflags: ["-DAIDL_CPP_BUILD"],
    static_libs: [
        "libaidl-common",
        "libbase",
        "liblog",
    ],
}

// Unit tests
cc_test {
    name: "aidl_unittests",
    host_supported: true,

    test_suites: ["general-tests"],

    cflags: [
        "-Wall",
        "-Wextra",
        "-Werror",
        "-g",
    ],

    srcs: [
        "aidl_unittest.cpp",
        "ast_java_unittest.cpp",
        "code_writer_unittest.cpp",
        "diagnostics_unittest.cpp",
        "generate_cpp_unittest.cpp",
        "io_delegate_unittest.cpp",
        "options_unittest.cpp",
        "tests/fake_io_delegate.cpp",
        "tests/main.cpp",
        "tests/test_util.cpp",
    ],

    static_libs: [
        "libaidl-common",
        "libbase",
        "libcutils",
        "libgmock",
        "liblog",
    ],

    sanitize: {
        address: true,
    },

    required: ["aidl-golden-test-build-hook"],
}

cc_fuzz {
    name: "aidl_parser_fuzzer",
    host_supported: true,
    dictionary: "tests/aidl_parser_fuzzer.dict",
    corpus: [
        "tests/corpus/*",
    ],

    fuzz_config: {
        cc: [
            "aidl-bugs@google.com",
        ],
    },

    srcs: [
        "tests/aidl_parser_fuzzer.cpp",
        "tests/fake_io_delegate.cpp",
        "tests/test_util.cpp",
    ],
    static_libs: [
        "libaidl-common",
        "libbase",
        "libcutils",
        "libgtest",
        "liblog",
    ],
    // Enable this to show additional information about what is being parsed during fuzzing.
    // cflags: ["-DFUZZ_LOG"],
}

//
// Integration testing of generated AIDL code.
//

python_test_host {
    name: "aidl_integration_test",
    main: "tests/aidl_integration_test.py",
    srcs: ["tests/aidl_integration_test.py"],
    test_config: "tests/aidl_integration_test.xml",
    target_required: [
        "aidl_test_client",
        "aidl_test_client_ndk",
        "aidl_test_service",
        "aidl_test_java_client",
        "aidl_test_java_service",
        "aidl_test_rust_client",
        "aidl_test_rust_service",
        "aidl_test_rust_service_async",
        "aidl_test_java_client_sdk1",
        "aidl_test_java_service_sdk1",
        "aidl_test_java_client_sdk29",
        "aidl_test_java_service_sdk29",
    ],
    test_suites: ["general-tests"],
    test_options: {
        unit_test: false,
    },
}

cc_defaults {
    name: "aidl_test_defaults",
    cflags: [
        "-Wall",
        "-Wextra",
        "-Werror",
    ],
    shared_libs: [
        "libbase",
        "libbinder",
        "liblog",
        "libutils",
    ],
    compile_multilib: "both",
    multilib: {
        lib32: {
            suffix: "32",
        },
        lib64: {
            suffix: "64",
        },
    },
    test_suites: ["general-tests"],
}

// Header-only library used for atrace in platform NDK builds
cc_library_headers {
    name: "libandroid_aidltrace",
    host_supported: true,
    vendor_available: true,
    export_include_dirs: ["trace"],
    apex_available: [
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
}

filegroup {
    name: "libaidl-integration-test-files",
    srcs: [
        "tests/android/aidl/tests/ArrayOfInterfaces.aidl",
        "tests/android/aidl/tests/BackendType.aidl",
        "tests/android/aidl/tests/ByteEnum.aidl",
        "tests/android/aidl/tests/ConstantExpressionEnum.aidl",
        "tests/android/aidl/tests/DeprecatedEnum.aidl",
        "tests/android/aidl/tests/DeprecatedParcelable.aidl",
        "tests/android/aidl/tests/GenericStructuredParcelable.aidl",
        "tests/android/aidl/tests/FixedSize.aidl",
        "tests/android/aidl/tests/IDeprecated.aidl",
        "tests/android/aidl/tests/INamedCallback.aidl",
        "tests/android/aidl/tests/INewName.aidl",
        "tests/android/aidl/tests/IOldName.aidl",
        "tests/android/aidl/tests/ITestService.aidl",
        "tests/android/aidl/tests/IntEnum.aidl",
        "tests/android/aidl/tests/ListOfInterfaces.aidl",
        "tests/android/aidl/tests/LongEnum.aidl",
        "tests/android/aidl/tests/OtherParcelableForToString.aidl",
        "tests/android/aidl/tests/ParcelableForToString.aidl",
        "tests/android/aidl/tests/RecursiveList.aidl",
        "tests/android/aidl/tests/StructuredParcelable.aidl",
        "tests/android/aidl/tests/Union.aidl",
        "tests/android/aidl/tests/UnionWithFd.aidl",
        "tests/android/aidl/tests/extension/*.aidl",
        "tests/android/aidl/tests/nested/*.aidl",
        "tests/android/aidl/tests/permission/IProtected.aidl",
        "tests/android/aidl/tests/permission/IProtectedInterface.aidl",
        "tests/android/aidl/tests/unions/*.aidl",
    ],
    path: "tests",
}

filegroup {
    name: "libaidl-integration-cpp-java-test-files",
    srcs: [
        "tests/android/aidl/tests/BadParcelable.aidl",
        "tests/android/aidl/tests/ICppJavaTests.aidl",
        "tests/android/aidl/tests/SimpleParcelable.aidl",
    ],
    path: "tests",
}

filegroup {
    name: "libaidl-integration-platform-test-files",
    srcs: [
        "tests/android/aidl/tests/permission/platform/*.aidl",
    ],
    path: "tests",
}

aidl_interface {
    name: "aidl-test-versioned-interface",
    local_include_dir: "tests/versioned",
    flags: ["-Werror"],
    srcs: [
        "tests/versioned/**/*.aidl",
    ],
    versions: [
        "1",
        "2",
    ],
    backend: {
        rust: {
            enabled: true,
        },
    },
}

cc_library_static {
    name: "libaidl-integration-test",
    defaults: ["aidl_test_defaults"],
    aidl: {
        generate_traces: true,
        export_aidl_headers: true,
        local_include_dirs: ["tests"],
        include_dirs: [
            "frameworks/native/aidl/binder",
        ],
    },
    srcs: [
        ":libaidl-integration-test-files",
        ":libaidl-integration-cpp-java-test-files",
        "tests/bad_parcelable.cpp",
        "tests/simple_parcelable.cpp",
    ],
}

cc_test {
    name: "aidl_test_service",
    gtest: false,
    defaults: ["aidl_test_defaults"],
    static_libs: [
        "libaidl-integration-test",
        "libcutils",
        // service uses the old version
        "aidl-test-versioned-interface-V1-cpp",
        "aidl_test_loggable_interface-cpp",
        "aidl-test-fixedsizearray-cpp",
    ],
    srcs: ["tests/aidl_test_service.cpp"],
}

cc_test {
    name: "aidl_test_client",
    defaults: ["aidl_test_defaults"],
    static_libs: [
        "libaidl-integration-test",
        "libcutils",
        "libgmock",
        //  client uses the latest version
        "aidl-test-versioned-interface-V2-cpp",
        "aidl_test_loggable_interface-cpp",
        "aidl-test-fixedsizearray-cpp",
    ],
    srcs: [
        "tests/aidl_test_client.cpp",
        "tests/aidl_test_client_builtin_transactions.cpp",
        "tests/aidl_test_client_file_descriptors.cpp",
        "tests/aidl_test_client_parcelables.cpp",
        "tests/aidl_test_client_nullables.cpp",
        "tests/aidl_test_client_primitives.cpp",
        "tests/aidl_test_client_utf8_strings.cpp",
        "tests/aidl_test_client_service_exceptions.cpp",
        "tests/aidl_test_client_defaultimpl.cpp",
        "tests/aidl_test_client_delegate.cpp",
        "tests/aidl_test_client_versioned_interface.cpp",
        "tests/aidl_test_client_renamed_interface.cpp",
        "tests/aidl_test_client_loggable_interface.cpp",
        "tests/aidl_test_client_nested.cpp",
    ],
}

cc_test {
    name: "aidl_test_client_ndk",
    defaults: ["aidl_test_defaults"],
    static_libs: [
        "libcutils",
        "libgmock",
        //  client uses the latest version
        "aidl-test-versioned-interface-V2-ndk",
        "aidl-test-interface-ndk",
        "aidl_test_loggable_interface-ndk",
        "aidl-test-fixedsizearray-ndk",
    ],
    shared_libs: [
        "libbinder_ndk",
    ],
    srcs: [
        "tests/aidl_test_client_ndk_loggable_interface.cpp",
        "tests/aidl_test_client_ndk_nested.cpp",
        "tests/aidl_test_client_ndk_nullables.cpp",
        "tests/aidl_test_client_ndk_parcelables.cpp",
        "tests/aidl_test_client_ndk_primitives_test.cpp",
        "tests/aidl_test_client_ndk_strings_test.cpp",
        "tests/aidl_test_client_ndk_versioned_interface.cpp",
    ],
}

aidl_interface {
    name: "aidl-test-fixedsizearray",
    srcs: ["tests/android/aidl/fixedsizearray/FixedSizeArrayExample.aidl"],
    local_include_dir: "tests",
    unstable: true,
    backend: {
        cpp: {
            enabled: true,
        },
        java: {
            enabled: true,
        },
        ndk: {
            enabled: true,
        },
        rust: {
            enabled: true,
        },
    }
}

java_defaults {
    name: "aidl_test_java_defaults",
    platform_apis: true,
    // Turn off Java optimization tools to speed up our test iterations.
    optimize: {
        enabled: false,
    },
    dex_preopt: {
        enabled: false,
    },
    static_libs: [
        "androidx.test.core",
        "androidx.test.runner",
        "aidl_test_nonvintf_parcelable-V1-java",
        "aidl_test_unstable_parcelable-java",
        "aidl_test_vintf_parcelable-V1-java",
        "aidl-test-fixedsizearray-java",
        // TODO: remove once Android migrates to JUnit 4.12,
        // which provides assertThrows
        "testng",
    ],
    srcs: [
        "tests/android/aidl/tests/*.aidl",
        "tests/android/aidl/tests/generic/*.aidl",
        "tests/android/aidl/tests/immutable/*.aidl",
        "tests/android/aidl/tests/map/*.aidl",
        "tests/android/aidl/tests/extension/*.aidl",
        "tests/android/aidl/tests/nested/*.aidl",
        "tests/android/aidl/tests/unions/*.aidl",
        "tests/java/src/android/aidl/tests/BadParcelable.java",
        "tests/java/src/android/aidl/tests/SimpleParcelable.java",
        "tests/java/src/android/aidl/tests/generic/Pair.java",
    ],
    aidl: {
        include_dirs: [
            "system/tools/aidl/tests/",
            "frameworks/native/aidl/binder",
        ],
        generate_traces: true,
    },
    test_suites: ["general-tests"],
}

java_test {
    name: "aidl_test_java_client",
    defaults: ["aidl_test_java_defaults"],
    static_libs: [
        // client uses the new version
        "aidl-test-versioned-interface-V3-java",
    ],
    // tests are included in defaults
    srcs: [
        "tests/java/src/android/aidl/tests/MapTests.java",
        "tests/java/src/android/aidl/tests/TestServiceClient.java",
        "tests/java/src/android/aidl/tests/JavaOnlyImmutableAnnotationTests.java",
        "tests/java/src/android/aidl/tests/AidlJavaTests.java",
        "tests/java/src/android/aidl/tests/BuiltInTests.java",
        "tests/java/src/android/aidl/tests/DelegatorTests.java",
        "tests/java/src/android/aidl/tests/GenericTests.java",
        "tests/java/src/android/aidl/tests/NestedTypesTests.java",
        "tests/java/src/android/aidl/tests/TestVersionedInterface.java",
        "tests/java/src/android/aidl/tests/UnionTests.java",
        "tests/java/src/android/aidl/tests/ExtensionTests.java",
        "tests/java/src/android/aidl/tests/NullableTests.java",
        "tests/java/src/android/aidl/tests/VintfTests.java",
    ],
}

java_test {
    name: "aidl_test_java_service",
    defaults: ["aidl_test_java_defaults"],
    static_libs: [
        // service uses the old version
        "aidl-test-versioned-interface-V1-java",
    ],
    srcs: [
        "tests/java/src/android/aidl/service/**/*.java",
    ],
}

filegroup {
    name: "aidl-for-sdkversion-tests",
    srcs: [
        "tests/java/src/android/aidl/sdkversion/ITestService.aidl",
    ],
    path: "tests/java/src",
}

java_defaults {
    name: "aidl_test_java_sdkversion_defaults",
    platform_apis: true,
    // Turn off Java optimization tools to speed up our test iterations.
    optimize: {
        enabled: false,
    },
    dex_preopt: {
        enabled: false,
    },
    static_libs: [
        "androidx.test.core",
        "androidx.test.runner",
    ],
    srcs: [
        ":aidl-for-sdkversion-tests",
    ],
    aidl: {
        include_dirs: [
            "frameworks/native/aidl/binder",
        ],
    },
    test_suites: ["general-tests"],
}

java_test {
    name: "aidl_test_java_client_sdk29",
    defaults: ["aidl_test_java_sdkversion_defaults"],
    min_sdk_version: "29",
    srcs: [
        "tests/java/src/android/aidl/sdkversion/tests/*.java",
    ],
}

java_test {
    name: "aidl_test_java_service_sdk29",
    defaults: ["aidl_test_java_sdkversion_defaults"],
    min_sdk_version: "29",
    srcs: [
        "tests/java/src/android/aidl/sdkversion/service/*.java",
    ],
}

java_test {
    name: "aidl_test_java_client_sdk1",
    defaults: ["aidl_test_java_sdkversion_defaults"],
    min_sdk_version: "1",
    srcs: [
        "tests/java/src/android/aidl/sdkversion/tests/*.java",
    ],
}

java_test {
    name: "aidl_test_java_service_sdk1",
    defaults: ["aidl_test_java_sdkversion_defaults"],
    min_sdk_version: "1",
    srcs: [
        "tests/java/src/android/aidl/sdkversion/service/*.java",
    ],
}

//
// "Golden" test of compiler output
//

sh_binary_host {
    name: "aidl-golden-test",
    src: "tests/golden_test.sh",
}

genrule {
    name: "aidl-golden-test-build-hook-gen",
    tools: ["aidl-golden-test"],
    cmd: "$(location aidl-golden-test) check && " +
        "echo 'int main(){return 0;}' > $(genDir)/TODO_b_37575883.cpp",
    srcs: [
        // warning: keep this list up to date with tests/golden_test.sh
        ":aidl-test-interface-cpp-source",
        ":aidl-test-interface-java-source",
        ":aidl-test-versioned-interface-V2-java-source",
        ":aidl-test-interface-ndk-source",
        ":aidl-test-interface-rust-source",
        ":aidl_test_loggable_interface-cpp-source",
        ":aidl_test_loggable_interface-java-source",
        ":aidl_test_loggable_interface-ndk-source",
        ":aidl-test-interface-platform-java-source",
        ":aidl-test-fixedsizearray-cpp-source",
        ":aidl-test-fixedsizearray-java-source",
        ":aidl-test-fixedsizearray-ndk-source",
        ":aidl-test-fixedsizearray-rust-source",
        "tests/golden_output/**/*",
    ],
    out: ["TODO_b_37575883.cpp"],
}

cc_test_host {
    name: "aidl-golden-test-build-hook",
    generated_sources: ["aidl-golden-test-build-hook-gen"],
    gtest: false,
}

//
// Testing generation of logs
//

aidl_interface {
    name: "aidl_test_loggable_interface",
    unstable: true,
    local_include_dir: "tests",
    flags: ["-Werror"],
    srcs: [
        "tests/android/aidl/loggable/ILoggableInterface.aidl",
        "tests/android/aidl/loggable/Data.aidl",
        "tests/android/aidl/loggable/Enum.aidl",
        "tests/android/aidl/loggable/Union.aidl",
    ],
    gen_trace: true,
    backend: {
        cpp: {
            gen_log: true,
        },
        ndk: {
            gen_log: true,
        },
        java: {
            platform_apis: true,
        },
    },
}

aidl_interface {
    name: "aidl-test-interface",
    unstable: true,
    flags: ["-Werror"],
    srcs: [":libaidl-integration-test-files"],
    local_include_dir: "tests",
    backend: {
        cpp: {
        },
        java: {
            platform_apis: true,
            gen_rpc: true,
        },
        rust: {
            enabled: true,
        },
        ndk: {
            apps_enabled: false,
        },
    },
}

aidl_interface {
    name: "aidl-test-interface-platform",
    unstable: true,
    flags: ["-Werror"],
    srcs: [":libaidl-integration-platform-test-files"],
    include_dirs: [
        "frameworks/base/core/java",
    ],
    local_include_dir: "tests",
    backend: {
        cpp: {
            enabled: false,
        },
        java: {
            platform_apis: true,
        },
        rust: {
            enabled: false,
        },
        ndk: {
            enabled: false,
        },
    },
}

//
// Rust tests
//

rust_test {
    name: "aidl_test_rust_client",
    srcs: [
        "tests/rust/test_client.rs",
    ],
    rustlibs: [
        "aidl-test-interface-rust",
        "aidl-test-versioned-interface-V2-rust",
        "aidl_test_nonvintf_parcelable-V1-rust",
        "aidl_test_unstable_parcelable-rust",
        "aidl_test_vintf_parcelable-V1-rust",
        "aidl-test-fixedsizearray-rust",
        "liblibc",
        // We need to import binder_rs directly
        // for a few internal types like Parcel
        // and traits like Parcelable
        "libbinder_rs",
    ],
    prefer_rlib: true,
    compile_multilib: "both",
    multilib: {
        lib32: {
            suffix: "32",
        },
        lib64: {
            suffix: "64",
        },
    },
    test_suites: ["general-tests"],
}

rust_test {
    name: "aidl_test_rust_service",
    test_harness: false,
    srcs: [
        "tests/rust/test_service.rs",
    ],
    rustlibs: [
        "aidl-test-interface-rust",
        "aidl-test-versioned-interface-V1-rust",
        "aidl-test-fixedsizearray-rust",
        "liblibc",
    ],
    prefer_rlib: true,
    compile_multilib: "both",
    multilib: {
        lib32: {
            suffix: "32",
        },
        lib64: {
            suffix: "64",
        },
    },
    test_suites: ["general-tests"],
}

rust_test {
    name: "aidl_test_rust_service_async",
    test_harness: false,
    srcs: [
        "tests/rust/test_service_async.rs",
    ],
    rustlibs: [
        "aidl-test-interface-rust",
        "aidl-test-versioned-interface-V1-rust",
        "liblibc",
        "libbinder_tokio_rs",
        "libtokio",
    ],
    proc_macros: ["libasync_trait"],
    prefer_rlib: true,
    compile_multilib: "both",
    multilib: {
        lib32: {
            suffix: "32",
        },
        lib64: {
            suffix: "64",
        },
    },
    test_suites: ["general-tests"],
}
