// Copyright (C) 2019 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.

// How stubs are generated:
//
// raw source files --(metalava)--> stub source files --(javac)--> stub jar files
//
// - The metalava conversion is done by droidstub modules
// - The javac compilation is done by java_library modules
//
// The metalava conversion is also responsible for creating API signature files
// and comparing them against the checked in API signature, and also checking compatibility
// with the latest frozen API signature.

/////////////////////////////////////////////////////////////////////
// These modules provide source files for the stub libraries
/////////////////////////////////////////////////////////////////////

droidstubs {
    name: "api-stubs-docs-non-updatable",
    srcs: [
        ":framework-minus-apex-aconfig-srcjars",
    ],
    defaults: [
        "android-non-updatable-stubs-defaults",
        "module-classpath-stubs-defaults",
    ],
    args: metalava_framework_docs_args,
    check_api: {
        current: {
            api_file: ":non-updatable-current.txt",
            removed_api_file: ":non-updatable-removed.txt",
        },
        last_released: {
            api_file: ":android-non-updatable.api.public.latest",
            removed_api_file: ":android-non-updatable-removed.api.public.latest",
            baseline_file: ":android-non-updatable-incompatibilities.api.public.latest",
        },
        api_lint: {
            enabled: true,
            new_since: ":android.api.public.latest",
            baseline_file: ":non-updatable-lint-baseline.txt",
        },
    },
    dists: [
        {
            targets: ["sdk"],
            dir: "apistubs/android/public/api",
            dest: "android-non-updatable.txt",
            tag: ".api.txt",
        },
        {
            targets: ["sdk"],
            dir: "apistubs/android/public/api",
            dest: "android-non-updatable-removed.txt",
            tag: ".removed-api.txt",
        },
    ],
    api_surface: "public",
}

priv_apps = " --show-annotation android.annotation.SystemApi\\(" +
    "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
    "\\)"

priv_apps_in_stubs = " --show-for-stub-purposes-annotation android.annotation.SystemApi\\(" +
    "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
    "\\)"

test = " --show-annotation android.annotation.TestApi"

module_libs = " --show-annotation android.annotation.SystemApi\\(" +
    "client=android.annotation.SystemApi.Client.MODULE_LIBRARIES" +
    "\\)"

droidstubs {
    name: "system-api-stubs-docs-non-updatable",
    srcs: [
        ":framework-minus-apex-aconfig-srcjars",
    ],
    defaults: [
        "android-non-updatable-stubs-defaults",
        "module-classpath-stubs-defaults",
    ],
    args: metalava_framework_docs_args + priv_apps,
    check_api: {
        current: {
            api_file: ":non-updatable-system-current.txt",
            removed_api_file: ":non-updatable-system-removed.txt",
        },
        last_released: {
            api_file: ":android-non-updatable.api.system.latest",
            removed_api_file: ":android-non-updatable-removed.api.system.latest",
            baseline_file: ":android-non-updatable-incompatibilities.api.system.latest",
        },
        api_lint: {
            enabled: true,
            new_since: ":android.api.system.latest",
            baseline_file: ":non-updatable-system-lint-baseline.txt",
        },
    },
    dists: [
        {
            targets: ["sdk"],
            dir: "apistubs/android/system/api",
            dest: "android-non-updatable.txt",
            tag: ".api.txt",
        },
        {
            targets: ["sdk"],
            dir: "apistubs/android/system/api",
            dest: "android-non-updatable-removed.txt",
            tag: ".removed-api.txt",
        },
    ],
    api_surface: "system",
}

droidstubs {
    name: "test-api-stubs-docs-non-updatable",
    srcs: [
        ":framework-minus-apex-aconfig-srcjars",
    ],
    defaults: [
        "android-non-updatable-stubs-defaults",
        "module-classpath-stubs-defaults",
    ],
    args: metalava_framework_docs_args + test + priv_apps_in_stubs,
    check_api: {
        current: {
            api_file: ":non-updatable-test-current.txt",
            removed_api_file: ":non-updatable-test-removed.txt",
        },
        api_lint: {
            enabled: true,
            new_since: ":android.api.test.latest",
            baseline_file: ":non-updatable-test-lint-baseline.txt",
        },
    },
    dists: [
        {
            targets: ["sdk"],
            dir: "apistubs/android/test/api",
            dest: "android.txt",
            tag: ".api.txt",
        },
        {
            targets: ["sdk"],
            dir: "apistubs/android/test/api",
            dest: "removed.txt",
            tag: ".removed-api.txt",
        },
        {
            targets: ["sdk"],
            dir: "apistubs/android/test/api",
            dest: "android-non-updatable.txt",
            tag: ".api.txt",
        },
        {
            targets: ["sdk"],
            dir: "apistubs/android/test/api",
            dest: "android-non-updatable-removed.txt",
            tag: ".removed-api.txt",
        },
    ],
    api_surface: "test",
}

droidstubs {
    name: "module-lib-api-stubs-docs-non-updatable",
    srcs: [
        ":framework-minus-apex-aconfig-srcjars",
    ],
    defaults: [
        "android-non-updatable-stubs-defaults",
        "module-classpath-stubs-defaults",
    ],
    args: metalava_framework_docs_args + priv_apps_in_stubs + module_libs,
    check_api: {
        current: {
            api_file: ":non-updatable-module-lib-current.txt",
            removed_api_file: ":non-updatable-module-lib-removed.txt",
        },
        last_released: {
            api_file: ":android-non-updatable.api.module-lib.latest",
            removed_api_file: ":android-non-updatable-removed.api.module-lib.latest",
            baseline_file: ":android-non-updatable-incompatibilities.api.module-lib.latest",
        },
        api_lint: {
            enabled: true,
            new_since: ":android.api.module-lib.latest",
            baseline_file: ":non-updatable-module-lib-lint-baseline.txt",
        },
    },
    dists: [
        {
            targets: ["sdk"],
            dir: "apistubs/android/module-lib/api",
            dest: "android-non-updatable.txt",
            tag: ".api.txt",
        },
        {
            targets: ["sdk"],
            dir: "apistubs/android/module-lib/api",
            dest: "android-non-updatable-removed.txt",
            tag: ".removed-api.txt",
        },
    ],
    api_surface: "module-lib",
}

/////////////////////////////////////////////////////////////////////
// android_*_stubs_current modules are the stubs libraries compiled
// from stub sources
/////////////////////////////////////////////////////////////////////

java_defaults {
    name: "android.jar_defaults",
    sdk_version: "none",
    system_modules: "none",
    java_version: "1.8",
    compile_dex: true,
    visibility: ["//visibility:public"],
}

java_defaults {
    name: "android-non-updatable_defaults",
    sdk_version: "none",
    system_modules: "none",
    java_version: "1.8",
    compile_dex: true,
}

java_defaults {
    name: "android-non-updatable_from_source_defaults",
    libs: ["stub-annotations"],
    static_libs: ["framework-res-package-jar"], // Export package of framework-res
    dist: {
        targets: ["sdk"],
        tag: ".jar",
        dest: "android-non-updatable.jar",
    },
}

java_library {
    name: "android-non-updatable.stubs",
    defaults: ["android-non-updatable_defaults"],
    static_libs: [
        "android-non-updatable.stubs.from-source",
    ],
    product_variables: {
        build_from_text_stub: {
            static_libs: [
                "android-non-updatable.stubs.from-text",
            ],
            exclude_static_libs: [
                "android-non-updatable.stubs.from-source",
            ],
        },
    },
}

java_library {
    name: "android-non-updatable.stubs.system",
    defaults: ["android-non-updatable_defaults"],
    static_libs: [
        "android-non-updatable.stubs.system.from-source",
    ],
    product_variables: {
        build_from_text_stub: {
            static_libs: [
                "android-non-updatable.stubs.system.from-text",
            ],
            exclude_static_libs: [
                "android-non-updatable.stubs.system.from-source",
            ],
        },
    },
}

java_library {
    name: "android-non-updatable.stubs.module_lib",
    defaults: ["android-non-updatable_defaults"],
    static_libs: [
        "android-non-updatable.stubs.module_lib.from-source",
    ],
    product_variables: {
        build_from_text_stub: {
            static_libs: [
                "android-non-updatable.stubs.module_lib.from-text",
            ],
            exclude_static_libs: [
                "android-non-updatable.stubs.module_lib.from-source",
            ],
        },
    },
}

java_library {
    name: "android-non-updatable.stubs.test",
    defaults: ["android-non-updatable_defaults"],
    static_libs: [
        "android-non-updatable.stubs.test.from-source",
    ],
    product_variables: {
        build_from_text_stub: {
            static_libs: [
                "android-non-updatable.stubs.test.from-text",
            ],
            exclude_static_libs: [
                "android-non-updatable.stubs.test.from-source",
            ],
        },
    },
}

java_library {
    name: "android-non-updatable.stubs.from-source",
    defaults: [
        "android-non-updatable_defaults",
        "android-non-updatable_from_source_defaults",
    ],
    srcs: [":api-stubs-docs-non-updatable"],
    libs: ["all-modules-public-stubs"],
    dist: {
        dir: "apistubs/android/public",
    },
}

java_library {
    name: "android-non-updatable.stubs.system.from-source",
    defaults: [
        "android-non-updatable_defaults",
        "android-non-updatable_from_source_defaults",
    ],
    srcs: [":system-api-stubs-docs-non-updatable"],
    libs: ["all-modules-system-stubs"],
    dist: {
        dir: "apistubs/android/system",
    },
}

java_library {
    name: "android-non-updatable.stubs.module_lib.from-source",
    defaults: [
        "android-non-updatable_defaults",
        "android-non-updatable_from_source_defaults",
    ],
    srcs: [":module-lib-api-stubs-docs-non-updatable"],
    libs: [
        // We cannot depend on all-modules-module-lib-stubs, because the module-lib stubs
        // depend on this stub. We resolve dependencies on APIs in modules by depending
        // on a prebuilt of the whole platform (sdk_system_current_android).
        // That prebuilt does not include module-lib APIs, so use the prebuilt module-lib
        // stubs for modules that export module-lib stubs that the non-updatable part
        // depends on.
        "sdk_module-lib_current_framework-tethering",
        "sdk_module-lib_current_framework-connectivity-t",
        "sdk_system_current_android",
    ],
    dist: {
        dir: "apistubs/android/module-lib",
    },
}

java_library {
    name: "android-non-updatable.stubs.test.from-source",
    defaults: [
        "android-non-updatable_defaults",
        "android-non-updatable_from_source_defaults",
    ],
    srcs: [":test-api-stubs-docs-non-updatable"],
    libs: ["all-modules-system-stubs"],
    dist: {
        dir: "apistubs/android/test",
    },
}

java_defaults {
    name: "android-non-updatable_from_text_defaults",
    static_libs: ["framework-res-package-jar"],
    libs: ["stub-annotations"],
}

java_api_library {
    name: "android-non-updatable.stubs.from-text",
    api_surface: "public",
    api_contributions: [
        "api-stubs-docs-non-updatable.api.contribution",
    ],
    defaults: ["android-non-updatable_from_text_defaults"],
    full_api_surface_stub: "android_stubs_current.from-text",
}

java_api_library {
    name: "android-non-updatable.stubs.system.from-text",
    api_surface: "system",
    api_contributions: [
        "api-stubs-docs-non-updatable.api.contribution",
        "system-api-stubs-docs-non-updatable.api.contribution",
    ],
    defaults: ["android-non-updatable_from_text_defaults"],
    full_api_surface_stub: "android_system_stubs_current.from-text",
}

java_api_library {
    name: "android-non-updatable.stubs.test.from-text",
    api_surface: "test",
    api_contributions: [
        "api-stubs-docs-non-updatable.api.contribution",
        "system-api-stubs-docs-non-updatable.api.contribution",
        "test-api-stubs-docs-non-updatable.api.contribution",
    ],
    defaults: ["android-non-updatable_from_text_defaults"],
    full_api_surface_stub: "android_test_stubs_current.from-text",
}

java_api_library {
    name: "android-non-updatable.stubs.module_lib.from-text",
    api_surface: "module_lib",
    api_contributions: [
        "api-stubs-docs-non-updatable.api.contribution",
        "system-api-stubs-docs-non-updatable.api.contribution",
        "module-lib-api-stubs-docs-non-updatable.api.contribution",
    ],
    defaults: ["android-non-updatable_from_text_defaults"],
    full_api_surface_stub: "android_module_lib_stubs_current_full.from-text",
}

java_defaults {
    name: "android_stubs_dists_default",
    dist: {
        targets: ["sdk"],
        tag: ".jar",
        dest: "android.jar",
    },
    defaults_visibility: ["//frameworks/base/services"],
}

java_library {
    name: "android_stubs_current.from-source",
    static_libs: [
        "all-modules-public-stubs",
        "android-non-updatable.stubs",
        "private-stub-annotations-jar",
    ],
    defaults: ["android.jar_defaults"],
}

java_library {
    name: "android_system_stubs_current.from-source",
    static_libs: [
        "all-modules-system-stubs",
        "android-non-updatable.stubs.system",
        "private-stub-annotations-jar",
    ],
    defaults: [
        "android.jar_defaults",
        "android_stubs_dists_default",
    ],
    dist: {
        dir: "apistubs/android/system",
    },
    dists: [
        {
            // Legacy dist path
            targets: ["sdk"],
            tag: ".jar",
            dest: "android_system.jar",
        },
    ],
}

java_library {
    name: "android_test_stubs_current.from-source",
    static_libs: [
        // Updatable modules do not have test APIs, but we want to include their SystemApis, like we
        // include the SystemApi of framework-non-updatable-sources.
        "all-updatable-modules-system-stubs",
        // Non-updatable modules on the other hand can have test APIs, so include their test-stubs.
        "all-non-updatable-modules-test-stubs",
        "android-non-updatable.stubs.test",
        "private-stub-annotations-jar",
    ],
    defaults: [
        "android.jar_defaults",
        "android_stubs_dists_default",
    ],
    dist: {
        dir: "apistubs/android/test",
    },
}

java_library {
    name: "android_test_frameworks_core_stubs_current.from-source",
    static_libs: [
        "all-updatable-modules-system-stubs",
        "android-non-updatable.stubs.test",
    ],
    defaults: [
        "android.jar_defaults",
        "android_stubs_dists_default",
    ],
    dist: {
        dir: "apistubs/android/test-core",
    },
}

java_library {
    name: "android_module_lib_stubs_current.from-source",
    defaults: [
        "android.jar_defaults",
        "android_stubs_dists_default",
    ],
    static_libs: [
        "android-non-updatable.stubs.module_lib",
        "art.module.public.api.stubs.module_lib",
        "i18n.module.public.api.stubs",
    ],
    dist: {
        dir: "apistubs/android/module-lib",
    },
}

java_library {
    name: "android_system_server_stubs_current.from-source",
    defaults: [
        "android.jar_defaults",
        "android_stubs_dists_default",
    ],
    srcs: [":services-non-updatable-stubs"],
    installable: false,
    static_libs: [
        "android_module_lib_stubs_current.from-source",
    ],
    dist: {
        dir: "apistubs/android/system-server",
    },
}

java_library {
    name: "android_stubs_private_jar",
    defaults: ["android.jar_defaults"],
    visibility: [
        "//visibility:override",
        "//visibility:private",
    ],
    static_libs: [
        "stable.core.platform.api.stubs",
        "core-lambda-stubs-for-system-modules",
        "core-generated-annotation-stubs",
        "framework",
        "ext",
        "framework-res-package-jar",
        // The order of this matters, it has to be last to provide a
        // package-private androidx.annotation.RecentlyNonNull without
        // overriding the public android.annotation.Nullable in framework.jar
        // with its own package-private android.annotation.Nullable.
        "private-stub-annotations-jar",
    ],
}

java_genrule {
    name: "android_stubs_private_hjar",
    srcs: [":android_stubs_private_jar{.hjar}"],
    out: ["android_stubs_private.jar"],
    cmd: "cp $(in) $(out)",
}

java_library {
    name: "android_stubs_private",
    defaults: ["android_stubs_dists_default"],
    sdk_version: "none",
    system_modules: "none",
    static_libs: ["android_stubs_private_hjar"],
    dist: {
        dir: "apistubs/android/private",
    },
}

java_genrule {
    name: "android_stubs_private_framework_aidl",
    tools: ["sdkparcelables"],
    srcs: [":android_stubs_private"],
    out: ["framework.aidl"],
    cmd: "rm -f $(genDir)/framework.aidl.merged && " +
        "for i in $(in); do " +
        "  rm -f $(genDir)/framework.aidl.tmp && " +
        "  $(location sdkparcelables) $$i $(genDir)/framework.aidl.tmp && " +
        "  cat $(genDir)/framework.aidl.tmp >> $(genDir)/framework.aidl.merged; " +
        "done && " +
        "sort -u $(genDir)/framework.aidl.merged > $(out)",
    dist: {
        targets: ["sdk"],
        dir: "apistubs/android/private",
    },
}

//
// Java API defaults and libraries for single tree build
//

java_defaults {
    name: "stub-annotation-defaults",
    libs: [
        "stub-annotations",
    ],
    static_libs: [
        // stub annotations do not contribute to the API surfaces but are statically
        // linked in the stubs for API surfaces (see frameworks/base/StubLibraries.bp).
        // This is because annotation processors insist on loading the classes for any
        // annotations found, thus should exist inside android.jar.
        "private-stub-annotations-jar",
    ],
}

// Listing of API domains contribution and dependencies per API surfaces
java_defaults {
    name: "android_test_stubs_current_contributions",
    api_surface: "test",
    api_contributions: [
        "framework-virtualization.stubs.source.test.api.contribution",
        "framework-location.stubs.source.test.api.contribution",
    ],
}

java_defaults {
    name: "android_test_frameworks_core_stubs_current_contributions",
    api_surface: "test",
    api_contributions: [
        "test-api-stubs-docs-non-updatable.api.contribution",
    ],
}

java_defaults {
    name: "android_module_lib_stubs_current_contributions",
    api_surface: "module-lib",
    api_contributions: [
        "api-stubs-docs-non-updatable.api.contribution",
        "system-api-stubs-docs-non-updatable.api.contribution",
        "module-lib-api-stubs-docs-non-updatable.api.contribution",
        "art.module.public.api.stubs.source.api.contribution",
        "art.module.public.api.stubs.source.system.api.contribution",
        "art.module.public.api.stubs.source.module_lib.api.contribution",
        "i18n.module.public.api.stubs.source.api.contribution",
        "i18n.module.public.api.stubs.source.system.api.contribution",
        "i18n.module.public.api.stubs.source.module_lib.api.contribution",
    ],
}

// Java API library definitions per API surface
java_api_library {
    name: "android_stubs_current.from-text",
    api_surface: "public",
    defaults: [
        // This module is dynamically created at frameworks/base/api/api.go
        // instead of being written out, in order to minimize edits in the codebase
        // when there is a change in the list of modules.
        // that contributes to an api surface.
        "android_stubs_current_contributions",
        "stub-annotation-defaults",
    ],
    api_contributions: [
        "api-stubs-docs-non-updatable.api.contribution",
    ],
    visibility: ["//visibility:public"],
}

java_api_library {
    name: "android_system_stubs_current.from-text",
    api_surface: "system",
    defaults: [
        "android_stubs_current_contributions",
        "android_system_stubs_current_contributions",
        "stub-annotation-defaults",
    ],
    api_contributions: [
        "api-stubs-docs-non-updatable.api.contribution",
        "system-api-stubs-docs-non-updatable.api.contribution",
    ],
    visibility: ["//visibility:public"],
}

java_api_library {
    name: "android_test_stubs_current.from-text",
    api_surface: "test",
    defaults: [
        "android_stubs_current_contributions",
        "android_system_stubs_current_contributions",
        "android_test_stubs_current_contributions",
        "stub-annotation-defaults",
    ],
    api_contributions: [
        "api-stubs-docs-non-updatable.api.contribution",
        "system-api-stubs-docs-non-updatable.api.contribution",
        "test-api-stubs-docs-non-updatable.api.contribution",
    ],
    visibility: ["//visibility:public"],
}

java_api_library {
    name: "android_test_frameworks_core_stubs_current.from-text",
    api_surface: "test",
    defaults: [
        "android_stubs_current_contributions",
        "android_system_stubs_current_contributions",
        "android_test_frameworks_core_stubs_current_contributions",
        "stub-annotation-defaults",
    ],
    api_contributions: [
        "api-stubs-docs-non-updatable.api.contribution",
        "system-api-stubs-docs-non-updatable.api.contribution",
    ],
}

java_api_library {
    name: "android_module_lib_stubs_current_full.from-text",
    api_surface: "module-lib",
    defaults: [
        "android_stubs_current_contributions",
        "android_system_stubs_current_contributions",
        "android_module_lib_stubs_current_contributions_full",
    ],
    libs: [
        "stub-annotations",
    ],
    api_contributions: [
        "api-stubs-docs-non-updatable.api.contribution",
        "system-api-stubs-docs-non-updatable.api.contribution",
        "module-lib-api-stubs-docs-non-updatable.api.contribution",
    ],
    visibility: ["//visibility:public"],
}

java_api_library {
    name: "android_module_lib_stubs_current.from-text",
    api_surface: "module-lib",
    defaults: [
        "android_module_lib_stubs_current_contributions",
    ],
    libs: [
        "android_module_lib_stubs_current_full.from-text",
        "stub-annotations",
    ],
    visibility: ["//visibility:public"],
}

java_api_library {
    name: "android_system_server_stubs_current.from-text",
    api_surface: "system-server",
    api_contributions: [
        "services-non-updatable-stubs.api.contribution",
    ],
    libs: [
        "android_module_lib_stubs_current.from-text",
        "stub-annotations",
    ],
    static_libs: [
        "android_module_lib_stubs_current.from-text",
    ],
    visibility: ["//visibility:public"],
}

////////////////////////////////////////////////////////////////////////
// api-versions.xml generation, for public and system. This API database
// also contains the android.test.* APIs.
////////////////////////////////////////////////////////////////////////

java_library {
    name: "android_stubs_current_with_test_libs",
    static_libs: [
        "android_stubs_current",
        "android.test.base.stubs",
        "android.test.mock.stubs",
        "android.test.runner.stubs",
    ],
    defaults: ["android.jar_defaults"],
    visibility: [
        "//visibility:override",
        "//visibility:private",
    ],
}

java_library {
    name: "android_system_stubs_current_with_test_libs",
    static_libs: [
        "android_system_stubs_current",
        "android.test.base.stubs.system",
        "android.test.mock.stubs.system",
        "android.test.runner.stubs.system",
    ],
    defaults: ["android.jar_defaults"],
    visibility: [
        "//visibility:override",
        "//visibility:private",
    ],
}

java_library {
    name: "android_module_stubs_current_with_test_libs",
    static_libs: [
        "android_module_lib_stubs_current",
        "android.test.base.stubs",
        "android.test.mock.stubs",
        "android.test.runner.stubs",
    ],
    defaults: ["android.jar_defaults"],
    visibility: [
        "//visibility:override",
        "//visibility:private",
    ],
}

java_library {
    name: "android_system_server_stubs_current_with_test_libs",
    static_libs: [
        "android_system_server_stubs_current",
        "android.test.base.stubs.system",
        "android.test.mock.stubs.system",
        "android.test.runner.stubs.system",
    ],
    defaults: ["android.jar_defaults"],
    visibility: [
        "//visibility:override",
        "//visibility:private",
    ],
}

droidstubs {
    name: "api_versions_public",
    srcs: [":android_stubs_current_with_test_libs{.jar}"],
    generate_stubs: false,
    api_levels_annotations_enabled: true,
    api_levels_annotations_dirs: [
        "sdk-dir",
        "api-versions-jars-dir",
    ],
    api_levels_sdk_type: "public",
    extensions_info_file: ":sdk-extensions-info",
    visibility: ["//frameworks/base"],
}

droidstubs {
    name: "api_versions_system",
    srcs: [":android_system_stubs_current_with_test_libs{.jar}"],
    generate_stubs: false,
    api_levels_annotations_enabled: true,
    api_levels_annotations_dirs: [
        "sdk-dir",
        "api-versions-jars-dir",
    ],
    api_levels_sdk_type: "system",
    extensions_info_file: ":sdk-extensions-info",
}

// This module can be built with:
// m out/soong/.intermediates/frameworks/base/api_versions_module_lib/android_common/metalava/api-versions.xml
droidstubs {
    name: "api_versions_module_lib",
    srcs: [":android_module_stubs_current_with_test_libs{.jar}"],
    generate_stubs: false,
    api_levels_annotations_enabled: true,
    // this only has the non-updatable portions of the module lib sdk,
    // which can reference classes from updatable apexes, so remove references to them
    // from this api_versions file.
    flags: ["--remove-missing-class-references-in-api-levels"],
    api_levels_annotations_dirs: [
        "sdk-dir",
        "api-versions-jars-dir",
    ],
    api_levels_sdk_type: "module-lib",
    // extensions_info_file is purposefully omitted, because this module should just be
    // the non-updatable portions of the sdk, and extension sdks are updatable.
}

droidstubs {
    name: "api_versions_system_server",
    srcs: [":android_system_server_stubs_current_with_test_libs{.jar}"],
    generate_stubs: false,
    api_levels_annotations_enabled: true,
    // this only has the non-updatable portions of the system server sdk,
    // which can reference classes from updatable apexes, so remove references to them
    // from this api_versions file.
    flags: ["--remove-missing-class-references-in-api-levels"],
    api_levels_annotations_dirs: [
        "sdk-dir",
        "api-versions-jars-dir",
    ],
    api_levels_sdk_type: "system-server",
    // extensions_info_file is purposefully omitted, because this module should just be
    // the non-updatable portions of the sdk, and extension sdks are updatable.
}

/////////////////////////////////////////////////////////////////////
// hwbinder.stubs provides APIs required for building HIDL Java
// libraries.
/////////////////////////////////////////////////////////////////////

droidstubs {
    name: "hwbinder-stubs-docs",
    srcs: [":hwbinder-stubs-srcs"],
    libs: ["framework-annotations-lib"],
    installable: false,
    sdk_version: "core_platform",
    annotations_enabled: true,
    previous_api: ":android.api.public.latest",
    merge_annotations_dirs: [
        "metalava-manual",
    ],
    args: priv_apps,
}

java_library {
    name: "hwbinder.stubs",
    sdk_version: "core_current",
    libs: ["framework-annotations-lib"],
    srcs: [
        ":hwbinder-stubs-docs",
    ],
    visibility: ["//visibility:public"],
}
