)]}'
{
  "commit": "7fb2bde0fb988e41e137332b2cee1d65b21bdc71",
  "tree": "469cdca71554f21adf067bf7ed41fe662909002a",
  "parents": [
    "136dc5cbd011fe5efe053dd291cd23148d424e7d"
  ],
  "author": {
    "name": "ericsalo",
    "email": "93227906+ericsalo@users.noreply.github.com",
    "time": "Thu Jul 16 02:19:09 2026 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jul 16 07:19:09 2026 +0000"
  },
  "message": "Add dedicated load files for go_binary(), go_library(), go_test() (#4655)\n\nas alternates to def.bzl. This tremendously simplifies migration to and\nfrom other environments which expect the same separation and brings Go\nin line with common practice for other languages (for example,\nrules_python does this).\n\n**What type of PR is this?**\n\nFeature\n\n**What does this PR do? Why is it needed?**\n\nIt\u0027s a nice quality-of-life for amphibian developers.\ngo_binary() and go_library() and go_test() now each have their own\nseparate .bzl files (in addition to def.bzl).\n\n**Which issues(s) does this PR fix?**\n\nFixes #4654\n\n**Other notes for review**\n\nThese are all just one-liners which happen to wrap the same functions in\ngo/private/ that are already wrapped by def.bzl, so they are a parallel\n(if trivial) code path. We could also be slightly more intrusive by\ndefining them to be the new SoT and redirecting def.bzl to point to them\ninstead.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f582021b6902748a12d2e3054b0d50c7d7727464",
      "old_mode": 33188,
      "old_path": "go/BUILD.bazel",
      "new_id": "db6ea0d45e2008d94f1488f703d7433596ece524",
      "new_mode": 33188,
      "new_path": "go/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "9b3719fed7dccf6eed65e5bdeb50d266faf9e73e",
      "old_mode": 33188,
      "old_path": "go/def.bzl",
      "new_id": "9fd1945357de08fe7e046b97fbc0ad86359c9a0a",
      "new_mode": 33188,
      "new_path": "go/def.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5af364820f05ebf6dc2ef977c472bb89d00addda",
      "new_mode": 33188,
      "new_path": "go/go_binary.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e104db95bb915a7ba039a93945a4b12f924e72dd",
      "new_mode": 33188,
      "new_path": "go/go_library.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "05c83e2a640f699587bc7d63980adc5a4dcb5ad4",
      "new_mode": 33188,
      "new_path": "go/go_test.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7b0ce78a6753846b235e0c2979e9d684d076185d",
      "new_mode": 33188,
      "new_path": "tests/core/entry_points/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9053184badd32a2adbcddac7ed052f58d899cfc8",
      "new_mode": 33188,
      "new_path": "tests/core/entry_points/entry_bin.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "65519832bbfd8b995548dbcd4ce46d2f956b7654",
      "new_mode": 33188,
      "new_path": "tests/core/entry_points/entry_lib.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "111fb4abdddae13985436c2c05b7faa55c21f0f1",
      "new_mode": 33188,
      "new_path": "tests/core/entry_points/entry_test.go"
    }
  ]
}
