filegroup { name: "services.core-sources", srcs: ["java/**/*.java"], path: "java", visibility: ["//frameworks/base/services"], } java_library { name: "protolog-common", srcs: [ "java/com/android/server/protolog/common/**/*.java", ], host_supported: true, } java_library { name: "services.core.wm.protologgroups", srcs: [ "java/com/android/server/wm/ProtoLogGroup.java", ], static_libs: ["protolog-common"], } genrule { name: "services.core.protologsrc", srcs: [ ":services.core.wm.protologgroups", ":services.core-sources", ], tools: ["protologtool"], cmd: "$(location protologtool) transform-protolog-calls " + "--protolog-class com.android.server.protolog.common.ProtoLog " + "--protolog-impl-class com.android.server.protolog.ProtoLogImpl " + "--protolog-cache-class 'com.android.server.protolog.ProtoLog$$Cache' " + "--loggroups-class com.android.server.wm.ProtoLogGroup " + "--loggroups-jar $(location :services.core.wm.protologgroups) " + "--output-srcjar $(out) " + "$(locations :services.core-sources)", out: ["services.core.protolog.srcjar"], } genrule { name: "generate-protolog.json", srcs: [ ":services.core.wm.protologgroups", ":services.core-sources", ], tools: ["protologtool"], cmd: "$(location protologtool) generate-viewer-config " + "--protolog-class com.android.server.protolog.common.ProtoLog " + "--loggroups-class com.android.server.wm.ProtoLogGroup " + "--loggroups-jar $(location :services.core.wm.protologgroups) " + "--viewer-conf $(out) " + "$(locations :services.core-sources)", out: ["services.core.protolog.json"], } genrule { name: "checked-protolog.json", srcs: [ ":generate-protolog.json", ":services.core.protolog.json", ], cmd: "cp $(location :generate-protolog.json) $(out) && " + "{ ! (diff $(out) $(location :services.core.protolog.json) | grep -q '^<') || " + "{ echo -e '\\n\\n################################################################\\n#\\n" + "# ERROR: ProtoLog viewer config is stale. To update it, run:\\n#\\n" + "# cp $(location :generate-protolog.json) " + "$(location :services.core.protolog.json)\\n#\\n" + "################################################################\\n\\n' >&2 && false; } }", out: ["services.core.protolog.json"], } java_library_static { name: "services.core.unboosted", srcs: [ ":services.core.protologsrc", ":dumpstate_aidl", ":framework_native_aidl", ":gsiservice_aidl", ":idmap2_aidl", ":installd_aidl", ":storaged_aidl", ":vold_aidl", ":platform-compat-config", "java/com/android/server/EventLogTags.logtags", "java/com/android/server/am/EventLogTags.logtags", "java/com/android/server/wm/EventLogTags.logtags", "java/com/android/server/policy/EventLogTags.logtags", ], libs: [ "services.net", "android.hardware.light-V2.0-java", "android.hardware.power-V1.0-java", "android.hardware.tv.cec-V1.0-java", "app-compat-annotations", "vintf-vibrator-java", ], required: [ "gps_debug.conf", "protolog.conf.json.gz", ], static_libs: [ "time_zone_distro", "time_zone_distro_installer", "android.hardware.authsecret-V1.0-java", "android.hardware.broadcastradio-V2.0-java", "android.hardware.health-V1.0-java", "android.hardware.health-V2.0-java", "android.hardware.weaver-V1.0-java", "android.hardware.biometrics.face-V1.0-java", "android.hardware.biometrics.fingerprint-V2.1-java", "android.hardware.oemlock-V1.0-java", "android.hardware.configstore-V1.0-java", "android.hardware.contexthub-V1.0-java", "android.hidl.manager-V1.2-java", "dnsresolver_aidl_interface-V2-java", "netd_event_listener_interface-java", ], plugins: [ "compat-changeid-annotation-processor", ], } java_genrule { name: "services.core.priorityboosted", srcs: [":services.core.unboosted"], tools: ["lockedregioncodeinjection"], cmd: "$(location lockedregioncodeinjection) " + " --targets \"Lcom/android/server/am/ActivityManagerService;,Lcom/android/server/wm/WindowManagerGlobalLock;\" " + " --pre \"com/android/server/am/ActivityManagerService.boostPriorityForLockedSection,com/android/server/wm/WindowManagerService.boostPriorityForLockedSection\" " + " --post \"com/android/server/am/ActivityManagerService.resetPriorityAfterLockedSection,com/android/server/wm/WindowManagerService.resetPriorityAfterLockedSection\" " + " -o $(out) " + " -i $(in)", out: ["services.core.priorityboosted.jar"], } java_library { name: "services.core", static_libs: ["services.core.priorityboosted"], } prebuilt_etc { name: "gps_debug.conf", src: "java/com/android/server/location/gps_debug.conf", } genrule { name: "services.core.json.gz", srcs: [":checked-protolog.json"], out: ["services.core.protolog.json.gz"], cmd: "$(location minigzip) -c < $(in) > $(out)", tools: ["minigzip"], } prebuilt_etc { name: "protolog.conf.json.gz", src: ":services.core.json.gz", } platform_compat_config { name: "services-core-platform-compat-config", src: ":services.core.unboosted", }