Simplify proto descriptor rules
Remove a couple of unnecessary path mangling steps and
fix ftrace.descriptor generation to be in the correct place.
Bug: 139319295
Change-Id: I7165ee70f8051ef50c511e17c3dbf47986ec1f1a
diff --git a/BUILD.gn b/BUILD.gn
index b14cf0c..beee2f9 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -81,6 +81,9 @@
# The diff testing framework depends on these descriptors.
"protos/perfetto/metrics:descriptor",
"protos/perfetto/trace:descriptor",
+
+ # Used in the when updating the ftrace protos
+ "protos/perfetto/trace/ftrace:descriptor",
]
if (is_linux || is_android) {
deps += [ "tools/busy_threads" ]
diff --git a/gn/standalone/proto_library.gni b/gn/standalone/proto_library.gni
index f79ae07..0180b2b 100644
--- a/gn/standalone/proto_library.gni
+++ b/gn/standalone/proto_library.gni
@@ -78,7 +78,7 @@
protogens = []
if (generate_descriptor != "") {
- protogens += [ "$root_gen_dir/" + generate_descriptor ]
+ protogens += [ "$target_gen_dir/" + generate_descriptor ]
}
foreach(proto, protos) {
@@ -144,14 +144,13 @@
]
}
if (generate_descriptor != "") {
- depfile = "$target_gen_dir/" +
- rebase_path("$generate_descriptor.d", root_gen_dir)
+ depfile = "$target_gen_dir/$generate_descriptor.d"
args += [
"--include_imports",
"--descriptor_set_out",
- rebase_path("$root_gen_dir/" + generate_descriptor, root_build_dir),
+ rebase_path("$target_gen_dir/$generate_descriptor", root_build_dir),
"--dependency_out",
- rebase_path("$root_gen_dir/$generate_descriptor.d", root_build_dir),
+ rebase_path(depfile, root_build_dir),
]
}
diff --git a/protos/perfetto/metrics/BUILD.gn b/protos/perfetto/metrics/BUILD.gn
index b2d7644..3d3e61d 100644
--- a/protos/perfetto/metrics/BUILD.gn
+++ b/protos/perfetto/metrics/BUILD.gn
@@ -13,9 +13,9 @@
# limitations under the License.
import("../../../gn/perfetto.gni")
+import("../../../gn/proto_descriptor.gni")
import("../../../gn/proto_library.gni")
import("../../../gn/protozero_library.gni")
-import("../../../gn/proto_descriptor.gni")
common_sources = [ "metrics.proto" ]
@@ -44,7 +44,6 @@
proto_in_dir = "$perfetto_root_path/protos"
proto_out_dir = "$perfetto_root_path/protos"
sources = common_sources
- generate_descriptor =
- "$perfetto_root_path/protos/perfetto/metrics/metrics.descriptor"
+ generate_descriptor = "metrics.descriptor"
}
}
diff --git a/protos/perfetto/trace/BUILD.gn b/protos/perfetto/trace/BUILD.gn
index 8c6934a..0d840d9 100644
--- a/protos/perfetto/trace/BUILD.gn
+++ b/protos/perfetto/trace/BUILD.gn
@@ -86,7 +86,7 @@
sources = [
"trace.proto",
]
- generate_descriptor = "$perfetto_root_path/protos/trace/trace.descriptor"
+ generate_descriptor = "trace.descriptor"
proto_in_dir = "$perfetto_root_path/protos"
proto_out_dir = "$perfetto_root_path/protos"
}
diff --git a/protos/perfetto/trace/ftrace/BUILD.gn b/protos/perfetto/trace/ftrace/BUILD.gn
index d6b4170..6281aa9 100644
--- a/protos/perfetto/trace/ftrace/BUILD.gn
+++ b/protos/perfetto/trace/ftrace/BUILD.gn
@@ -13,8 +13,8 @@
# limitations under the License.
import("../../../../gn/perfetto.gni")
-import("../../../../gn/protozero_library.gni")
import("../../../../gn/proto_descriptor.gni")
+import("../../../../gn/protozero_library.gni")
import("all_protos.gni")
proto_library("lite") {
@@ -33,9 +33,10 @@
if (perfetto_build_standalone) {
proto_descriptor("descriptor") {
- generate_descriptor =
- "$perfetto_root_path/protos/perfetto/trace/ftrace.descriptor"
- sources = ftrace_proto_names
+ generate_descriptor = "ftrace.descriptor"
+ sources = [
+ "ftrace_event_bundle.proto",
+ ]
proto_in_dir = "$perfetto_root_path/protos"
proto_out_dir = "$perfetto_root_path/protos"
}
diff --git a/tools/diff_test_trace_processor.py b/tools/diff_test_trace_processor.py
index 627bc7d..ed72f65 100755
--- a/tools/diff_test_trace_processor.py
+++ b/tools/diff_test_trace_processor.py
@@ -150,7 +150,7 @@
else:
out_path = os.path.dirname(args.trace_processor)
trace_protos_path = os.path.join(
- out_path, 'gen', 'protos', 'trace')
+ out_path, 'gen', 'protos', 'perfetto', 'trace')
trace_descriptor_path = os.path.join(trace_protos_path, 'trace.descriptor')
if args.metrics_descriptor:
diff --git a/tools/run_ftrace_proto_gen b/tools/run_ftrace_proto_gen
index 3e9141f..c8e9ca7 100755
--- a/tools/run_ftrace_proto_gen
+++ b/tools/run_ftrace_proto_gen
@@ -16,7 +16,7 @@
fi
fi
-DESCRIPTOR='gen/protos/perfetto/trace/ftrace.descriptor'
+DESCRIPTOR='gen/protos/perfetto/trace/ftrace/ftrace.descriptor'
"$DIR/ninja" -C "$BUILDDIR" ftrace_proto_gen $DESCRIPTOR
# FIXME(fmayer): make ftrace_proto_gen independent of cwd.