)]}'
{
  "commit": "dfb727919e4ca51658f5dda355115e861f277a22",
  "tree": "d6e98a1193ce9f14940fa14ebf80ccc9037b20ff",
  "parents": [
    "6327f54df3a230e312a78e32f3a7aec8ed9882ce"
  ],
  "author": {
    "name": "David Reveman",
    "email": "reveman@meta.com",
    "time": "Mon May 18 08:30:51 2026 -0700"
  },
  "committer": {
    "name": "David Reveman",
    "email": "reveman@meta.com",
    "time": "Mon May 18 08:30:51 2026 -0700"
  },
  "message": "sdk: add per-domain trace deps to non_minimal_extras for cpp SDK\n\ntools/test_gen_amalgamated.py was failing: the amalgamated --sdk cpp\nbuild of test/client_api_example.cc errored with `incomplete type\n\u0027GpuCounterEvent\u0027` when calling packet-\u003eset_gpu_counter_event().\n\nThe cpp SDK is generated from default_targets including\n//protos/perfetto/trace:zero (the full :zero group). Earlier in this\nstack I removed the per-domain trace deps from\n:non_minimal_core_@TYPE@ to keep them out of the C SDK closure, but\nthat also removed them from the trace:zero group\u0027s transitive\nclosure — breaking the cpp SDK which needs all per-domain pbzero\nclasses available.\n\nRe-add them on :non_minimal_extras_@TYPE@. The C SDK closure goes\nthrough trace:zero_minimal -\u003e :non_minimal_core_@TYPE@ (no extras),\nso the per-domain deps don\u0027t leak into //src/shared_lib\u0027s transitive\nset. trace:zero (used by the cpp SDK) goes through :non_minimal_zero\n-\u003e :non_minimal_extras_@TYPE@ -\u003e per-domain, so the cpp SDK gets\nthem.\n\nVerified locally:\n  - tools/test_gen_amalgamated.py passes\n  - tools/bazel build //:all //python:all passes\n  - C SDK source size unchanged: 5,618,487 bytes (0 leaks)\n  - tools/run_presubmit clean\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e4885c36516174d3666636eaac8c2d2b5b350a95",
      "old_mode": 33188,
      "old_path": "Android.bp",
      "new_id": "56d3f87d0dc2a7b9399b8c34753e2040cf7436ad",
      "new_mode": 33188,
      "new_path": "Android.bp"
    },
    {
      "type": "modify",
      "old_id": "60c908b78990e901a602ff7e88ed9cefa76c7059",
      "old_mode": 33188,
      "old_path": "BUILD",
      "new_id": "4afb99bc8c095e919d511a84dcfdb869b2750d23",
      "new_mode": 33188,
      "new_path": "BUILD"
    },
    {
      "type": "modify",
      "old_id": "0bd569eece7f92cfca752b147920ad80a60c723e",
      "old_mode": 33188,
      "old_path": "protos/perfetto/trace/BUILD.gn",
      "new_id": "a6c55f686d574396c4e1fafa972d041d0a515f43",
      "new_mode": 33188,
      "new_path": "protos/perfetto/trace/BUILD.gn"
    }
  ]
}
