blob: 52da88e68ed4f26b8375a518ec7387b6217d3228 [file] [edit]
import("../../../../gn/perfetto.gni")
import("../../../../gn/perfetto_android_sdk.gni")
assert(enable_perfetto_android_java_sdk)
perfetto_android_library("perfetto_trace_test_lib") {
sources = [ "dev/perfetto/sdk/test/PerfettoTraceTest.java" ]
testonly = true
deps = [
"../../../../gn:android_test_common",
"../main:perfetto_trace_lib",
]
manifest = "AndroidTestManifest.xml"
}
perfetto_android_app("perfetto_trace_test_app") {
deps = [ ":perfetto_trace_test_lib" ]
manifest = "AndroidTestManifest.xml"
testonly = true
}
perfetto_android_instrumentation_test("perfetto_trace_instrumentation_test") {
app = "../main:perfetto_trace_app"
test_app = ":perfetto_trace_test_app"
android_bp_test_manifest = "AndroidSelfInstrumentTestManifest.xml"
android_bp_test_config = "PerfettoAndroidSdkTest.xml"
testonly = true
}
# Java sources for the perfetto protos PerfettoTraceTest imports.
# protoc follows the transitive imports from these roots (~250 .proto
# files under protos/perfetto/) at build time. Output is a stamp file
# because Java codegen filenames vary per .proto; consumers glob the
# output directory for *.java. Used by tools/run_android_sdk_host_test
# on host; AOSP / device builds get the equivalent codegen from
# perfetto_trace_java_protos via Soong/Bazel.
action("perfetto_test_java_protos") {
testonly = true
_protoc_label = "../../../../gn:protoc($host_toolchain)"
_protoc = get_label_info(_protoc_label, "root_out_dir") + "/protoc"
_proto_path = rebase_path("../../../..", root_build_dir)
stamp_file = "$target_gen_dir/.$target_name.stamp"
script = "../../../../gn/standalone/run_java_protoc.py"
sources = [
"../../../../protos/perfetto/config/trace_config.proto",
"../../../../protos/perfetto/config/track_event/track_event_config.proto",
"../../../../protos/perfetto/trace/interned_data/interned_data.proto",
"../../../../protos/perfetto/trace/trace.proto",
"../../../../protos/perfetto/trace/trace_packet.proto",
"../../../../protos/perfetto/trace/track_event/chrome_latency_info.proto",
"../../../../protos/perfetto/trace/track_event/debug_annotation.proto",
"../../../../protos/perfetto/trace/track_event/source_location.proto",
"../../../../protos/perfetto/trace/track_event/track_descriptor.proto",
"../../../../protos/perfetto/trace/track_event/track_event.proto",
]
inputs = [ _protoc ]
deps = [ _protoc_label ]
outputs = [ stamp_file ]
args = [
"--protoc",
"./" + rebase_path(_protoc, root_build_dir),
"--proto-path",
_proto_path,
"--java-out",
rebase_path(target_gen_dir, root_build_dir),
"--stamp",
rebase_path(stamp_file, root_build_dir),
] + rebase_path(sources, "../../../..")
}