filegroup {
    name: "services-main-sources",
    srcs: ["java/**/*.java"],
    path: "java",
    visibility: ["//visibility:private"],
}

filegroup {
    name: "services-all-sources",
    srcs: [
        ":services.core-sources",
        ":services.accessibility-sources",
        ":services.appprediction-sources",
        ":services.appwidget-sources",
        ":services.autofill-sources",
        ":services.backup-sources",
        ":backuplib-sources",
        ":services.companion-sources",
        ":services.contentcapture-sources",
        ":services.contentsuggestions-sources",
        ":services.coverage-sources",
        ":services.devicepolicy-sources",
        ":services.midi-sources",
        ":services.net-sources",
        ":services.print-sources",
        ":services.restrictions-sources",
        ":services.startop.iorap-sources",
        ":services.systemcaptions-sources",
        ":services.usage-sources",
        ":services.usb-sources",
        ":services.voiceinteraction-sources",
        ":services.wifi-sources",
        ":service-permission-sources",
        ":service-statsd-sources",
    ],
    visibility: ["//visibility:private"],
}

// merge all required services into one jar
// ============================================================
java_library {
    name: "services",
    installable: true,

    dex_preopt: {
        app_image: true,
        profile: "art-profile",
    },

    srcs: [":services-main-sources"],

    // The convention is to name each service module 'services.$(module_name)'
    static_libs: [
        "services.core",
        "services.accessibility",
        "services.appprediction",
        "services.appwidget",
        "services.autofill",
        "services.backup",
        "services.companion",
        "services.contentcapture",
        "services.contentsuggestions",
        "services.coverage",
        "services.devicepolicy",
        "services.midi",
        "services.net",
        "services.people",
        "services.print",
        "services.restrictions",
        "services.startop",
        "services.systemcaptions",
        "services.usage",
        "services.usb",
        "services.voiceinteraction",
        "services.wifi",
        "android.hidl.base-V1.0-java",
    ],

    libs: [
        "android.hidl.manager-V1.0-java",
        "framework-tethering-stubs",
    ],

    plugins: [
        "compat-changeid-annotation-processor",
    ],

    // Uncomment to enable output of certain warnings (deprecated, unchecked)
    //javacflags: ["-Xlint"],

}

// native library
// =============================================================

cc_library_shared {
    name: "libandroid_servers",
    defaults: ["libservices.core-libs"],
    whole_static_libs: ["libservices.core"],
}

platform_compat_config {
    name: "services-platform-compat-config",
    src: ":services",
}

filegroup {
    name: "art-profile",
    srcs: ["art-profile"],
}

// API stub
// =============================================================

droidstubs {
    name: "services-stubs.sources",
    srcs: [":services-all-sources"],
    installable: false,
    args: " --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.SYSTEM_SERVER\\)" +
        " --hide-annotation android.annotation.Hide" +
        " --hide InternalClasses" + // com.android.* classes are okay in this interface
        // TODO: remove the --hide options below
        " --hide-package com.google.android.startop.iorap" +
        " --hide ReferencesHidden" +
        " --hide DeprecationMismatch" +
        " --hide HiddenTypedefConstant",
    visibility: ["//visibility:private"],
    check_api: {
        current: {
            api_file: "api/current.txt",
            removed_api_file: "api/removed.txt",
        },
        last_released: {
            api_file: ":last-released-system-server-api",
            removed_api_file: "api/removed.txt",
            baseline_file: ":system-server-api-incompatibilities-with-last-released"
        },
        api_lint: {
            enabled: true,
            new_since: ":last-released-system-server-api",
            baseline_file: "api/lint-baseline.txt",
        },
    },
}

java_library {
    name: "services-stubs",
    srcs: [":services-stubs.sources"],
    installable: false,
}
