//
// 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",
        "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"],
        },
    },
    defaults_visibility: [":__subpackages__"],
}

// 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,
    },
    visibility: [":__subpackages__"],
}

// 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/**/*.aidl",
    ],
    path: "tests",
}

aidl_interface {
    name: "aidl-test-versioned-interface",
    local_include_dir: "tests/versioned",
    flags: ["-Werror"],
    srcs: [
        "tests/versioned/**/*.aidl",
    ],

    backend: {
        java: {
            gen_rpc: true,
        },
        rust: {
            enabled: true,
        },
    },
    versions_with_info: [
        {
            version: "1",
            imports: [],
        },
        {
            version: "2",
            imports: [],
        },
        {
            version: "3",
            imports: [],
        },

    ],
    frozen: 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",
    ],
    data: [
        ":cts-dalvik-device-test-runner",
    ],
}

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",
    ],
    data: [
        ":cts-dalvik-device-test-runner",
    ],
}

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",
    data: [
        ":cts-dalvik-device-test-runner",
    ],
    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",
    ],
    data: [
        ":cts-dalvik-device-test-runner",
    ],
}

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",
    ],
    data: [
        ":cts-dalvik-device-test-runner",
    ],
}

java_test {
    name: "aidl_test_java_service_sdk1",
    defaults: ["aidl_test_java_sdkversion_defaults"],
    min_sdk_version: "1",
    data: [
        ":cts-dalvik-device-test-runner",
    ],
    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",
    ],
    data: [
        ":cts-dalvik-device-test-runner",
    ],
}

java_test {
    name: "aidl_test_java_service_permission",
    defaults: ["aidl_test_java_integration_defaults"],
    static_libs: [
        "aidl-test-interface-permission-java",
    ],
    data: [
        ":cts-dalvik-device-test-runner",
    ],
    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",
    ],
}
