)]}'
{
  "commit": "3b77a8047904c7a0c3de0614649d385d0990fc75",
  "tree": "2a4cbd1dee21153e848401fd4f97a27d3eaa5b05",
  "parents": [
    "a12e970cdfd722f4957cb25cc5e212634408be57"
  ],
  "author": {
    "name": "Joshua Haberman",
    "email": "haberman@google.com",
    "time": "Mon Nov 02 15:02:38 2026 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Nov 03 09:55:59 2026 -0800"
  },
  "message": "Enable structured path mapping in proto_common.compile and cc_proto_library.\n\n1. In proto_common.bzl:\n   - Compute -I import directory flags lazily at execution time by mapping over\n     proto_info.transitive_sources (depset[File]) with uniquify\u003dTrue instead of\n     proto_info.transitive_proto_path (depset[str]), deriving each file\u0027s import\n     root via its File.path and _get_import_path(file).\n   - When output_files \u003d\u003d \"multiple\", compute the output directory lazily via\n     map_each over generated_files[:1] so that the output root is path-mapped at\n     execution time rather than converted to a string at analysis time.\n\n2. In google/cc_proto_library.bzl:\n   - Pass generator/plugin options via --cpp_opt / --cc_opt and delegate the\n     output directory flag (--cpp_out / --cc_out) to proto_common.compile with\n     output_files \u003d \"multiple\", removing _build_proto_arg, _format_proto_opt,\n     and _proto_output_root.\n\nPiperOrigin-RevId: 1012476453\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0ea76b418c5d4a2576dc69e5a0dece26b391fce5",
      "old_mode": 33188,
      "old_path": "bazel/common/proto_common.bzl",
      "new_id": "77aaa69e64e6bda3a47fbae736e9f4fe5269f21f",
      "new_mode": 33188,
      "new_path": "bazel/common/proto_common.bzl"
    },
    {
      "type": "modify",
      "old_id": "65889bc96d1357bb28b9f60ad5ab5a66d120b873",
      "old_mode": 33188,
      "old_path": "bazel/tests/proto_common_compile_tests.bzl",
      "new_id": "fe5c9310b1446229b65b0d7ddaecee1483b61dd3",
      "new_mode": 33188,
      "new_path": "bazel/tests/proto_common_compile_tests.bzl"
    },
    {
      "type": "modify",
      "old_id": "fe8683815de3156f1a916ad8034e2f033a3d7312",
      "old_mode": 33188,
      "old_path": "bazel/tests/testdata/compile_rule.bzl",
      "new_id": "3fb43c1b4e0b57cf35f48b39f809228812bb1240",
      "new_mode": 33188,
      "new_path": "bazel/tests/testdata/compile_rule.bzl"
    }
  ]
}
