Designed to work with both WM and WM-Shell
- source code is moved to com.android.internal.protolog, on contrast,
com.android.internal.logging is mainly used for uieventlogger
- the protolog-lib is defined in frameworks/base/Android.bp, similar to
uieventloggerlib as well
- to include protolog, reference what's in services/core/Android.bp
See also go/protolog-migration-s
Bug: 161561475
Test: atest ProtoLogImplTest \
ProtoLogViewerConfigReaderTest \
WmTests:ProtoLogIntegrationTest \
LogDataTypeTest \
protologtool-tests
Change-Id: I249a5675527d54778ac01529b4cb39fb09cb5d59
168 lines
5.7 KiB
Plaintext
168 lines
5.7 KiB
Plaintext
filegroup {
|
|
name: "services.core-sources",
|
|
srcs: ["java/**/*.java"],
|
|
path: "java",
|
|
visibility: [
|
|
"//frameworks/base/services",
|
|
"//frameworks/base/core/java/com/android/internal/protolog",
|
|
],
|
|
}
|
|
|
|
genrule {
|
|
name: "services.core.protologsrc",
|
|
srcs: [
|
|
":protolog-groups",
|
|
":services.core-sources",
|
|
],
|
|
tools: ["protologtool"],
|
|
cmd: "$(location protologtool) transform-protolog-calls " +
|
|
"--protolog-class com.android.internal.protolog.common.ProtoLog " +
|
|
"--protolog-impl-class com.android.internal.protolog.ProtoLogImpl " +
|
|
"--protolog-cache-class 'com.android.server.wm.ProtoLogCache' " +
|
|
"--loggroups-class com.android.internal.protolog.ProtoLogGroup " +
|
|
"--loggroups-jar $(location :protolog-groups) " +
|
|
"--output-srcjar $(out) " +
|
|
"$(locations :services.core-sources)",
|
|
out: ["services.core.protolog.srcjar"],
|
|
}
|
|
|
|
genrule {
|
|
name: "generate-protolog.json",
|
|
srcs: [
|
|
":protolog-groups",
|
|
":services.core-sources",
|
|
],
|
|
tools: ["protologtool"],
|
|
cmd: "$(location protologtool) generate-viewer-config " +
|
|
"--protolog-class com.android.internal.protolog.common.ProtoLog " +
|
|
"--loggroups-class com.android.internal.protolog.ProtoLogGroup " +
|
|
"--loggroups-jar $(location :protolog-groups) " +
|
|
"--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",
|
|
":inputconstants_aidl",
|
|
":installd_aidl",
|
|
":storaged_aidl",
|
|
":vold_aidl",
|
|
":platform-compat-config",
|
|
":display-device-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-java",
|
|
"android.hardware.power-V1.0-java",
|
|
"android.hardware.vibrator-java",
|
|
"android.net.ipsec.ike.stubs.module_lib",
|
|
"app-compat-annotations",
|
|
"framework-tethering.stubs.module_lib",
|
|
"service-permission.stubs.system_server",
|
|
],
|
|
|
|
required: [
|
|
"gps_debug.conf",
|
|
"protolog.conf.json.gz",
|
|
],
|
|
|
|
static_libs: [
|
|
"protolog-lib",
|
|
"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.health-V2.1-java",
|
|
"android.hardware.light-java",
|
|
"android.hardware.tv.cec-V1.0-java",
|
|
"android.hardware.weaver-V1.0-java",
|
|
"android.hardware.biometrics.face-V1.1-java",
|
|
"android.hardware.biometrics.fingerprint-V2.3-java",
|
|
"android.hardware.oemlock-V1.0-java",
|
|
"android.hardware.configstore-V1.0-java",
|
|
"android.hardware.contexthub-V1.0-java",
|
|
"android.hardware.rebootescrow-java",
|
|
"android.hardware.soundtrigger-V2.3-java",
|
|
"android.hidl.manager-V1.2-java",
|
|
"capture_state_listener-aidl-java",
|
|
"dnsresolver_aidl_interface-java",
|
|
"icu4j_calendar_astronomer",
|
|
"netd_aidl_interfaces-platform-java",
|
|
"overlayable_policy_aidl-java",
|
|
"SurfaceFlingerProperties",
|
|
],
|
|
}
|
|
|
|
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",
|
|
defaults: ["services_defaults"],
|
|
static_libs: ["services.core.priorityboosted"],
|
|
}
|
|
|
|
java_library_host {
|
|
name: "core_cts_test_resources",
|
|
srcs: ["java/com/android/server/notification/SmallHash.java"]
|
|
}
|
|
|
|
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",
|
|
}
|