// This is auto-generated. DO NOT EDIT.

package {
    // A default list here prevents the license LSC from adding its own list which would
    // be unnecessary as every module in the sdk already has its own licenses property.
    default_applicable_licenses: ["Android-Apache-2.0"],
}

prebuilt_bootclasspath_fragment {
    name: "scheduling-sdk_com.android.scheduling-bootclasspath-fragment@current",
    sdk_member_name: "com.android.scheduling-bootclasspath-fragment",
    visibility: ["//visibility:public"],
    apex_available: ["com.android.scheduling"],
    licenses: ["scheduling-sdk_Android-Apache-2.0@current"],
    contents: ["scheduling-sdk_framework-scheduling@current"],
    hidden_api: {
        stub_flags: "hiddenapi/stub-flags.csv",
        annotation_flags: "hiddenapi/annotation-flags.csv",
        metadata: "hiddenapi/metadata.csv",
        index: "hiddenapi/index.csv",
        all_flags: "hiddenapi/all-flags.csv",
    },
}

prebuilt_bootclasspath_fragment {
    name: "com.android.scheduling-bootclasspath-fragment",
    prefer: false,
    visibility: ["//visibility:public"],
    apex_available: ["com.android.scheduling"],
    licenses: ["scheduling-sdk_Android-Apache-2.0"],
    contents: ["framework-scheduling"],
    hidden_api: {
        stub_flags: "hiddenapi/stub-flags.csv",
        annotation_flags: "hiddenapi/annotation-flags.csv",
        metadata: "hiddenapi/metadata.csv",
        index: "hiddenapi/index.csv",
        all_flags: "hiddenapi/all-flags.csv",
    },
}

java_sdk_library_import {
    name: "scheduling-sdk_framework-scheduling@current",
    sdk_member_name: "framework-scheduling",
    visibility: ["//visibility:public"],
    apex_available: ["com.android.scheduling"],
    licenses: ["scheduling-sdk_Android-Apache-2.0@current"],
    shared_library: false,
    permitted_packages: ["android.scheduling"],
    public: {
        jars: ["sdk_library/public/framework-scheduling-stubs.jar"],
        stub_srcs: ["sdk_library/public/framework-scheduling.srcjar"],
        current_api: "sdk_library/public/framework-scheduling.txt",
        removed_api: "sdk_library/public/framework-scheduling-removed.txt",
        sdk_version: "module_current",
    },
    system: {
        jars: ["sdk_library/system/framework-scheduling-stubs.jar"],
        stub_srcs: ["sdk_library/system/framework-scheduling.srcjar"],
        current_api: "sdk_library/system/framework-scheduling.txt",
        removed_api: "sdk_library/system/framework-scheduling-removed.txt",
        sdk_version: "module_current",
    },
    module_lib: {
        jars: ["sdk_library/module-lib/framework-scheduling-stubs.jar"],
        stub_srcs: ["sdk_library/module-lib/framework-scheduling.srcjar"],
        current_api: "sdk_library/module-lib/framework-scheduling.txt",
        removed_api: "sdk_library/module-lib/framework-scheduling-removed.txt",
        sdk_version: "module_current",
    },
}

java_sdk_library_import {
    name: "framework-scheduling",
    prefer: false,
    visibility: ["//visibility:public"],
    apex_available: ["com.android.scheduling"],
    licenses: ["scheduling-sdk_Android-Apache-2.0"],
    shared_library: false,
    permitted_packages: ["android.scheduling"],
    public: {
        jars: ["sdk_library/public/framework-scheduling-stubs.jar"],
        stub_srcs: ["sdk_library/public/framework-scheduling.srcjar"],
        current_api: "sdk_library/public/framework-scheduling.txt",
        removed_api: "sdk_library/public/framework-scheduling-removed.txt",
        sdk_version: "module_current",
    },
    system: {
        jars: ["sdk_library/system/framework-scheduling-stubs.jar"],
        stub_srcs: ["sdk_library/system/framework-scheduling.srcjar"],
        current_api: "sdk_library/system/framework-scheduling.txt",
        removed_api: "sdk_library/system/framework-scheduling-removed.txt",
        sdk_version: "module_current",
    },
    module_lib: {
        jars: ["sdk_library/module-lib/framework-scheduling-stubs.jar"],
        stub_srcs: ["sdk_library/module-lib/framework-scheduling.srcjar"],
        current_api: "sdk_library/module-lib/framework-scheduling.txt",
        removed_api: "sdk_library/module-lib/framework-scheduling-removed.txt",
        sdk_version: "module_current",
    },
}

license {
    name: "scheduling-sdk_Android-Apache-2.0@current",
    sdk_member_name: "Android-Apache-2.0",
    visibility: ["//visibility:private"],
    license_kinds: ["SPDX-license-identifier-Apache-2.0"],
    license_text: ["licenses/build/soong/licenses/LICENSE"],
}

license {
    name: "scheduling-sdk_Android-Apache-2.0",
    visibility: ["//visibility:private"],
    license_kinds: ["SPDX-license-identifier-Apache-2.0"],
    license_text: ["licenses/build/soong/licenses/LICENSE"],
}

sdk_snapshot {
    name: "scheduling-sdk@current",
    visibility: ["//visibility:public"],
    bootclasspath_fragments: ["scheduling-sdk_com.android.scheduling-bootclasspath-fragment@current"],
    java_sdk_libs: ["scheduling-sdk_framework-scheduling@current"],
}
