package { // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import // all of the 'license_kinds' from "frameworks_base_license" // to get the below license kinds: // SPDX-license-identifier-Apache-2.0 default_applicable_licenses: ["frameworks_base_license"], } // Defaults for platform code that runs inside system_server java_defaults { name: "platform_service_defaults", plugins: ["error_prone_android_framework"], errorprone: { javacflags: [ // "-Xep:AndroidFrameworkBinderIdentity:ERROR", "-Xep:AndroidFrameworkCompatChange:ERROR", // "-Xep:AndroidFrameworkUid:ERROR", // NOTE: only enable to generate local patchfiles // "-XepPatchChecks:refaster:frameworks/base/errorprone/refaster/EfficientXml.java.refaster", // "-XepPatchLocation:/tmp/refaster/", ], }, } filegroup { name: "services-main-sources", srcs: [ "java/**/*.java", "java/**/package.html", ], path: "java", visibility: ["//visibility:private"], } filegroup { name: "services-non-updatable-sources", srcs: [ ":services.core-sources", ":services.core-sources-am-wm", "core/java/com/android/server/am/package.html", ":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.musicsearch-sources", ":services.net-sources", ":services.print-sources", ":services.profcollect-sources", ":services.restrictions-sources", ":services.searchui-sources", ":services.smartspace-sources", ":services.speech-sources", ":services.startop.iorap-sources", ":services.systemcaptions-sources", ":services.translation-sources", ":services.texttospeech-sources", ":services.usage-sources", ":services.usb-sources", ":services.uwb-sources", ":services.voiceinteraction-sources", ":services.wifi-sources", ], visibility: ["//visibility:private"], } java_library { name: "Slogf", srcs: ["core/java/com/android/server/utils/Slogf.java"], } // 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.musicsearch", "services.net", "services.people", "services.print", "services.profcollect", "services.restrictions", "services.searchui", "services.smartspace", "services.speech", "services.startop", "services.systemcaptions", "services.translation", "services.texttospeech", "services.usage", "services.usb", "services.uwb", "services.voiceinteraction", "services.wifi", "service-blobstore", "service-jobscheduler", "android.hidl.base-V1.0-java", ], libs: [ "android.hidl.manager-V1.0-java", "framework-tethering.stubs.module_lib", ], // 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 // ============================================================= stubs_defaults { name: "services-stubs-default", 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 DeprecationMismatch" + " --hide HiddenTypedefConstant", visibility: ["//frameworks/base:__subpackages__"], filter_packages: ["com.android."], } droidstubs { name: "services-non-updatable-stubs", srcs: [":services-non-updatable-sources"], defaults: ["services-stubs-default"], check_api: { current: { api_file: "api/current.txt", removed_api_file: "api/removed.txt", }, api_lint: { enabled: true, new_since: ":android-non-updatable.api.system-server.latest", baseline_file: "api/lint-baseline.txt", }, }, dists: [ { targets: [ "sdk", "win_sdk", ], dir: "apistubs/android/system-server/api", dest: "android-non-updatable.txt", tag: ".api.txt", }, { targets: [ "sdk", "win_sdk", ], dir: "apistubs/android/system-server/api", dest: "android-non-updatable-removed.txt", tag: ".removed-api.txt", }, ], }