blob: 6fc6084de1818b3c735be9461e80881fe5c43e7b [file] [log] [blame]
Jiyong Parkbae2e902019-11-17 13:11:19 +09001filegroup {
2 name: "services.core-sources",
3 srcs: ["java/**/*.java"],
4 path: "java",
5 visibility: ["//frameworks/base/services"],
6}
7
Adam Pardyl0f1b3d42019-08-19 15:24:11 +02008java_library {
9 name: "protolog-common",
10 srcs: [
11 "java/com/android/server/protolog/common/**/*.java",
12 ],
13 host_supported: true,
14}
15
16java_library {
17 name: "services.core.wm.protologgroups",
18 srcs: [
19 "java/com/android/server/wm/ProtoLogGroup.java",
20 ],
21 static_libs: ["protolog-common"],
22}
23
24genrule {
25 name: "services.core.protologsrc",
Jiyong Parkbae2e902019-11-17 13:11:19 +090026 srcs: [
27 ":services.core.wm.protologgroups",
28 ":services.core-sources",
29 ],
Adam Pardyl0f1b3d42019-08-19 15:24:11 +020030 tools: ["protologtool"],
31 cmd: "$(location protologtool) transform-protolog-calls " +
32 "--protolog-class com.android.server.protolog.common.ProtoLog " +
33 "--protolog-impl-class com.android.server.protolog.ProtoLogImpl " +
Adrian Roos2ca5d862019-10-03 17:30:14 +020034 "--protolog-cache-class 'com.android.server.protolog.ProtoLog$$Cache' " +
Adam Pardyl0f1b3d42019-08-19 15:24:11 +020035 "--loggroups-class com.android.server.wm.ProtoLogGroup " +
36 "--loggroups-jar $(location :services.core.wm.protologgroups) " +
37 "--output-srcjar $(out) " +
Jiyong Parkbae2e902019-11-17 13:11:19 +090038 "$(locations :services.core-sources)",
Adam Pardyl0f1b3d42019-08-19 15:24:11 +020039 out: ["services.core.protolog.srcjar"],
40}
41
42genrule {
43 name: "generate-protolog.json",
Jiyong Parkbae2e902019-11-17 13:11:19 +090044 srcs: [
45 ":services.core.wm.protologgroups",
46 ":services.core-sources",
47 ],
Adam Pardyl0f1b3d42019-08-19 15:24:11 +020048 tools: ["protologtool"],
49 cmd: "$(location protologtool) generate-viewer-config " +
50 "--protolog-class com.android.server.protolog.common.ProtoLog " +
51 "--loggroups-class com.android.server.wm.ProtoLogGroup " +
52 "--loggroups-jar $(location :services.core.wm.protologgroups) " +
53 "--viewer-conf $(out) " +
Jiyong Parkbae2e902019-11-17 13:11:19 +090054 "$(locations :services.core-sources)",
Adam Pardyl0f1b3d42019-08-19 15:24:11 +020055 out: ["services.core.protolog.json"],
56}
57
58genrule {
59 name: "checked-protolog.json",
60 srcs: [
61 ":generate-protolog.json",
62 ":services.core.protolog.json",
63 ],
64 cmd: "cp $(location :generate-protolog.json) $(out) && " +
Adrian Roos125b8392019-10-02 19:03:34 +020065 "{ ! (diff $(out) $(location :services.core.protolog.json) | grep -q '^<') || " +
Adrian Roosb2af8ab2019-10-02 14:48:11 +020066 "{ echo -e '\\n\\n################################################################\\n#\\n" +
67 "# ERROR: ProtoLog viewer config is stale. To update it, run:\\n#\\n" +
68 "# cp $(location :generate-protolog.json) " +
69 "$(location :services.core.protolog.json)\\n#\\n" +
70 "################################################################\\n\\n' >&2 && false; } }",
Adam Pardyl0f1b3d42019-08-19 15:24:11 +020071 out: ["services.core.protolog.json"],
72}
73
Colin Crosse0b2ee52017-12-05 09:46:29 -080074java_library_static {
Colin Cross4c0b06b2017-12-12 19:43:04 -080075 name: "services.core.unboosted",
Colin Crosse0b2ee52017-12-05 09:46:29 -080076 srcs: [
Adam Pardyl0f1b3d42019-08-19 15:24:11 +020077 ":services.core.protologsrc",
Nandana Duttb3f71682018-10-03 10:01:25 +010078 ":dumpstate_aidl",
Jiyong Parkbae2e902019-11-17 13:11:19 +090079 ":framework_native_aidl",
80 ":gsiservice_aidl",
MÃ¥rten Kongstad06a1ac82018-09-20 13:09:47 +020081 ":idmap2_aidl",
Colin Crosse0b2ee52017-12-05 09:46:29 -080082 ":installd_aidl",
83 ":storaged_aidl",
84 ":vold_aidl",
atrost7e6060f2019-07-24 14:12:48 +010085 ":platform-compat-config",
Santos Cordon4505e5e2020-01-17 15:18:10 +000086 ":display-device-config",
Colin Crosse0b2ee52017-12-05 09:46:29 -080087 "java/com/android/server/EventLogTags.logtags",
88 "java/com/android/server/am/EventLogTags.logtags",
Jeff Changd136e772019-11-05 20:33:52 +080089 "java/com/android/server/wm/EventLogTags.logtags",
Siarhei Vishniakou4dfa4702019-03-25 15:38:11 -070090 "java/com/android/server/policy/EventLogTags.logtags",
Colin Crosse0b2ee52017-12-05 09:46:29 -080091 ],
92
93 libs: [
Hai Zhang76f0def2020-01-16 01:42:58 -080094 "services-stubs",
Colin Crosse0b2ee52017-12-05 09:46:29 -080095 "services.net",
96 "android.hardware.light-V2.0-java",
97 "android.hardware.power-V1.0-java",
98 "android.hardware.tv.cec-V1.0-java",
Steven Morelandf53d7fe2020-01-06 13:40:51 -080099 "android.hardware.vibrator-java",
atrost1a945502019-11-04 17:03:54 +0000100 "app-compat-annotations",
markchien2c153702020-02-06 19:23:26 +0800101 "framework-tethering-stubs",
Colin Crosse0b2ee52017-12-05 09:46:29 -0800102 ],
103
Anton Hansson11905c62018-11-27 12:10:30 +0000104 required: [
105 "gps_debug.conf",
Adam Pardyl0f1b3d42019-08-19 15:24:11 +0200106 "protolog.conf.json.gz",
Anton Hansson11905c62018-11-27 12:10:30 +0000107 ],
108
Colin Crosse0b2ee52017-12-05 09:46:29 -0800109 static_libs: [
110 "time_zone_distro",
111 "time_zone_distro_installer",
Andrew Sculle6527c12018-01-05 18:33:58 +0000112 "android.hardware.authsecret-V1.0-java",
Tomasz Wasilczykd65b3ca2017-12-13 08:26:25 -0800113 "android.hardware.broadcastradio-V2.0-java",
Colin Crosse0b2ee52017-12-05 09:46:29 -0800114 "android.hardware.health-V1.0-java",
115 "android.hardware.health-V2.0-java",
Ivailo Karamanolevc176fb82019-12-02 10:41:25 +0100116 "android.hardware.light-java",
Colin Crosse0b2ee52017-12-05 09:46:29 -0800117 "android.hardware.weaver-V1.0-java",
Ilya Matyukhinef410e32020-02-04 13:39:48 -0800118 "android.hardware.biometrics.face-V1.1-java",
119 "android.hardware.biometrics.fingerprint-V2.2-java",
Colin Crosse0b2ee52017-12-05 09:46:29 -0800120 "android.hardware.oemlock-V1.0-java",
Colin Crosse0b2ee52017-12-05 09:46:29 -0800121 "android.hardware.configstore-V1.0-java",
122 "android.hardware.contexthub-V1.0-java",
Kenny Rootf76cfc32019-11-08 14:36:03 -0800123 "android.hardware.rebootescrow-java",
Ytai Ben-Tsvi93c117c862019-11-25 12:43:28 -0800124 "android.hardware.soundtrigger-V2.3-java",
Peter Kalauskas65589e92019-01-22 15:41:59 -0800125 "android.hidl.manager-V1.2-java",
Lorenzo Colittife0c38a2019-05-21 19:45:09 +0900126 "dnsresolver_aidl_interface-V2-java",
Lorenzo Colitti31324cb2018-12-11 13:45:14 +0900127 "netd_event_listener_interface-java",
Colin Crosse0b2ee52017-12-05 09:46:29 -0800128 ],
Bernardo Rufino60c39b32019-11-08 16:11:15 +0000129
130 plugins: [
131 "compat-changeid-annotation-processor",
132 ],
Colin Crosse0b2ee52017-12-05 09:46:29 -0800133}
134
135java_genrule {
136 name: "services.core.priorityboosted",
Colin Cross4c0b06b2017-12-12 19:43:04 -0800137 srcs: [":services.core.unboosted"],
Colin Crosse0b2ee52017-12-05 09:46:29 -0800138 tools: ["lockedregioncodeinjection"],
139 cmd: "$(location lockedregioncodeinjection) " +
Wale Ogunwaledb485de2018-10-29 09:47:07 -0700140 " --targets \"Lcom/android/server/am/ActivityManagerService;,Lcom/android/server/wm/WindowManagerGlobalLock;\" " +
Colin Crosse0b2ee52017-12-05 09:46:29 -0800141 " --pre \"com/android/server/am/ActivityManagerService.boostPriorityForLockedSection,com/android/server/wm/WindowManagerService.boostPriorityForLockedSection\" " +
142 " --post \"com/android/server/am/ActivityManagerService.resetPriorityAfterLockedSection,com/android/server/wm/WindowManagerService.resetPriorityAfterLockedSection\" " +
143 " -o $(out) " +
144 " -i $(in)",
145 out: ["services.core.priorityboosted.jar"],
146}
Colin Cross4c0b06b2017-12-12 19:43:04 -0800147
148java_library {
149 name: "services.core",
150 static_libs: ["services.core.priorityboosted"],
151}
Anton Hansson11905c62018-11-27 12:10:30 +0000152
153
154prebuilt_etc {
155 name: "gps_debug.conf",
156 src: "java/com/android/server/location/gps_debug.conf",
157}
Adam Pardyl0f1b3d42019-08-19 15:24:11 +0200158
159genrule {
160 name: "services.core.json.gz",
161 srcs: [":checked-protolog.json"],
162 out: ["services.core.protolog.json.gz"],
Adrian Roosa91161e2019-10-09 13:16:33 +0200163 cmd: "$(location minigzip) -c < $(in) > $(out)",
164 tools: ["minigzip"],
Adam Pardyl0f1b3d42019-08-19 15:24:11 +0200165}
166
167prebuilt_etc {
168 name: "protolog.conf.json.gz",
169 src: ":services.core.json.gz",
170}