1package {
2    // See: http://go/android-license-faq
3    // A large-scale-change added 'default_applicable_licenses' to import
4    // all of the 'license_kinds' from "frameworks_base_license"
5    // to get the below license kinds:
6    //   SPDX-license-identifier-Apache-2.0
7    default_applicable_licenses: ["frameworks_base_license"],
8}
9
10filegroup {
11    name: "services.core-sources-am-wm",
12    srcs: [
13        "java/com/android/server/am/**/*.java",
14        "java/com/android/server/wm/**/*.java",
15    ],
16    path: "java",
17    visibility: ["//frameworks/base/services"],
18}
19
20filegroup {
21    name: "services.core-sources",
22    srcs: ["java/**/*.java"],
23    exclude_srcs: [
24        ":services.core-sources-am-wm",
25    ],
26    path: "java",
27    visibility: [
28        "//frameworks/base/services",
29        "//frameworks/base/core/java/com/android/internal/protolog",
30    ],
31}
32
33genrule {
34    name: "services.core.protologsrc",
35    srcs: [
36        ":protolog-groups",
37        ":services.core-sources-am-wm",
38    ],
39    tools: ["protologtool"],
40    cmd: "$(location protologtool) transform-protolog-calls " +
41        "--protolog-class com.android.internal.protolog.common.ProtoLog " +
42        "--protolog-impl-class com.android.internal.protolog.ProtoLogImpl " +
43        "--protolog-cache-class 'com.android.server.wm.ProtoLogCache' " +
44        "--loggroups-class com.android.internal.protolog.ProtoLogGroup " +
45        "--loggroups-jar $(location :protolog-groups) " +
46        "--output-srcjar $(out) " +
47        "$(locations :services.core-sources-am-wm)",
48    out: ["services.core.protolog.srcjar"],
49}
50
51genrule {
52    name: "generate-protolog.json",
53    srcs: [
54        ":protolog-groups",
55        ":services.core-sources-am-wm",
56    ],
57    tools: ["protologtool"],
58    cmd: "$(location protologtool) generate-viewer-config " +
59        "--protolog-class com.android.internal.protolog.common.ProtoLog " +
60        "--loggroups-class com.android.internal.protolog.ProtoLogGroup " +
61        "--loggroups-jar $(location :protolog-groups) " +
62        "--viewer-conf $(out) " +
63        "$(locations :services.core-sources-am-wm)",
64    out: ["services.core.protolog.json"],
65}
66
67genrule {
68    name: "checked-protolog.json",
69    srcs: [
70        ":generate-protolog.json",
71        ":services.core.protolog.json",
72    ],
73    cmd: "cp $(location :generate-protolog.json) $(out) && " +
74        "{ ! (diff $(out) $(location :services.core.protolog.json) | grep -q '^<') || " +
75        "{ echo -e '\\n\\n################################################################\\n#\\n" +
76        "#  ERROR: ProtoLog viewer config is stale.  To update it, run:\\n#\\n" +
77        "#  cp $(location :generate-protolog.json) " +
78        "$(location :services.core.protolog.json)\\n#\\n" +
79        "################################################################\\n\\n' >&2 && false; } }",
80    out: ["services.core.protolog.json"],
81}
82
83genrule {
84    name: "statslog-art-java-gen",
85    tools: ["stats-log-api-gen"],
86    cmd: "$(location stats-log-api-gen) --java $(out) --module art" +
87        " --javaPackage com.android.internal.art --javaClass ArtStatsLog --worksource",
88    out: ["com/android/internal/art/ArtStatsLog.java"],
89}
90
91java_library_static {
92    name: "services.core.unboosted",
93    defaults: ["platform_service_defaults"],
94    srcs: [
95        ":statslog-art-java-gen",
96        ":services.core-sources",
97        ":services.core.protologsrc",
98        ":dumpstate_aidl",
99        ":framework_native_aidl",
100        ":gsiservice_aidl",
101        ":inputconstants_aidl",
102        ":installd_aidl",
103        ":storaged_aidl",
104        ":vold_aidl",
105        ":platform-compat-config",
106        ":platform-compat-overrides",
107        ":display-device-config",
108        ":display-layout-config",
109        ":device-state-config",
110        "java/com/android/server/EventLogTags.logtags",
111        "java/com/android/server/am/EventLogTags.logtags",
112        "java/com/android/server/wm/EventLogTags.logtags",
113        "java/com/android/server/policy/EventLogTags.logtags",
114    ],
115
116    libs: [
117        "services.net",
118        "android.hardware.light-V2.0-java",
119        "android.hardware.gnss-V1-java",
120        "android.hardware.power-V1-java",
121        "android.hardware.power-V1.0-java",
122        "android.hardware.vibrator-V2-java",
123        "app-compat-annotations",
124        "framework-tethering.stubs.module_lib",
125        "service-permission.stubs.system_server",
126    ],
127
128    required: [
129        "gps_debug.conf",
130        "protolog.conf.json.gz",
131    ],
132
133    static_libs: [
134        "time_zone_distro",
135        "time_zone_distro_installer",
136        "android.hardware.authsecret-V1.0-java",
137        "android.hardware.boot-V1.0-java",
138        "android.hardware.boot-V1.1-java",
139        "android.hardware.boot-V1.2-java",
140        "android.hardware.broadcastradio-V2.0-java",
141        "android.hardware.health-V1.0-java",
142        "android.hardware.health-V2.0-java",
143        "android.hardware.health-V2.1-java",
144        "android.hardware.light-V1-java",
145        "android.hardware.tv.cec-V1.1-java",
146        "android.hardware.weaver-V1.0-java",
147        "android.hardware.biometrics.face-V1-java",
148        "android.hardware.biometrics.face-V1.0-java",
149        "android.hardware.biometrics.fingerprint-V2.3-java",
150        "android.hardware.biometrics.fingerprint-V1-java",
151        "android.hardware.oemlock-V1.0-java",
152        "android.hardware.configstore-V1.1-java",
153        "android.hardware.contexthub-V1.0-java",
154        "android.hardware.rebootescrow-V1-java",
155        "android.hardware.soundtrigger-V2.3-java",
156        "android.hardware.power.stats-V1-java",
157        "android.hidl.manager-V1.2-java",
158        "capture_state_listener-aidl-java",
159        "icu4j_calendar_astronomer",
160        "netd-client",
161        "overlayable_policy_aidl-java",
162        "SurfaceFlingerProperties",
163        "com.android.sysprop.watchdog",
164    ],
165    javac_shard_size: 50,
166}
167
168java_genrule {
169    name: "services.core.priorityboosted",
170    srcs: [":services.core.unboosted"],
171    tools: ["lockedregioncodeinjection"],
172    cmd: "$(location lockedregioncodeinjection) " +
173        "  --targets \"Lcom/android/server/am/ActivityManagerService;,Lcom/android/server/am/ActivityManagerGlobalLock;,Lcom/android/server/wm/WindowManagerGlobalLock;\" " +
174        "  --pre \"com/android/server/am/ActivityManagerService.boostPriorityForLockedSection,com/android/server/am/ActivityManagerService.boostPriorityForProcLockedSection,com/android/server/wm/WindowManagerService.boostPriorityForLockedSection\" " +
175        "  --post \"com/android/server/am/ActivityManagerService.resetPriorityAfterLockedSection,com/android/server/am/ActivityManagerService.resetPriorityAfterProcLockedSection,com/android/server/wm/WindowManagerService.resetPriorityAfterLockedSection\" " +
176        "  -o $(out) " +
177        "  -i $(in)",
178    out: ["services.core.priorityboosted.jar"],
179}
180
181java_library {
182    name: "services.core",
183    static_libs: ["services.core.priorityboosted"],
184}
185
186java_library_host {
187    name: "core_cts_test_resources",
188    srcs: ["java/com/android/server/notification/SmallHash.java"],
189}
190
191prebuilt_etc {
192    name: "gps_debug.conf",
193    src: "java/com/android/server/location/gnss/gps_debug.conf",
194}
195
196genrule {
197    name: "services.core.json.gz",
198    srcs: [":checked-protolog.json"],
199    out: ["services.core.protolog.json.gz"],
200    cmd: "$(location minigzip) -c < $(in) > $(out)",
201    tools: ["minigzip"],
202}
203
204prebuilt_etc {
205    name: "protolog.conf.json.gz",
206    src: ":services.core.json.gz",
207}
208
209filegroup {
210    name: "services.core-sources-deviceconfig-interface",
211    srcs: [
212        "java/com/android/server/utils/DeviceConfigInterface.java",
213    ],
214}
215