move config pb <> txt into src/trace_config_utils

I'm extracting a library that can deal with txt<>pb conversion
for the TraceConfig. I'm planning to expose this in wasm and use
it in the Record UI, to get rid of a lot of hacks that try to
replicate the same logic in typescript.

Bug: 377651301
Change-Id: Ia9771603b8fd875f3fe9417f0d79b27ded58d826
diff --git a/Android.bp b/Android.bp
index 5d85a3d..d6e26f4 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1233,11 +1233,11 @@
         ":perfetto_src_ipc_client",
         ":perfetto_src_ipc_common",
         ":perfetto_src_perfetto_cmd_bugreport_path",
-        ":perfetto_src_perfetto_cmd_pbtxt_to_pb",
         ":perfetto_src_perfetto_cmd_perfetto_cmd",
         ":perfetto_src_perfetto_cmd_protos_cpp_gen",
         ":perfetto_src_perfetto_cmd_trigger_producer",
         ":perfetto_src_protozero_protozero",
+        ":perfetto_src_trace_config_utils_txt_to_pb",
         ":perfetto_src_tracing_common",
         ":perfetto_src_tracing_core_core",
         ":perfetto_src_tracing_ipc_common",
@@ -1303,8 +1303,8 @@
         "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
         "perfetto_protos_perfetto_trace_translation_zero_gen_headers",
         "perfetto_src_base_version_gen_h",
-        "perfetto_src_perfetto_cmd_gen_cc_config_descriptor",
         "perfetto_src_perfetto_cmd_protos_cpp_gen_headers",
+        "perfetto_src_trace_config_utils_gen_cc_config_descriptor",
     ],
     defaults: [
         "perfetto_defaults",
@@ -11218,29 +11218,6 @@
     name: "perfetto_src_perfetto_cmd_bugreport_path",
 }
 
-// GN: //src/perfetto_cmd:gen_cc_config_descriptor
-genrule {
-    name: "perfetto_src_perfetto_cmd_gen_cc_config_descriptor",
-    srcs: [
-        ":perfetto_protos_perfetto_config_descriptor",
-    ],
-    cmd: "$(location tools/gen_cc_proto_descriptor.py) --gen_dir=$(genDir) --cpp_out=$(out) $(in)",
-    out: [
-        "src/perfetto_cmd/config.descriptor.h",
-    ],
-    tool_files: [
-        "tools/gen_cc_proto_descriptor.py",
-    ],
-}
-
-// GN: //src/perfetto_cmd:pbtxt_to_pb
-filegroup {
-    name: "perfetto_src_perfetto_cmd_pbtxt_to_pb",
-    srcs: [
-        "src/perfetto_cmd/pbtxt_to_pb.cc",
-    ],
-}
-
 // GN: //src/perfetto_cmd:perfetto_cmd
 filegroup {
     name: "perfetto_src_perfetto_cmd_perfetto_cmd",
@@ -11318,7 +11295,6 @@
     srcs: [
         "src/perfetto_cmd/config_unittest.cc",
         "src/perfetto_cmd/packet_writer_unittest.cc",
-        "src/perfetto_cmd/pbtxt_to_pb_unittest.cc",
     ],
 }
 
@@ -12264,6 +12240,46 @@
     ],
 }
 
+// GN: //src/trace_config_utils:gen_cc_config_descriptor
+genrule {
+    name: "perfetto_src_trace_config_utils_gen_cc_config_descriptor",
+    srcs: [
+        ":perfetto_protos_perfetto_config_descriptor",
+    ],
+    cmd: "$(location tools/gen_cc_proto_descriptor.py) --gen_dir=$(genDir) --cpp_out=$(out) $(in)",
+    out: [
+        "src/trace_config_utils/config.descriptor.h",
+    ],
+    tool_files: [
+        "tools/gen_cc_proto_descriptor.py",
+    ],
+}
+
+// GN: //src/trace_config_utils:pb_to_txt
+filegroup {
+    name: "perfetto_src_trace_config_utils_pb_to_txt",
+    srcs: [
+        "src/trace_config_utils/pb_to_txt.cc",
+    ],
+}
+
+// GN: //src/trace_config_utils:txt_to_pb
+filegroup {
+    name: "perfetto_src_trace_config_utils_txt_to_pb",
+    srcs: [
+        "src/trace_config_utils/txt_to_pb.cc",
+    ],
+}
+
+// GN: //src/trace_config_utils:unittests
+filegroup {
+    name: "perfetto_src_trace_config_utils_unittests",
+    srcs: [
+        "src/trace_config_utils/pb_to_txt_unittest.cc",
+        "src/trace_config_utils/txt_to_pb_unittest.cc",
+    ],
+}
+
 // GN: //src/trace_processor/containers:containers
 filegroup {
     name: "perfetto_src_trace_processor_containers_containers",
@@ -15593,7 +15609,6 @@
         ":perfetto_src_kernel_utils_syscall_table",
         ":perfetto_src_kernel_utils_unittests",
         ":perfetto_src_perfetto_cmd_bugreport_path",
-        ":perfetto_src_perfetto_cmd_pbtxt_to_pb",
         ":perfetto_src_perfetto_cmd_perfetto_cmd",
         ":perfetto_src_perfetto_cmd_protos_cpp_gen",
         ":perfetto_src_perfetto_cmd_trigger_producer",
@@ -15645,6 +15660,9 @@
         ":perfetto_src_protozero_unittests",
         ":perfetto_src_shared_lib_intern_map",
         ":perfetto_src_shared_lib_unittests",
+        ":perfetto_src_trace_config_utils_pb_to_txt",
+        ":perfetto_src_trace_config_utils_txt_to_pb",
+        ":perfetto_src_trace_config_utils_unittests",
         ":perfetto_src_trace_processor_containers_containers",
         ":perfetto_src_trace_processor_containers_unittests",
         ":perfetto_src_trace_processor_db_column_column",
@@ -15963,7 +15981,6 @@
         "perfetto_src_base_version_gen_h",
         "perfetto_src_ipc_test_messages_cpp_gen_headers",
         "perfetto_src_ipc_test_messages_ipc_gen_headers",
-        "perfetto_src_perfetto_cmd_gen_cc_config_descriptor",
         "perfetto_src_perfetto_cmd_protos_cpp_gen_headers",
         "perfetto_src_protozero_testing_messages_cpp_gen_headers",
         "perfetto_src_protozero_testing_messages_lite_gen_headers",
@@ -15974,6 +15991,7 @@
         "perfetto_src_protozero_testing_messages_subpackage_lite_gen_headers",
         "perfetto_src_protozero_testing_messages_subpackage_zero_gen_headers",
         "perfetto_src_protozero_testing_messages_zero_gen_headers",
+        "perfetto_src_trace_config_utils_gen_cc_config_descriptor",
         "perfetto_src_trace_processor_gen_cc_test_messages_descriptor",
         "perfetto_src_trace_processor_importers_proto_gen_cc_android_track_event_descriptor",
         "perfetto_src_trace_processor_importers_proto_gen_cc_chrome_track_event_descriptor",