)]}'
{
  "commit": "9a9819efe30f571dda70302ebe7acca5d4f63bdf",
  "tree": "a1a65b649fc93258be12e8964f9be9d4a0f23391",
  "parents": [
    "e879524f2986d9b75488855aa938013db2cda4ea"
  ],
  "author": {
    "name": "Régis Desgroppes",
    "email": "rdesgroppes@gmail.com",
    "time": "Mon Nov 10 14:18:59 2025 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Nov 10 14:18:59 2025 +0100"
  },
  "message": "buildifier: decouple runner scripts from binaries (#1398)\n\nThis change aims at making `buildtools/buildifier` more modular and\neasier to consume by enabling use of prebuilt binaries without pulling\nin unnecessary dependencies - while strengthening upstream as the\nauthoritative home for runner script templates.\n\nToday, `buildifier/BUILD.bazel` exposes two different sets of rules:\n- exports for runner script templates (`runner.bash.template`,\n  `runner.bat.template`) as well as `README.md`,\n- `go` build \u0026 `sh` test rules which require external repos (`rules_go`,\n  `rules_shell`) even for consumers who don\u0027t need to build the\n  `buildifier` binary.\n\nIt is worth noticing there are two distinct community efforts on runner\nscripts, the present/upstream `bazelbuild/buildtools` and the derived\n`keith/buildifier-prebuilt` (Bazel Central Registry module).\nThese drift apart over time, leading to unsynchronized contents\n(`factory.bzl`, `runner.bash.template`) and efforts, e.g. on Windows\nsupport:\n- https://github.com/bazelbuild/buildtools/pull/1230\n- https://github.com/keith/buildifier-prebuilt/pull/89 (open for a year)\n\nIntended benefits of this change:\n- decoupling: by moving `go_binary` and `sh_test` targets into\n  `buildifier/cmd`, the top-level `buildifier/BUILD.bazel` no longer\n  requires `rules_go` nor `rules_shell`,\n- flexibility: users can either build binaries from source (via\n  `//buildifier/cmd`) or configure rules to use prebuilt binaries (e.g.\n  via `multitool`) while still consuming the same upstream runner script\n  templates,\n- backward compatibility: aliases keep `//buildifier:buildifier*`\n  working by delegating to `//buildifier/cmd:buildifier*`.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d92f4782afc9c4882338f4bb1d41875355a40a78",
      "old_mode": 33188,
      "old_path": ".bazelci/presubmit.yml",
      "new_id": "77bd3790f41e1de00ea98cb1fdb2036021094f98",
      "new_mode": 33188,
      "new_path": ".bazelci/presubmit.yml"
    },
    {
      "type": "modify",
      "old_id": "bc2fc5a8a140ac7c9142013eb5ea5e61b205a0af",
      "old_mode": 33188,
      "old_path": "BUILD.bazel",
      "new_id": "80bb5326dc4fc80128bd94d21f0c2efd6911a60e",
      "new_mode": 33188,
      "new_path": "BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "5bf6338e98c0672e870b5572a37f2138c4b63d5e",
      "old_mode": 33188,
      "old_path": "buildifier/BUILD.bazel",
      "new_id": "3a282f2dcf56f66e884b9061472567a8b72ea9ef",
      "new_mode": 33188,
      "new_path": "buildifier/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6b303e28ec99d22ee7dd734357ca5f445b35db88",
      "new_mode": 33188,
      "new_path": "buildifier/cmd/BUILD.bazel"
    },
    {
      "type": "rename",
      "old_id": "60124fc2b21d65421d284ec3a1ceedff106e3bbd",
      "old_mode": 33188,
      "old_path": "buildifier/buildifier.go",
      "new_id": "60124fc2b21d65421d284ec3a1ceedff106e3bbd",
      "new_mode": 33188,
      "new_path": "buildifier/cmd/buildifier.go",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "0b28a4d7d4a1042e9e2e3192d463152d7f1e3673",
      "old_mode": 33261,
      "old_path": "buildifier/integration_test.sh",
      "new_id": "0b28a4d7d4a1042e9e2e3192d463152d7f1e3673",
      "new_mode": 33261,
      "new_path": "buildifier/cmd/integration_test.sh",
      "score": 100
    },
    {
      "type": "modify",
      "old_id": "070d756054b97bca51deba7687c389c01632902d",
      "old_mode": 33188,
      "old_path": "buildifier/config/BUILD.bazel",
      "new_id": "9254f83e40a0b175e960f99dd7b09407d46c27e1",
      "new_mode": 33188,
      "new_path": "buildifier/config/BUILD.bazel"
    }
  ]
}
