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

    tidy_timeout_srcs: [
        "aidl_unittest.cpp",
        "options_unittest.cpp",
    ],

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

    target: {
        host: {
            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",
        "aidl_test_java_client_permission",
        "aidl_test_java_service_permission",
    ],
    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/CircularParcelable.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/ICircular.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/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-permission-test-files",
    srcs: [
        "tests/android/aidl/tests/permission/IProtected.aidl",
        "tests/android/aidl/tests/permission/IProtectedInterface.aidl",
        "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: {
        java: {
            gen_rpc: true,
        },
        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",
    ],
    tidy_timeout_srcs: [
        "tests/aidl_test_client_parcelables.cpp",
        "tests/aidl_test_client_primitives.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_delegate.cpp",
        "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_integration_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: {
        include_dirs: [
            "frameworks/native/aidl/binder",
        ],
    },
    test_suites: ["general-tests"],
}

java_defaults {
    name: "aidl_test_java_defaults",
    defaults: ["aidl_test_java_integration_defaults"],
    static_libs: [
        "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/",
        ],
        generate_traces: true,
    },
}

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",
    defaults: ["aidl_test_java_integration_defaults"],
    srcs: [
        ":aidl-for-sdkversion-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",
    ],
}

java_test {
    name: "aidl_test_java_client_permission",
    defaults: ["aidl_test_java_integration_defaults"],
    static_libs: [
        "aidl-test-interface-permission-java",
    ],
    srcs: [
        "tests/java/src/android/aidl/permission/tests/*.java",
        "tests/java/src/android/aidl/permission/service/*.java",
    ],
}

java_test {
    name: "aidl_test_java_service_permission",
    defaults: ["aidl_test_java_integration_defaults"],
    static_libs: [
        "aidl-test-interface-permission-java",
    ],
    srcs: [
        "tests/java/src/android/aidl/permission/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-V1-cpp-source",
        ":aidl-test-versioned-interface-V1-java-source",
        ":aidl-test-versioned-interface-V1-ndk-source",
        ":aidl-test-versioned-interface-V1-rust-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-permission-java-source",
        ":aidl-test-fixedsizearray-cpp-source",
        ":aidl-test-fixedsizearray-java-source",
        ":aidl-test-fixedsizearray-ndk-source",
        ":aidl-test-fixedsizearray-rust-source",
        ":aidl-test-interface-cpp-analyzer-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,
        },
        rust: {
            enabled: true,
        },
        ndk: {
            apps_enabled: false,
        },
    },
}

aidl_interface {
    name: "aidl-test-interface-permission",
    unstable: true,
    flags: ["-Werror"],
    srcs: [":libaidl-integration-permission-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"],
}

cc_library_static {
    name: "aidl-analyzer-main",
    host_supported: true,
    vendor_available: true,
    shared_libs: [
        "libbase",
        "libbinder",
    ],
    srcs: [
        "analyzer/analyzerMain.cpp",
        "analyzer/Analyzer.cpp",
    ],
    export_include_dirs: ["analyzer/include"],
}

cc_binary {
    name: "record_binder",
    whole_static_libs: ["aidl-analyzer-main"],
    shared_libs: [
        "libbase",
        "libbinder",
        "libutils"
    ],
}
