Files
frameworks_base/services/Android.bp
Anton Hansson 4304e60655 Remove service stub dep on default libs
Not specifying any sdk_version defaults the library to building
against the platform internals. We do not want to build the stubs
against the platform internals, as that risks leaking internals
in the stubs.

Follow what the other stubs are doing, which is to build against
no default libs, and compiling with java version 1.8.

Bug: 158850553
Test: m
Change-Id: I310842747422b108ac2a1fcf11afac5c323ed5b1
2020-07-21 14:37:25 +01:00

150 lines
4.2 KiB
Plaintext

filegroup {
name: "services-main-sources",
srcs: ["java/**/*.java"],
path: "java",
visibility: ["//visibility:private"],
}
filegroup {
name: "services-sources",
srcs: [
":services.core-sources",
":services.accessibility-sources",
":services.appprediction-sources",
":services.appwidget-sources",
":services.autofill-sources",
":services.backup-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",
],
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.print",
"services.restrictions",
"services.startop",
"services.systemcaptions",
"services.usage",
"services.usb",
"services.voiceinteraction",
"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
// =============================================================
droidstubs {
name: "services-stubs.sources",
srcs: [":services-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 DeprecationMismatch" +
" --hide HiddenTypedefConstant",
visibility: ["//visibility:private"],
filter_packages: ["com.android."],
check_api: {
current: {
api_file: "api/current.txt",
removed_api_file: "api/removed.txt",
},
last_released: {
api_file: ":android.api.system-server.latest",
removed_api_file: "api/removed.txt",
baseline_file: ":system-server-api-incompatibilities-with-last-released"
},
api_lint: {
enabled: true,
new_since: ":android.api.system-server.latest",
baseline_file: "api/lint-baseline.txt",
},
},
dist: {
targets: ["sdk", "win_sdk"],
dir: "apistubs/android/system-server/api",
dest: "android.txt",
},
}
java_library {
name: "android_system_server_stubs_current",
srcs: [":services-stubs.sources"],
installable: false,
static_libs: ["android_module_lib_stubs_current"],
sdk_version: "none",
system_modules: "none",
java_version: "1.8",
}