1*6dbdd20aSAndroid Build Coastguard Worker// These targets are appended to the autogenerated Android.bp by tools/gen_android_bp. 2*6dbdd20aSAndroid Build Coastguard Worker 3*6dbdd20aSAndroid Build Coastguard Workerjava_library_host { 4*6dbdd20aSAndroid Build Coastguard Worker name: "perfetto_config-full", 5*6dbdd20aSAndroid Build Coastguard Worker proto: { 6*6dbdd20aSAndroid Build Coastguard Worker type: "full", 7*6dbdd20aSAndroid Build Coastguard Worker }, 8*6dbdd20aSAndroid Build Coastguard Worker srcs: [ 9*6dbdd20aSAndroid Build Coastguard Worker "protos/perfetto/config/perfetto_config.proto", 10*6dbdd20aSAndroid Build Coastguard Worker ], 11*6dbdd20aSAndroid Build Coastguard Worker} 12*6dbdd20aSAndroid Build Coastguard Worker 13*6dbdd20aSAndroid Build Coastguard Workerjava_library { 14*6dbdd20aSAndroid Build Coastguard Worker name: "perfetto_config-lite", 15*6dbdd20aSAndroid Build Coastguard Worker proto: { 16*6dbdd20aSAndroid Build Coastguard Worker type: "lite", 17*6dbdd20aSAndroid Build Coastguard Worker }, 18*6dbdd20aSAndroid Build Coastguard Worker srcs: [ 19*6dbdd20aSAndroid Build Coastguard Worker "protos/perfetto/config/perfetto_config.proto", 20*6dbdd20aSAndroid Build Coastguard Worker ], 21*6dbdd20aSAndroid Build Coastguard Worker} 22*6dbdd20aSAndroid Build Coastguard Worker 23*6dbdd20aSAndroid Build Coastguard Workerjava_library_host { 24*6dbdd20aSAndroid Build Coastguard Worker name: "perfetto_trace-full", 25*6dbdd20aSAndroid Build Coastguard Worker proto: { 26*6dbdd20aSAndroid Build Coastguard Worker type: "full", 27*6dbdd20aSAndroid Build Coastguard Worker }, 28*6dbdd20aSAndroid Build Coastguard Worker srcs: [ 29*6dbdd20aSAndroid Build Coastguard Worker "protos/perfetto/trace/perfetto_trace.proto", 30*6dbdd20aSAndroid Build Coastguard Worker ], 31*6dbdd20aSAndroid Build Coastguard Worker // b/267831518: Pin tradefed and dependencies to Java 11. 32*6dbdd20aSAndroid Build Coastguard Worker java_version: "11", 33*6dbdd20aSAndroid Build Coastguard Worker} 34*6dbdd20aSAndroid Build Coastguard Worker 35*6dbdd20aSAndroid Build Coastguard Workerjava_library_host { 36*6dbdd20aSAndroid Build Coastguard Worker name: "perfetto_metrics-full", 37*6dbdd20aSAndroid Build Coastguard Worker proto: { 38*6dbdd20aSAndroid Build Coastguard Worker type: "full", 39*6dbdd20aSAndroid Build Coastguard Worker }, 40*6dbdd20aSAndroid Build Coastguard Worker srcs: [ 41*6dbdd20aSAndroid Build Coastguard Worker "protos/perfetto/metrics/perfetto_merged_metrics.proto", 42*6dbdd20aSAndroid Build Coastguard Worker ], 43*6dbdd20aSAndroid Build Coastguard Worker // b/267831518: Pin tradefed and dependencies to Java 11. 44*6dbdd20aSAndroid Build Coastguard Worker java_version: "11", 45*6dbdd20aSAndroid Build Coastguard Worker} 46*6dbdd20aSAndroid Build Coastguard Worker 47*6dbdd20aSAndroid Build Coastguard Worker// This sample target shows how to use the perfetto client API from within the 48*6dbdd20aSAndroid Build Coastguard Worker// Android tree. 49*6dbdd20aSAndroid Build Coastguard Workercc_binary { 50*6dbdd20aSAndroid Build Coastguard Worker name: "libperfetto_client_example", 51*6dbdd20aSAndroid Build Coastguard Worker srcs: [ 52*6dbdd20aSAndroid Build Coastguard Worker "test/client_api_example.cc", 53*6dbdd20aSAndroid Build Coastguard Worker ], 54*6dbdd20aSAndroid Build Coastguard Worker static_libs: [ 55*6dbdd20aSAndroid Build Coastguard Worker "libperfetto_client_experimental", 56*6dbdd20aSAndroid Build Coastguard Worker "perfetto_trace_protos", 57*6dbdd20aSAndroid Build Coastguard Worker ], 58*6dbdd20aSAndroid Build Coastguard Worker shared_libs: [ 59*6dbdd20aSAndroid Build Coastguard Worker "libprotobuf-cpp-lite", 60*6dbdd20aSAndroid Build Coastguard Worker "liblog", 61*6dbdd20aSAndroid Build Coastguard Worker ], 62*6dbdd20aSAndroid Build Coastguard Worker cflags: [ 63*6dbdd20aSAndroid Build Coastguard Worker "-DGOOGLE_PROTOBUF_NO_RTTI", 64*6dbdd20aSAndroid Build Coastguard Worker "-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER", 65*6dbdd20aSAndroid Build Coastguard Worker ], 66*6dbdd20aSAndroid Build Coastguard Worker defaults: [ 67*6dbdd20aSAndroid Build Coastguard Worker "perfetto_defaults", 68*6dbdd20aSAndroid Build Coastguard Worker ], 69*6dbdd20aSAndroid Build Coastguard Worker} 70*6dbdd20aSAndroid Build Coastguard Worker 71*6dbdd20aSAndroid Build Coastguard Workercc_library_static { 72*6dbdd20aSAndroid Build Coastguard Worker name: "libstatslog_perfetto", 73*6dbdd20aSAndroid Build Coastguard Worker generated_sources: ["statslog_perfetto.cpp"], 74*6dbdd20aSAndroid Build Coastguard Worker generated_headers: ["statslog_perfetto.h"], 75*6dbdd20aSAndroid Build Coastguard Worker cflags: [ 76*6dbdd20aSAndroid Build Coastguard Worker "-Wall", 77*6dbdd20aSAndroid Build Coastguard Worker "-Werror", 78*6dbdd20aSAndroid Build Coastguard Worker ], 79*6dbdd20aSAndroid Build Coastguard Worker export_generated_headers: ["statslog_perfetto.h"], 80*6dbdd20aSAndroid Build Coastguard Worker shared_libs: [ 81*6dbdd20aSAndroid Build Coastguard Worker "libcutils", 82*6dbdd20aSAndroid Build Coastguard Worker "liblog", 83*6dbdd20aSAndroid Build Coastguard Worker "libstatssocket", 84*6dbdd20aSAndroid Build Coastguard Worker "libutils", 85*6dbdd20aSAndroid Build Coastguard Worker ], 86*6dbdd20aSAndroid Build Coastguard Worker} 87*6dbdd20aSAndroid Build Coastguard Worker 88*6dbdd20aSAndroid Build Coastguard Workergenrule { 89*6dbdd20aSAndroid Build Coastguard Worker name: "statslog_perfetto.h", 90*6dbdd20aSAndroid Build Coastguard Worker tools: ["stats-log-api-gen"], 91*6dbdd20aSAndroid Build Coastguard Worker cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_perfetto.h --module perfetto --namespace perfetto,android_internal", 92*6dbdd20aSAndroid Build Coastguard Worker out: [ 93*6dbdd20aSAndroid Build Coastguard Worker "statslog_perfetto.h", 94*6dbdd20aSAndroid Build Coastguard Worker ], 95*6dbdd20aSAndroid Build Coastguard Worker} 96*6dbdd20aSAndroid Build Coastguard Worker 97*6dbdd20aSAndroid Build Coastguard Workergenrule { 98*6dbdd20aSAndroid Build Coastguard Worker name: "statslog_perfetto.cpp", 99*6dbdd20aSAndroid Build Coastguard Worker tools: ["stats-log-api-gen"], 100*6dbdd20aSAndroid Build Coastguard Worker cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_perfetto.cpp --module perfetto --namespace perfetto,android_internal --importHeader statslog_perfetto.h", 101*6dbdd20aSAndroid Build Coastguard Worker out: [ 102*6dbdd20aSAndroid Build Coastguard Worker "statslog_perfetto.cpp", 103*6dbdd20aSAndroid Build Coastguard Worker ], 104*6dbdd20aSAndroid Build Coastguard Worker} 105*6dbdd20aSAndroid Build Coastguard Worker 106*6dbdd20aSAndroid Build Coastguard Workersh_binary { 107*6dbdd20aSAndroid Build Coastguard Worker name: "mm_events", 108*6dbdd20aSAndroid Build Coastguard Worker src: "tools/mm_events", 109*6dbdd20aSAndroid Build Coastguard Worker} 110*6dbdd20aSAndroid Build Coastguard Worker 111*6dbdd20aSAndroid Build Coastguard Workerpackage { 112*6dbdd20aSAndroid Build Coastguard Worker default_applicable_licenses: ["external_perfetto_license"], 113*6dbdd20aSAndroid Build Coastguard Worker} 114*6dbdd20aSAndroid Build Coastguard Worker 115*6dbdd20aSAndroid Build Coastguard Workerpython_library { 116*6dbdd20aSAndroid Build Coastguard Worker name: "perfetto-trace-processor-python", 117*6dbdd20aSAndroid Build Coastguard Worker srcs: [ 118*6dbdd20aSAndroid Build Coastguard Worker ":perfetto-trace-processor-python-srcs", 119*6dbdd20aSAndroid Build Coastguard Worker ":perfetto-trace-uri-resolver-python-srcs", 120*6dbdd20aSAndroid Build Coastguard Worker ], 121*6dbdd20aSAndroid Build Coastguard Worker data: [ 122*6dbdd20aSAndroid Build Coastguard Worker ":perfetto-trace-processor-python-data", 123*6dbdd20aSAndroid Build Coastguard Worker ], 124*6dbdd20aSAndroid Build Coastguard Worker libs: [ 125*6dbdd20aSAndroid Build Coastguard Worker "libprotobuf-python", 126*6dbdd20aSAndroid Build Coastguard Worker ], 127*6dbdd20aSAndroid Build Coastguard Worker host_supported: true, 128*6dbdd20aSAndroid Build Coastguard Worker} 129*6dbdd20aSAndroid Build Coastguard Worker 130*6dbdd20aSAndroid Build Coastguard Workerfilegroup { 131*6dbdd20aSAndroid Build Coastguard Worker name: "perfetto-trace-uri-resolver-python-srcs", 132*6dbdd20aSAndroid Build Coastguard Worker srcs: ["python/perfetto/trace_uri_resolver/*.py"], 133*6dbdd20aSAndroid Build Coastguard Worker path: "python", 134*6dbdd20aSAndroid Build Coastguard Worker} 135*6dbdd20aSAndroid Build Coastguard Worker 136*6dbdd20aSAndroid Build Coastguard Workerfilegroup { 137*6dbdd20aSAndroid Build Coastguard Worker name: "perfetto-trace-processor-python-srcs", 138*6dbdd20aSAndroid Build Coastguard Worker srcs: [ 139*6dbdd20aSAndroid Build Coastguard Worker "python/perfetto/common/*.py", 140*6dbdd20aSAndroid Build Coastguard Worker "python/perfetto/trace_processor/*.py", 141*6dbdd20aSAndroid Build Coastguard Worker ], 142*6dbdd20aSAndroid Build Coastguard Worker path: "python", 143*6dbdd20aSAndroid Build Coastguard Worker} 144*6dbdd20aSAndroid Build Coastguard Worker 145*6dbdd20aSAndroid Build Coastguard Workerfilegroup { 146*6dbdd20aSAndroid Build Coastguard Worker name: "perfetto-trace-processor-python-data", 147*6dbdd20aSAndroid Build Coastguard Worker srcs: ["python/perfetto/trace_processor/*.descriptor*"], 148*6dbdd20aSAndroid Build Coastguard Worker path: "python", 149*6dbdd20aSAndroid Build Coastguard Worker} 150*6dbdd20aSAndroid Build Coastguard Worker 151*6dbdd20aSAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of 152*6dbdd20aSAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect 153*6dbdd20aSAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct. 154*6dbdd20aSAndroid Build Coastguard Worker// 155*6dbdd20aSAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory. 156*6dbdd20aSAndroid Build Coastguard Worker// 157*6dbdd20aSAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses, 158*6dbdd20aSAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the 159*6dbdd20aSAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed. 160*6dbdd20aSAndroid Build Coastguard Worker// 161*6dbdd20aSAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private" 162*6dbdd20aSAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be 163*6dbdd20aSAndroid Build Coastguard Worker// used in the current project. 164*6dbdd20aSAndroid Build Coastguard Worker// See: http://go/android-license-faq 165*6dbdd20aSAndroid Build Coastguard Workerlicense { 166*6dbdd20aSAndroid Build Coastguard Worker name: "external_perfetto_license", 167*6dbdd20aSAndroid Build Coastguard Worker visibility: [":__subpackages__"], 168*6dbdd20aSAndroid Build Coastguard Worker license_kinds: [ 169*6dbdd20aSAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 170*6dbdd20aSAndroid Build Coastguard Worker "SPDX-license-identifier-BSD", 171*6dbdd20aSAndroid Build Coastguard Worker "SPDX-license-identifier-CC-BY", 172*6dbdd20aSAndroid Build Coastguard Worker ], 173*6dbdd20aSAndroid Build Coastguard Worker license_text: [ 174*6dbdd20aSAndroid Build Coastguard Worker "LICENSE", 175*6dbdd20aSAndroid Build Coastguard Worker ], 176*6dbdd20aSAndroid Build Coastguard Worker} 177*6dbdd20aSAndroid Build Coastguard Worker 178*6dbdd20aSAndroid Build Coastguard Workergensrcs { 179*6dbdd20aSAndroid Build Coastguard Worker name: "perfetto_trace_javastream_protos", 180*6dbdd20aSAndroid Build Coastguard Worker srcs: [ 181*6dbdd20aSAndroid Build Coastguard Worker ":perfetto_winscope_filegroup_proto", 182*6dbdd20aSAndroid Build Coastguard Worker ], 183*6dbdd20aSAndroid Build Coastguard Worker tools: [ 184*6dbdd20aSAndroid Build Coastguard Worker "aprotoc", 185*6dbdd20aSAndroid Build Coastguard Worker "protoc-gen-javastream", 186*6dbdd20aSAndroid Build Coastguard Worker "soong_zip", 187*6dbdd20aSAndroid Build Coastguard Worker ], 188*6dbdd20aSAndroid Build Coastguard Worker cmd: "mkdir -p $(genDir)/$(in) " + 189*6dbdd20aSAndroid Build Coastguard Worker "&& $(location aprotoc) " + 190*6dbdd20aSAndroid Build Coastguard Worker "--plugin=$(location protoc-gen-javastream) " + 191*6dbdd20aSAndroid Build Coastguard Worker "--javastream_opt=include_filter:perfetto.protos.TracePacket,perfetto.protos.ShellTransition,perfetto.protos.ShellHandlerMappings,perfetto.protos.ProtoLogMessage,perfetto.protos.ProtoLogViewerConfig,perfetto.protos.ShellHandlerMapping,perfetto.protos.ShellHandlerMappings,perfetto.protos.ProtoLogGroup,perfetto.protos.ProtoLogConfig,perfetto.protos.DataSourceConfig,perfetto.protos.InternedString,perfetto.protos.InternedData,perfetto.protos.ProtoLogLevel,perfetto.protos.TestEvent,perfetto.protos.TestEvent.TestPayload,perfetto.protos.TestConfig,perfetto.protos.TestConfig.DummyFields,perfetto.protos.WinscopeExtensionsImpl,perfetto.protos.InputMethodClientsTraceProto,perfetto.protos.InputMethodManagerServiceTraceProto,perfetto.protos.InputMethodServiceTraceProto,perfetto.protos.ViewCapture,perfetto.protos.WindowManagerConfig,perfetto.protos.WindowManagerTraceEntry " + 192*6dbdd20aSAndroid Build Coastguard Worker "--javastream_out=$(genDir)/$(in) " + 193*6dbdd20aSAndroid Build Coastguard Worker "-Iexternal/protobuf/src " + 194*6dbdd20aSAndroid Build Coastguard Worker "-Iexternal/perfetto " + 195*6dbdd20aSAndroid Build Coastguard Worker "-I . $(in) " + 196*6dbdd20aSAndroid Build Coastguard Worker "&& $(location soong_zip) " + 197*6dbdd20aSAndroid Build Coastguard Worker "-jar -o $(out) -C $(genDir)/$(in) -D $(genDir)/$(in)", 198*6dbdd20aSAndroid Build Coastguard Worker data: [ 199*6dbdd20aSAndroid Build Coastguard Worker ":libprotobuf-internal-protos", 200*6dbdd20aSAndroid Build Coastguard Worker ], 201*6dbdd20aSAndroid Build Coastguard Worker output_extension: "srcjar", 202*6dbdd20aSAndroid Build Coastguard Worker} 203*6dbdd20aSAndroid Build Coastguard Worker 204*6dbdd20aSAndroid Build Coastguard Workerjava_library { 205*6dbdd20aSAndroid Build Coastguard Worker name: "perfetto_winscope-lite", 206*6dbdd20aSAndroid Build Coastguard Worker proto: { 207*6dbdd20aSAndroid Build Coastguard Worker type: "lite", 208*6dbdd20aSAndroid Build Coastguard Worker include_dirs: ["external/protobuf/src"], 209*6dbdd20aSAndroid Build Coastguard Worker canonical_path_from_root: false, 210*6dbdd20aSAndroid Build Coastguard Worker }, 211*6dbdd20aSAndroid Build Coastguard Worker srcs: [ 212*6dbdd20aSAndroid Build Coastguard Worker ":libprotobuf-internal-descriptor-proto", 213*6dbdd20aSAndroid Build Coastguard Worker ":perfetto_winscope_filegroup_proto", 214*6dbdd20aSAndroid Build Coastguard Worker ], 215*6dbdd20aSAndroid Build Coastguard Worker static_libs: [ 216*6dbdd20aSAndroid Build Coastguard Worker "libprotobuf-java-lite", 217*6dbdd20aSAndroid Build Coastguard Worker ], 218*6dbdd20aSAndroid Build Coastguard Worker sdk_version: "current", 219*6dbdd20aSAndroid Build Coastguard Worker} 220*6dbdd20aSAndroid Build Coastguard Worker 221*6dbdd20aSAndroid Build Coastguard Workerjava_library { 222*6dbdd20aSAndroid Build Coastguard Worker name: "perfetto_config_java_protos_system_server_current", 223*6dbdd20aSAndroid Build Coastguard Worker srcs: [ 224*6dbdd20aSAndroid Build Coastguard Worker ":perfetto_config_filegroup_proto", 225*6dbdd20aSAndroid Build Coastguard Worker ], 226*6dbdd20aSAndroid Build Coastguard Worker static_libs: [ 227*6dbdd20aSAndroid Build Coastguard Worker "libprotobuf-java-lite", 228*6dbdd20aSAndroid Build Coastguard Worker ], 229*6dbdd20aSAndroid Build Coastguard Worker proto: { 230*6dbdd20aSAndroid Build Coastguard Worker type: "lite", 231*6dbdd20aSAndroid Build Coastguard Worker canonical_path_from_root: false, 232*6dbdd20aSAndroid Build Coastguard Worker }, 233*6dbdd20aSAndroid Build Coastguard Worker sdk_version: "system_server_current", 234*6dbdd20aSAndroid Build Coastguard Worker min_sdk_version: "35", 235*6dbdd20aSAndroid Build Coastguard Worker apex_available: [ 236*6dbdd20aSAndroid Build Coastguard Worker "com.android.profiling", 237*6dbdd20aSAndroid Build Coastguard Worker ], 238*6dbdd20aSAndroid Build Coastguard Worker} 239*6dbdd20aSAndroid Build Coastguard Worker 240*6dbdd20aSAndroid Build Coastguard Workerprebuilt_etc { 241*6dbdd20aSAndroid Build Coastguard Worker name: "perfetto_persistent_cfg.pbtxt", 242*6dbdd20aSAndroid Build Coastguard Worker filename: "persistent_cfg.pbtxt", 243*6dbdd20aSAndroid Build Coastguard Worker sub_dir: "perfetto", 244*6dbdd20aSAndroid Build Coastguard Worker src: "persistent_cfg.pbtxt", 245*6dbdd20aSAndroid Build Coastguard Worker} 246*6dbdd20aSAndroid Build Coastguard Worker 247*6dbdd20aSAndroid Build Coastguard Workerphony { 248*6dbdd20aSAndroid Build Coastguard Worker name: "perfetto-extras", 249*6dbdd20aSAndroid Build Coastguard Worker required: [ 250*6dbdd20aSAndroid Build Coastguard Worker "libperfetto_android_internal", 251*6dbdd20aSAndroid Build Coastguard Worker "mm_events", 252*6dbdd20aSAndroid Build Coastguard Worker "traced_perf", 253*6dbdd20aSAndroid Build Coastguard Worker "trigger_perfetto", 254*6dbdd20aSAndroid Build Coastguard Worker ], 255*6dbdd20aSAndroid Build Coastguard Worker} 256*6dbdd20aSAndroid Build Coastguard Worker 257*6dbdd20aSAndroid Build Coastguard Workerfilegroup { 258*6dbdd20aSAndroid Build Coastguard Worker name: "heap_profile", 259*6dbdd20aSAndroid Build Coastguard Worker srcs: [ 260*6dbdd20aSAndroid Build Coastguard Worker "tools/heap_profile", 261*6dbdd20aSAndroid Build Coastguard Worker ], 262*6dbdd20aSAndroid Build Coastguard Worker} 263