traced: Do not include service.cc in unittests

Today we have a single target: //src/traced/service:service, which has
two .cc files: service.cc and builtin_producer.cc.

builtin_producer_unittest.cc depend on this target, but they just need
builtin_producer.cc, not service.cc.

Including service.cc in unittests might actually be a problem in a
future CL, because service.cc might include dependencies that we don't
want or need in unittests.

Change-Id: Ieb8f10605c56278486ce446f6dd1843af4e067b9
diff --git a/Android.bp b/Android.bp
index 5a23a79..f81668a 100644
--- a/Android.bp
+++ b/Android.bp
@@ -608,6 +608,7 @@
         ":perfetto_src_traced_probes_statsd_client_statsd_client",
         ":perfetto_src_traced_probes_sys_stats_sys_stats",
         ":perfetto_src_traced_probes_system_info_system_info",
+        ":perfetto_src_traced_service_builtin_producer",
         ":perfetto_src_traced_service_service",
         ":perfetto_src_tracing_common",
         ":perfetto_src_tracing_core_core",
@@ -14748,11 +14749,18 @@
     ],
 }
 
+// GN: //src/traced/service:builtin_producer
+filegroup {
+    name: "perfetto_src_traced_service_builtin_producer",
+    srcs: [
+        "src/traced/service/builtin_producer.cc",
+    ],
+}
+
 // GN: //src/traced/service:service
 filegroup {
     name: "perfetto_src_traced_service_service",
     srcs: [
-        "src/traced/service/builtin_producer.cc",
         "src/traced/service/service.cc",
     ],
 }
@@ -15796,7 +15804,7 @@
         ":perfetto_src_traced_probes_unittests",
         ":perfetto_src_traced_relay_lib",
         ":perfetto_src_traced_relay_unittests",
-        ":perfetto_src_traced_service_service",
+        ":perfetto_src_traced_service_builtin_producer",
         ":perfetto_src_traced_service_unittests",
         ":perfetto_src_tracing_client_api_without_backends",
         ":perfetto_src_tracing_common",
@@ -15808,7 +15816,6 @@
         ":perfetto_src_tracing_ipc_default_socket",
         ":perfetto_src_tracing_ipc_producer_producer",
         ":perfetto_src_tracing_ipc_producer_relay",
-        ":perfetto_src_tracing_ipc_service_service",
         ":perfetto_src_tracing_ipc_unittests",
         ":perfetto_src_tracing_platform_impl",
         ":perfetto_src_tracing_service_service",
diff --git a/BUILD b/BUILD
index e97c280..915c20c 100644
--- a/BUILD
+++ b/BUILD
@@ -644,6 +644,7 @@
         ":src_protozero_filtering_bytecode_parser",
         ":src_protozero_filtering_message_filter",
         ":src_protozero_filtering_string_filter",
+        ":src_traced_service_builtin_producer",
         ":src_traced_service_service",
         ":src_tracing_common",
         ":src_tracing_core_core",
@@ -4024,12 +4025,19 @@
     ],
 )
 
+# GN target: //src/traced/service:builtin_producer
+perfetto_filegroup(
+    name = "src_traced_service_builtin_producer",
+    srcs = [
+        "src/traced/service/builtin_producer.cc",
+        "src/traced/service/builtin_producer.h",
+    ],
+)
+
 # GN target: //src/traced/service:service
 perfetto_filegroup(
     name = "src_traced_service_service",
     srcs = [
-        "src/traced/service/builtin_producer.cc",
-        "src/traced/service/builtin_producer.h",
         "src/traced/service/service.cc",
     ],
 )
diff --git a/src/traced/service/BUILD.gn b/src/traced/service/BUILD.gn
index 24126e7..9d91e25 100644
--- a/src/traced/service/BUILD.gn
+++ b/src/traced/service/BUILD.gn
@@ -39,8 +39,8 @@
     "../../../include/perfetto/tracing",
   ]
   deps = [
+    ":builtin_producer",
     "../../../gn:default_deps",
-    "../../../protos/perfetto/config/android:zero",
     "../../base",
     "../../base:version",
     "../../tracing/core",
@@ -51,17 +51,32 @@
     deps += [ "../../tracing/service:zlib_compressor" ]
   }
 
+  sources = [ "service.cc" ]
+}
+
+source_set("builtin_producer") {
+  public_deps = [
+    "../../../include/perfetto/ext/traced",
+    "../../../include/perfetto/tracing",
+  ]
+  deps = [
+    "../../../gn:default_deps",
+    "../../../protos/perfetto/config/android:zero",
+    "../../base",
+    "../../tracing/core",
+    "../../tracing/service:service",
+  ]
+
   sources = [
     "builtin_producer.cc",
     "builtin_producer.h",
-    "service.cc",
   ]
 }
 
 perfetto_unittest_source_set("unittests") {
   testonly = true
   deps = [
-    ":service",
+    ":builtin_producer",
     "../../../gn:default_deps",
     "../../../gn:gtest_and_gmock",
     "../../../protos/perfetto/config/android:cpp",