xref: /aosp_15_r20/frameworks/base/services/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Workerpackage {
2*d57664e9SAndroid Build Coastguard Worker    // See: http://go/android-license-faq
3*d57664e9SAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
4*d57664e9SAndroid Build Coastguard Worker    // all of the 'license_kinds' from "frameworks_base_license"
5*d57664e9SAndroid Build Coastguard Worker    // to get the below license kinds:
6*d57664e9SAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
7*d57664e9SAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_base_license"],
8*d57664e9SAndroid Build Coastguard Worker}
9*d57664e9SAndroid Build Coastguard Worker
10*d57664e9SAndroid Build Coastguard Worker// Defaults for platform code that runs inside system_server
11*d57664e9SAndroid Build Coastguard Workerjava_defaults {
12*d57664e9SAndroid Build Coastguard Worker    name: "platform_service_defaults",
13*d57664e9SAndroid Build Coastguard Worker    plugins: ["error_prone_android_framework"],
14*d57664e9SAndroid Build Coastguard Worker    errorprone: {
15*d57664e9SAndroid Build Coastguard Worker        javacflags: [
16*d57664e9SAndroid Build Coastguard Worker            "-Xep:AndroidFrameworkCompatChange:ERROR",
17*d57664e9SAndroid Build Coastguard Worker            // "-Xep:AndroidFrameworkUid:ERROR",
18*d57664e9SAndroid Build Coastguard Worker            "-Xep:SelfEquals:ERROR",
19*d57664e9SAndroid Build Coastguard Worker            "-Xep:NullTernary:ERROR",
20*d57664e9SAndroid Build Coastguard Worker            "-Xep:TryFailThrowable:ERROR",
21*d57664e9SAndroid Build Coastguard Worker            "-Xep:HashtableContains:ERROR",
22*d57664e9SAndroid Build Coastguard Worker            "-Xep:FormatString:ERROR",
23*d57664e9SAndroid Build Coastguard Worker            "-Xep:ArrayHashCode:ERROR",
24*d57664e9SAndroid Build Coastguard Worker            "-Xep:SelfAssignment:ERROR",
25*d57664e9SAndroid Build Coastguard Worker            "-Xep:ArrayEquals:ERROR",
26*d57664e9SAndroid Build Coastguard Worker            "-Xep:IdentityBinaryExpression:ERROR",
27*d57664e9SAndroid Build Coastguard Worker            // NOTE: only enable to generate local patchfiles
28*d57664e9SAndroid Build Coastguard Worker            // "-XepPatchChecks:refaster:frameworks/base/errorprone/refaster/EfficientXml.java.refaster",
29*d57664e9SAndroid Build Coastguard Worker            // "-XepPatchLocation:/tmp/refaster/",
30*d57664e9SAndroid Build Coastguard Worker        ],
31*d57664e9SAndroid Build Coastguard Worker    },
32*d57664e9SAndroid Build Coastguard Worker    lint: {
33*d57664e9SAndroid Build Coastguard Worker        extra_check_modules: ["AndroidFrameworkLintChecker"],
34*d57664e9SAndroid Build Coastguard Worker    },
35*d57664e9SAndroid Build Coastguard Worker}
36*d57664e9SAndroid Build Coastguard Worker
37*d57664e9SAndroid Build Coastguard Worker// Config to control optimizing and shrinking the services target using R8.
38*d57664e9SAndroid Build Coastguard Worker// Set via `export SYSTEM_OPTIMIZE_JAVA=true|false`, or explicitly in Make via the
39*d57664e9SAndroid Build Coastguard Worker// `SOONG_CONFIG_ANDROID_SYSTEM_OPTIMIZE_JAVA` variable.
40*d57664e9SAndroid Build Coastguard Workersoong_config_module_type {
41*d57664e9SAndroid Build Coastguard Worker    name: "system_optimized_java_defaults",
42*d57664e9SAndroid Build Coastguard Worker    module_type: "java_defaults",
43*d57664e9SAndroid Build Coastguard Worker    config_namespace: "ANDROID",
44*d57664e9SAndroid Build Coastguard Worker    bool_variables: [
45*d57664e9SAndroid Build Coastguard Worker        "SYSTEM_OPTIMIZE_JAVA",
46*d57664e9SAndroid Build Coastguard Worker        "FULL_SYSTEM_OPTIMIZE_JAVA",
47*d57664e9SAndroid Build Coastguard Worker    ],
48*d57664e9SAndroid Build Coastguard Worker    properties: [
49*d57664e9SAndroid Build Coastguard Worker        "optimize",
50*d57664e9SAndroid Build Coastguard Worker        "dxflags",
51*d57664e9SAndroid Build Coastguard Worker    ],
52*d57664e9SAndroid Build Coastguard Worker}
53*d57664e9SAndroid Build Coastguard Worker
54*d57664e9SAndroid Build Coastguard Workersystem_optimized_java_defaults {
55*d57664e9SAndroid Build Coastguard Worker    name: "services_java_defaults",
56*d57664e9SAndroid Build Coastguard Worker    soong_config_variables: {
57*d57664e9SAndroid Build Coastguard Worker        SYSTEM_OPTIMIZE_JAVA: {
58*d57664e9SAndroid Build Coastguard Worker            optimize: {
59*d57664e9SAndroid Build Coastguard Worker                enabled: true,
60*d57664e9SAndroid Build Coastguard Worker                // TODO(b/210510433): Enable optimizations after improving
61*d57664e9SAndroid Build Coastguard Worker                // retracing infra.
62*d57664e9SAndroid Build Coastguard Worker                // See also FULL_SYSTEM_OPTIMIZE_JAVA.
63*d57664e9SAndroid Build Coastguard Worker                optimize: false,
64*d57664e9SAndroid Build Coastguard Worker                shrink: true,
65*d57664e9SAndroid Build Coastguard Worker                ignore_warnings: false,
66*d57664e9SAndroid Build Coastguard Worker                proguard_compatibility: false,
67*d57664e9SAndroid Build Coastguard Worker                proguard_flags_files: [
68*d57664e9SAndroid Build Coastguard Worker                    "proguard.flags",
69*d57664e9SAndroid Build Coastguard Worker                    // Ensure classes referenced in the framework-res manifest
70*d57664e9SAndroid Build Coastguard Worker                    // and implemented in system_server are kept.
71*d57664e9SAndroid Build Coastguard Worker                    ":framework-res{.aapt.proguardOptionsFile}",
72*d57664e9SAndroid Build Coastguard Worker                ],
73*d57664e9SAndroid Build Coastguard Worker            },
74*d57664e9SAndroid Build Coastguard Worker            conditions_default: {
75*d57664e9SAndroid Build Coastguard Worker                optimize: {
76*d57664e9SAndroid Build Coastguard Worker                    enabled: true,
77*d57664e9SAndroid Build Coastguard Worker                    optimize: false,
78*d57664e9SAndroid Build Coastguard Worker                    shrink: true,
79*d57664e9SAndroid Build Coastguard Worker                    ignore_warnings: false,
80*d57664e9SAndroid Build Coastguard Worker                    // Note that this proguard config is very conservative, only shrinking the
81*d57664e9SAndroid Build Coastguard Worker                    // permission subpackage to prune unused jarjar'ed Kotlin dependencies.
82*d57664e9SAndroid Build Coastguard Worker                    proguard_flags_files: ["proguard_permission.flags"],
83*d57664e9SAndroid Build Coastguard Worker                },
84*d57664e9SAndroid Build Coastguard Worker                // Explicitly configure R8 to preserve debug info, as this path should
85*d57664e9SAndroid Build Coastguard Worker                // really only allow stripping of permission-specific code and deps.
86*d57664e9SAndroid Build Coastguard Worker                dxflags: ["--debug"],
87*d57664e9SAndroid Build Coastguard Worker            },
88*d57664e9SAndroid Build Coastguard Worker        },
89*d57664e9SAndroid Build Coastguard Worker        // Allow form factors to opt-in full system java optimization
90*d57664e9SAndroid Build Coastguard Worker        FULL_SYSTEM_OPTIMIZE_JAVA: {
91*d57664e9SAndroid Build Coastguard Worker            optimize: {
92*d57664e9SAndroid Build Coastguard Worker                optimize: true,
93*d57664e9SAndroid Build Coastguard Worker            },
94*d57664e9SAndroid Build Coastguard Worker        },
95*d57664e9SAndroid Build Coastguard Worker    },
96*d57664e9SAndroid Build Coastguard Worker}
97*d57664e9SAndroid Build Coastguard Worker
98*d57664e9SAndroid Build Coastguard Workerfilegroup {
99*d57664e9SAndroid Build Coastguard Worker    name: "services-main-sources",
100*d57664e9SAndroid Build Coastguard Worker    srcs: [
101*d57664e9SAndroid Build Coastguard Worker        "java/**/*.java",
102*d57664e9SAndroid Build Coastguard Worker        "java/**/package.html",
103*d57664e9SAndroid Build Coastguard Worker    ],
104*d57664e9SAndroid Build Coastguard Worker    path: "java",
105*d57664e9SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
106*d57664e9SAndroid Build Coastguard Worker}
107*d57664e9SAndroid Build Coastguard Worker
108*d57664e9SAndroid Build Coastguard Workerfilegroup {
109*d57664e9SAndroid Build Coastguard Worker    name: "services-non-updatable-sources",
110*d57664e9SAndroid Build Coastguard Worker    srcs: [
111*d57664e9SAndroid Build Coastguard Worker        ":incremental_aidl",
112*d57664e9SAndroid Build Coastguard Worker        ":services.core-aidl-sources",
113*d57664e9SAndroid Build Coastguard Worker        ":services.core-sources",
114*d57664e9SAndroid Build Coastguard Worker        ":services.core-sources-am-wm",
115*d57664e9SAndroid Build Coastguard Worker        "core/java/com/android/server/am/package.html",
116*d57664e9SAndroid Build Coastguard Worker        ":services.accessibility-sources",
117*d57664e9SAndroid Build Coastguard Worker        ":services.appprediction-sources",
118*d57664e9SAndroid Build Coastguard Worker        ":services.appwidget-sources",
119*d57664e9SAndroid Build Coastguard Worker        ":services.autofill-sources",
120*d57664e9SAndroid Build Coastguard Worker        ":services.backup-sources",
121*d57664e9SAndroid Build Coastguard Worker        ":services.companion-sources",
122*d57664e9SAndroid Build Coastguard Worker        ":services.contentcapture-sources",
123*d57664e9SAndroid Build Coastguard Worker        ":services.appfunctions-sources",
124*d57664e9SAndroid Build Coastguard Worker        ":services.contentsuggestions-sources",
125*d57664e9SAndroid Build Coastguard Worker        ":services.contextualsearch-sources",
126*d57664e9SAndroid Build Coastguard Worker        ":services.coverage-sources",
127*d57664e9SAndroid Build Coastguard Worker        ":services.credentials-sources",
128*d57664e9SAndroid Build Coastguard Worker        ":services.devicepolicy-sources",
129*d57664e9SAndroid Build Coastguard Worker        ":services.midi-sources",
130*d57664e9SAndroid Build Coastguard Worker        ":services.musicsearch-sources",
131*d57664e9SAndroid Build Coastguard Worker        ":services.net-sources",
132*d57664e9SAndroid Build Coastguard Worker        ":services.permission-sources",
133*d57664e9SAndroid Build Coastguard Worker        ":services.print-sources",
134*d57664e9SAndroid Build Coastguard Worker        ":services.profcollect-sources",
135*d57664e9SAndroid Build Coastguard Worker        ":services.restrictions-sources",
136*d57664e9SAndroid Build Coastguard Worker        ":services.searchui-sources",
137*d57664e9SAndroid Build Coastguard Worker        ":services.smartspace-sources",
138*d57664e9SAndroid Build Coastguard Worker        ":services.soundtrigger-sources",
139*d57664e9SAndroid Build Coastguard Worker        ":services.supervision-sources",
140*d57664e9SAndroid Build Coastguard Worker        ":services.systemcaptions-sources",
141*d57664e9SAndroid Build Coastguard Worker        ":services.translation-sources",
142*d57664e9SAndroid Build Coastguard Worker        ":services.texttospeech-sources",
143*d57664e9SAndroid Build Coastguard Worker        ":services.usage-sources",
144*d57664e9SAndroid Build Coastguard Worker        ":services.usb-sources",
145*d57664e9SAndroid Build Coastguard Worker        ":services.voiceinteraction-sources",
146*d57664e9SAndroid Build Coastguard Worker        ":services.wallpapereffectsgeneration-sources",
147*d57664e9SAndroid Build Coastguard Worker        ":services.wifi-sources",
148*d57664e9SAndroid Build Coastguard Worker        ":framework-pm-common-shared-srcs",
149*d57664e9SAndroid Build Coastguard Worker    ],
150*d57664e9SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
151*d57664e9SAndroid Build Coastguard Worker}
152*d57664e9SAndroid Build Coastguard Worker
153*d57664e9SAndroid Build Coastguard Workerjava_library {
154*d57664e9SAndroid Build Coastguard Worker    name: "Slogf",
155*d57664e9SAndroid Build Coastguard Worker    srcs: ["core/java/com/android/server/utils/Slogf.java"],
156*d57664e9SAndroid Build Coastguard Worker}
157*d57664e9SAndroid Build Coastguard Worker
158*d57664e9SAndroid Build Coastguard Workersoong_config_module_type {
159*d57664e9SAndroid Build Coastguard Worker    name: "art_profile_java_defaults",
160*d57664e9SAndroid Build Coastguard Worker    module_type: "java_defaults",
161*d57664e9SAndroid Build Coastguard Worker    config_namespace: "art_profile",
162*d57664e9SAndroid Build Coastguard Worker    variables: ["services_profile_path"],
163*d57664e9SAndroid Build Coastguard Worker    properties: ["dex_preopt"],
164*d57664e9SAndroid Build Coastguard Worker}
165*d57664e9SAndroid Build Coastguard Worker
166*d57664e9SAndroid Build Coastguard Workersoong_config_string_variable {
167*d57664e9SAndroid Build Coastguard Worker    name: "services_profile_path",
168*d57664e9SAndroid Build Coastguard Worker    values: ["art_wear_profile"],
169*d57664e9SAndroid Build Coastguard Worker}
170*d57664e9SAndroid Build Coastguard Worker
171*d57664e9SAndroid Build Coastguard Workerart_profile_java_defaults {
172*d57664e9SAndroid Build Coastguard Worker    name: "art_profile_java_defaults",
173*d57664e9SAndroid Build Coastguard Worker    soong_config_variables: {
174*d57664e9SAndroid Build Coastguard Worker        services_profile_path: {
175*d57664e9SAndroid Build Coastguard Worker            art_wear_profile: {
176*d57664e9SAndroid Build Coastguard Worker                dex_preopt: {
177*d57664e9SAndroid Build Coastguard Worker                    app_image: true,
178*d57664e9SAndroid Build Coastguard Worker                    profile: "art-wear-profile",
179*d57664e9SAndroid Build Coastguard Worker                },
180*d57664e9SAndroid Build Coastguard Worker            },
181*d57664e9SAndroid Build Coastguard Worker            conditions_default: {
182*d57664e9SAndroid Build Coastguard Worker                dex_preopt: {
183*d57664e9SAndroid Build Coastguard Worker                    app_image: true,
184*d57664e9SAndroid Build Coastguard Worker                    profile: "art-profile",
185*d57664e9SAndroid Build Coastguard Worker                },
186*d57664e9SAndroid Build Coastguard Worker            },
187*d57664e9SAndroid Build Coastguard Worker        },
188*d57664e9SAndroid Build Coastguard Worker    },
189*d57664e9SAndroid Build Coastguard Worker}
190*d57664e9SAndroid Build Coastguard Worker
191*d57664e9SAndroid Build Coastguard Worker// Conditionally add crashrecovery stubs library
192*d57664e9SAndroid Build Coastguard Workersoong_config_module_type {
193*d57664e9SAndroid Build Coastguard Worker    name: "crashrecovery_java_defaults",
194*d57664e9SAndroid Build Coastguard Worker    module_type: "java_defaults",
195*d57664e9SAndroid Build Coastguard Worker    config_namespace: "ANDROID",
196*d57664e9SAndroid Build Coastguard Worker    bool_variables: [
197*d57664e9SAndroid Build Coastguard Worker        "release_crashrecovery_module",
198*d57664e9SAndroid Build Coastguard Worker    ],
199*d57664e9SAndroid Build Coastguard Worker    properties: [
200*d57664e9SAndroid Build Coastguard Worker        "libs",
201*d57664e9SAndroid Build Coastguard Worker    ],
202*d57664e9SAndroid Build Coastguard Worker}
203*d57664e9SAndroid Build Coastguard Worker
204*d57664e9SAndroid Build Coastguard Workercrashrecovery_java_defaults {
205*d57664e9SAndroid Build Coastguard Worker    name: "services_crashrecovery_stubs_conditionally",
206*d57664e9SAndroid Build Coastguard Worker    soong_config_variables: {
207*d57664e9SAndroid Build Coastguard Worker        release_crashrecovery_module: {
208*d57664e9SAndroid Build Coastguard Worker            libs: ["service-crashrecovery.stubs.system_server"],
209*d57664e9SAndroid Build Coastguard Worker        },
210*d57664e9SAndroid Build Coastguard Worker    },
211*d57664e9SAndroid Build Coastguard Worker}
212*d57664e9SAndroid Build Coastguard Worker
213*d57664e9SAndroid Build Coastguard Workersoong_config_module_type {
214*d57664e9SAndroid Build Coastguard Worker    name: "ondeviceintelligence_module_java_defaults",
215*d57664e9SAndroid Build Coastguard Worker    module_type: "java_defaults",
216*d57664e9SAndroid Build Coastguard Worker    config_namespace: "ANDROID",
217*d57664e9SAndroid Build Coastguard Worker    bool_variables: [
218*d57664e9SAndroid Build Coastguard Worker        "release_ondevice_intelligence_module",
219*d57664e9SAndroid Build Coastguard Worker        "release_ondevice_intelligence_platform",
220*d57664e9SAndroid Build Coastguard Worker    ],
221*d57664e9SAndroid Build Coastguard Worker    properties: [
222*d57664e9SAndroid Build Coastguard Worker        "libs",
223*d57664e9SAndroid Build Coastguard Worker        "srcs",
224*d57664e9SAndroid Build Coastguard Worker        "static_libs",
225*d57664e9SAndroid Build Coastguard Worker    ],
226*d57664e9SAndroid Build Coastguard Worker}
227*d57664e9SAndroid Build Coastguard Worker
228*d57664e9SAndroid Build Coastguard Worker// Conditionally add ondeviceintelligence stubs library
229*d57664e9SAndroid Build Coastguard Workerondeviceintelligence_module_java_defaults {
230*d57664e9SAndroid Build Coastguard Worker    name: "ondeviceintelligence_conditionally",
231*d57664e9SAndroid Build Coastguard Worker    soong_config_variables: {
232*d57664e9SAndroid Build Coastguard Worker        release_ondevice_intelligence_module: {
233*d57664e9SAndroid Build Coastguard Worker            libs: ["service-ondeviceintelligence.stubs.system_server"],
234*d57664e9SAndroid Build Coastguard Worker        },
235*d57664e9SAndroid Build Coastguard Worker        release_ondevice_intelligence_platform: {
236*d57664e9SAndroid Build Coastguard Worker            srcs: [":service-ondeviceintelligence-sources-platform"],
237*d57664e9SAndroid Build Coastguard Worker        },
238*d57664e9SAndroid Build Coastguard Worker    },
239*d57664e9SAndroid Build Coastguard Worker}
240*d57664e9SAndroid Build Coastguard Worker
241*d57664e9SAndroid Build Coastguard Worker// merge all required services into one jar
242*d57664e9SAndroid Build Coastguard Worker// ============================================================
243*d57664e9SAndroid Build Coastguard Workersoong_config_module_type {
244*d57664e9SAndroid Build Coastguard Worker    name: "system_java_library",
245*d57664e9SAndroid Build Coastguard Worker    module_type: "java_library",
246*d57664e9SAndroid Build Coastguard Worker    config_namespace: "system_services",
247*d57664e9SAndroid Build Coastguard Worker    bool_variables: ["without_vibrator"],
248*d57664e9SAndroid Build Coastguard Worker    properties: ["vintf_fragment_modules"],
249*d57664e9SAndroid Build Coastguard Worker}
250*d57664e9SAndroid Build Coastguard Worker
251*d57664e9SAndroid Build Coastguard Workervintf_fragment {
252*d57664e9SAndroid Build Coastguard Worker    name: "manifest_services.xml",
253*d57664e9SAndroid Build Coastguard Worker    src: "manifest_services.xml",
254*d57664e9SAndroid Build Coastguard Worker}
255*d57664e9SAndroid Build Coastguard Worker
256*d57664e9SAndroid Build Coastguard Workervintf_fragment {
257*d57664e9SAndroid Build Coastguard Worker    name: "manifest_services_android.frameworks.vibrator.xml",
258*d57664e9SAndroid Build Coastguard Worker    src: "manifest_services_android.frameworks.vibrator.xml",
259*d57664e9SAndroid Build Coastguard Worker}
260*d57664e9SAndroid Build Coastguard Worker
261*d57664e9SAndroid Build Coastguard Workersystem_java_library {
262*d57664e9SAndroid Build Coastguard Worker    name: "services",
263*d57664e9SAndroid Build Coastguard Worker    defaults: [
264*d57664e9SAndroid Build Coastguard Worker        "services_java_defaults",
265*d57664e9SAndroid Build Coastguard Worker        "art_profile_java_defaults",
266*d57664e9SAndroid Build Coastguard Worker        "services_crashrecovery_stubs_conditionally",
267*d57664e9SAndroid Build Coastguard Worker        "ondeviceintelligence_conditionally",
268*d57664e9SAndroid Build Coastguard Worker    ],
269*d57664e9SAndroid Build Coastguard Worker    installable: true,
270*d57664e9SAndroid Build Coastguard Worker
271*d57664e9SAndroid Build Coastguard Worker    exclude_kotlinc_generated_files: true,
272*d57664e9SAndroid Build Coastguard Worker
273*d57664e9SAndroid Build Coastguard Worker    srcs: [":services-main-sources"],
274*d57664e9SAndroid Build Coastguard Worker
275*d57664e9SAndroid Build Coastguard Worker    // The convention is to name each service module 'services.$(module_name)'
276*d57664e9SAndroid Build Coastguard Worker    static_libs: [
277*d57664e9SAndroid Build Coastguard Worker        "services.core",
278*d57664e9SAndroid Build Coastguard Worker        "services.accessibility",
279*d57664e9SAndroid Build Coastguard Worker        "services.appprediction",
280*d57664e9SAndroid Build Coastguard Worker        "services.appwidget",
281*d57664e9SAndroid Build Coastguard Worker        "services.autofill",
282*d57664e9SAndroid Build Coastguard Worker        "services.backup",
283*d57664e9SAndroid Build Coastguard Worker        "services.companion",
284*d57664e9SAndroid Build Coastguard Worker        "services.appfunctions",
285*d57664e9SAndroid Build Coastguard Worker        "services.contentcapture",
286*d57664e9SAndroid Build Coastguard Worker        "services.contentsuggestions",
287*d57664e9SAndroid Build Coastguard Worker        "services.contextualsearch",
288*d57664e9SAndroid Build Coastguard Worker        "services.coverage",
289*d57664e9SAndroid Build Coastguard Worker        "services.credentials",
290*d57664e9SAndroid Build Coastguard Worker        "services.devicepolicy",
291*d57664e9SAndroid Build Coastguard Worker        "services.flags",
292*d57664e9SAndroid Build Coastguard Worker        "services.midi",
293*d57664e9SAndroid Build Coastguard Worker        "services.musicsearch",
294*d57664e9SAndroid Build Coastguard Worker        "services.net",
295*d57664e9SAndroid Build Coastguard Worker        "services.people",
296*d57664e9SAndroid Build Coastguard Worker        "services.permission",
297*d57664e9SAndroid Build Coastguard Worker        "services.print",
298*d57664e9SAndroid Build Coastguard Worker        "services.profcollect",
299*d57664e9SAndroid Build Coastguard Worker        "services.restrictions",
300*d57664e9SAndroid Build Coastguard Worker        "services.searchui",
301*d57664e9SAndroid Build Coastguard Worker        "services.smartspace",
302*d57664e9SAndroid Build Coastguard Worker        "services.soundtrigger",
303*d57664e9SAndroid Build Coastguard Worker        "services.supervision",
304*d57664e9SAndroid Build Coastguard Worker        "services.systemcaptions",
305*d57664e9SAndroid Build Coastguard Worker        "services.translation",
306*d57664e9SAndroid Build Coastguard Worker        "services.texttospeech",
307*d57664e9SAndroid Build Coastguard Worker        "services.usage",
308*d57664e9SAndroid Build Coastguard Worker        "services.usb",
309*d57664e9SAndroid Build Coastguard Worker        "services.voiceinteraction",
310*d57664e9SAndroid Build Coastguard Worker        "services.wallpapereffectsgeneration",
311*d57664e9SAndroid Build Coastguard Worker        "services.wifi",
312*d57664e9SAndroid Build Coastguard Worker        "service-blobstore",
313*d57664e9SAndroid Build Coastguard Worker        "service-jobscheduler",
314*d57664e9SAndroid Build Coastguard Worker        "service-connectivity-b-pre-jarjar", // Move it to mainline module
315*d57664e9SAndroid Build Coastguard Worker        "android.hidl.base-V1.0-java",
316*d57664e9SAndroid Build Coastguard Worker    ],
317*d57664e9SAndroid Build Coastguard Worker
318*d57664e9SAndroid Build Coastguard Worker    libs: [
319*d57664e9SAndroid Build Coastguard Worker        "android.hidl.manager-V1.0-java",
320*d57664e9SAndroid Build Coastguard Worker        "framework-tethering.stubs.module_lib",
321*d57664e9SAndroid Build Coastguard Worker        "keepanno-annotations",
322*d57664e9SAndroid Build Coastguard Worker        "service-art.stubs.system_server",
323*d57664e9SAndroid Build Coastguard Worker        "service-permission.stubs.system_server",
324*d57664e9SAndroid Build Coastguard Worker        "service-rkp.stubs.system_server",
325*d57664e9SAndroid Build Coastguard Worker        "service-sdksandbox.stubs.system_server",
326*d57664e9SAndroid Build Coastguard Worker    ],
327*d57664e9SAndroid Build Coastguard Worker
328*d57664e9SAndroid Build Coastguard Worker    soong_config_variables: {
329*d57664e9SAndroid Build Coastguard Worker        without_vibrator: {
330*d57664e9SAndroid Build Coastguard Worker            vintf_fragment_modules: [
331*d57664e9SAndroid Build Coastguard Worker                "manifest_services.xml",
332*d57664e9SAndroid Build Coastguard Worker            ],
333*d57664e9SAndroid Build Coastguard Worker            conditions_default: {
334*d57664e9SAndroid Build Coastguard Worker                vintf_fragment_modules: [
335*d57664e9SAndroid Build Coastguard Worker                    "manifest_services.xml",
336*d57664e9SAndroid Build Coastguard Worker                    "manifest_services_android.frameworks.vibrator.xml",
337*d57664e9SAndroid Build Coastguard Worker                ],
338*d57664e9SAndroid Build Coastguard Worker            },
339*d57664e9SAndroid Build Coastguard Worker        },
340*d57664e9SAndroid Build Coastguard Worker    },
341*d57664e9SAndroid Build Coastguard Worker
342*d57664e9SAndroid Build Coastguard Worker    required: [
343*d57664e9SAndroid Build Coastguard Worker        "libukey2_jni_shared",
344*d57664e9SAndroid Build Coastguard Worker        "protolog.conf.json.gz",
345*d57664e9SAndroid Build Coastguard Worker        "core.protolog.pb",
346*d57664e9SAndroid Build Coastguard Worker    ],
347*d57664e9SAndroid Build Coastguard Worker    lint: {
348*d57664e9SAndroid Build Coastguard Worker        baseline_filename: "lint-baseline.xml",
349*d57664e9SAndroid Build Coastguard Worker    },
350*d57664e9SAndroid Build Coastguard Worker
351*d57664e9SAndroid Build Coastguard Worker    // Uncomment to enable output of certain warnings (deprecated, unchecked)
352*d57664e9SAndroid Build Coastguard Worker    //javacflags: ["-Xlint"],
353*d57664e9SAndroid Build Coastguard Worker}
354*d57664e9SAndroid Build Coastguard Worker
355*d57664e9SAndroid Build Coastguard Worker// native library
356*d57664e9SAndroid Build Coastguard Worker// =============================================================
357*d57664e9SAndroid Build Coastguard Worker
358*d57664e9SAndroid Build Coastguard Workercc_library_shared {
359*d57664e9SAndroid Build Coastguard Worker    name: "libandroid_servers",
360*d57664e9SAndroid Build Coastguard Worker    defaults: ["libservices.core-libs"],
361*d57664e9SAndroid Build Coastguard Worker    whole_static_libs: ["libservices.core"],
362*d57664e9SAndroid Build Coastguard Worker}
363*d57664e9SAndroid Build Coastguard Worker
364*d57664e9SAndroid Build Coastguard Workerplatform_compat_config {
365*d57664e9SAndroid Build Coastguard Worker    name: "services-platform-compat-config",
366*d57664e9SAndroid Build Coastguard Worker    src: ":services",
367*d57664e9SAndroid Build Coastguard Worker}
368*d57664e9SAndroid Build Coastguard Worker
369*d57664e9SAndroid Build Coastguard Workerfilegroup {
370*d57664e9SAndroid Build Coastguard Worker    name: "art-profile",
371*d57664e9SAndroid Build Coastguard Worker    srcs: ["art-profile"],
372*d57664e9SAndroid Build Coastguard Worker}
373*d57664e9SAndroid Build Coastguard Worker
374*d57664e9SAndroid Build Coastguard Worker// API stub
375*d57664e9SAndroid Build Coastguard Worker// =============================================================
376*d57664e9SAndroid Build Coastguard Worker
377*d57664e9SAndroid Build Coastguard Workersoong_config_module_type_import {
378*d57664e9SAndroid Build Coastguard Worker    from: "frameworks/base/api/Android.bp",
379*d57664e9SAndroid Build Coastguard Worker    module_types: ["non_updatable_exportable_droidstubs"],
380*d57664e9SAndroid Build Coastguard Worker}
381*d57664e9SAndroid Build Coastguard Worker
382*d57664e9SAndroid Build Coastguard Workerstubs_defaults {
383*d57664e9SAndroid Build Coastguard Worker    name: "services-stubs-default",
384*d57664e9SAndroid Build Coastguard Worker    installable: false,
385*d57664e9SAndroid Build Coastguard Worker    flags: [
386*d57664e9SAndroid Build Coastguard Worker        "--show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.SYSTEM_SERVER\\)",
387*d57664e9SAndroid Build Coastguard Worker        "--hide-annotation android.annotation.Hide",
388*d57664e9SAndroid Build Coastguard Worker        "--hide InternalClasses", // com.android.* classes are okay in this interface
389*d57664e9SAndroid Build Coastguard Worker        // TODO: remove the --hide options below
390*d57664e9SAndroid Build Coastguard Worker        "--hide DeprecationMismatch",
391*d57664e9SAndroid Build Coastguard Worker        "--hide HiddenTypedefConstant",
392*d57664e9SAndroid Build Coastguard Worker    ],
393*d57664e9SAndroid Build Coastguard Worker    visibility: ["//frameworks/base:__subpackages__"],
394*d57664e9SAndroid Build Coastguard Worker    filter_packages: ["com.android."],
395*d57664e9SAndroid Build Coastguard Worker}
396*d57664e9SAndroid Build Coastguard Worker
397*d57664e9SAndroid Build Coastguard Workernon_updatable_exportable_droidstubs {
398*d57664e9SAndroid Build Coastguard Worker    name: "services-non-updatable-stubs",
399*d57664e9SAndroid Build Coastguard Worker    srcs: [":services-non-updatable-sources"],
400*d57664e9SAndroid Build Coastguard Worker    defaults: [
401*d57664e9SAndroid Build Coastguard Worker        "services-stubs-default",
402*d57664e9SAndroid Build Coastguard Worker    ],
403*d57664e9SAndroid Build Coastguard Worker    check_api: {
404*d57664e9SAndroid Build Coastguard Worker        current: {
405*d57664e9SAndroid Build Coastguard Worker            api_file: "api/current.txt",
406*d57664e9SAndroid Build Coastguard Worker            removed_api_file: "api/removed.txt",
407*d57664e9SAndroid Build Coastguard Worker        },
408*d57664e9SAndroid Build Coastguard Worker        api_lint: {
409*d57664e9SAndroid Build Coastguard Worker            enabled: true,
410*d57664e9SAndroid Build Coastguard Worker            new_since: ":android-non-updatable.api.system-server.latest",
411*d57664e9SAndroid Build Coastguard Worker            baseline_file: "api/lint-baseline.txt",
412*d57664e9SAndroid Build Coastguard Worker        },
413*d57664e9SAndroid Build Coastguard Worker    },
414*d57664e9SAndroid Build Coastguard Worker    soong_config_variables: {
415*d57664e9SAndroid Build Coastguard Worker        release_hidden_api_exportable_stubs: {
416*d57664e9SAndroid Build Coastguard Worker            dists: [
417*d57664e9SAndroid Build Coastguard Worker                {
418*d57664e9SAndroid Build Coastguard Worker                    targets: ["sdk"],
419*d57664e9SAndroid Build Coastguard Worker                    dir: "apistubs/android/system-server/api",
420*d57664e9SAndroid Build Coastguard Worker                    dest: "android-non-updatable.txt",
421*d57664e9SAndroid Build Coastguard Worker                    tag: ".exportable.api.txt",
422*d57664e9SAndroid Build Coastguard Worker                },
423*d57664e9SAndroid Build Coastguard Worker                {
424*d57664e9SAndroid Build Coastguard Worker                    targets: ["sdk"],
425*d57664e9SAndroid Build Coastguard Worker                    dir: "apistubs/android/system-server/api",
426*d57664e9SAndroid Build Coastguard Worker                    dest: "android-non-updatable-removed.txt",
427*d57664e9SAndroid Build Coastguard Worker                    tag: ".exportable.removed-api.txt",
428*d57664e9SAndroid Build Coastguard Worker                },
429*d57664e9SAndroid Build Coastguard Worker            ],
430*d57664e9SAndroid Build Coastguard Worker            conditions_default: {
431*d57664e9SAndroid Build Coastguard Worker                dists: [
432*d57664e9SAndroid Build Coastguard Worker                    {
433*d57664e9SAndroid Build Coastguard Worker                        targets: ["sdk"],
434*d57664e9SAndroid Build Coastguard Worker                        dir: "apistubs/android/system-server/api",
435*d57664e9SAndroid Build Coastguard Worker                        dest: "android-non-updatable.txt",
436*d57664e9SAndroid Build Coastguard Worker                        tag: ".api.txt",
437*d57664e9SAndroid Build Coastguard Worker                    },
438*d57664e9SAndroid Build Coastguard Worker                    {
439*d57664e9SAndroid Build Coastguard Worker                        targets: ["sdk"],
440*d57664e9SAndroid Build Coastguard Worker                        dir: "apistubs/android/system-server/api",
441*d57664e9SAndroid Build Coastguard Worker                        dest: "android-non-updatable-removed.txt",
442*d57664e9SAndroid Build Coastguard Worker                        tag: ".removed-api.txt",
443*d57664e9SAndroid Build Coastguard Worker                    },
444*d57664e9SAndroid Build Coastguard Worker                ],
445*d57664e9SAndroid Build Coastguard Worker            },
446*d57664e9SAndroid Build Coastguard Worker        },
447*d57664e9SAndroid Build Coastguard Worker    },
448*d57664e9SAndroid Build Coastguard Worker    api_surface: "system-server",
449*d57664e9SAndroid Build Coastguard Worker    sdk_version: "module_current",
450*d57664e9SAndroid Build Coastguard Worker    libs: [
451*d57664e9SAndroid Build Coastguard Worker        "framework-annotations-lib",
452*d57664e9SAndroid Build Coastguard Worker    ],
453*d57664e9SAndroid Build Coastguard Worker}
454