)]}'
{
  "commit": "774491d949e05f3d6157f6714f44003f7884f131",
  "tree": "1abfe854bcf63619905bc3a5b1f9c3e8327b0d9b",
  "parents": [
    "3f9b913f7c0ed091530b8bb40d664d27c9c3d5f8"
  ],
  "author": {
    "name": "Thomas Dräbing",
    "email": "thomas.draebing@sap.com",
    "time": "Tue Dec 16 10:44:44 2025 +0100"
  },
  "committer": {
    "name": "David Ostrovsky",
    "email": "david@ostrovsky.org",
    "time": "Thu May 21 05:50:58 2026 +0200"
  },
  "message": "Move plugin UI macros to bazlets and align minification with Gerrit core\n\nMove the frontend plugin build macros to bazlets so that the same build\nlogic is shared between Gerrit core and external plugins. The new file\njs/private/plugin.bzl carries both:\n\n  - gerrit_js_bundle, for Rollup-bundled plugins that ship a .jar\n    archive with the IIFE bundle inside.\n  - polygerrit_plugin, for single-source plugins that want minified\n    JavaScript exposed as a filegroup rather than a .jar.\n\npolygerrit_plugin is kept rather than removed. It produces a distinct\noutput shape from gerrit_js_bundle and would force downstream consumers\nto restructure their BUILD files if dropped. Its only known remaining\nin-tree user (plugins/zuul-status) has been discontinued, but the rule\nitself is reusable for any single-file plugin that wants minification\nwithout committing to the .jar output layout.\n\nSwitch JavaScript minification to use @rollup/plugin-terser instead of\ninvoking Terser as a standalone Bazel rule.\n\nChange-Id: I3d7add559190ffc01600a433c980cbf4b948f85d\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "acd405b1d62e3db6545a68a7084bd5fa5dade317",
      "new_mode": 33188,
      "new_path": ".bazelversion"
    },
    {
      "type": "modify",
      "old_id": "5bab770bb433e725fcc4c10d7c3efd8019b6bc93",
      "old_mode": 33188,
      "old_path": ".gitignore",
      "new_id": "3dc7721868ef8bacb730e7e4ded8bd11767102de",
      "new_mode": 33188,
      "new_path": ".gitignore"
    },
    {
      "type": "modify",
      "old_id": "3d5863b5cdb6b46c333738827868ee50bc1d3586",
      "old_mode": 33188,
      "old_path": "MODULE.bazel",
      "new_id": "72c982f613f83341283b2e025bbac8a752b083a0",
      "new_mode": 33188,
      "new_path": "MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "d1f95603ce4fcdab4a52dc395e899f73d60b915c",
      "old_mode": 33188,
      "old_path": "MODULE.bazel.lock",
      "new_id": "4f288b6453d6b0e91c95da45c170861491fb5191",
      "new_mode": 33188,
      "new_path": "MODULE.bazel.lock"
    },
    {
      "type": "modify",
      "old_id": "dd95df99766a46e0cb278598165ef3a7d8179961",
      "old_mode": 33188,
      "old_path": "js/defs.bzl",
      "new_id": "6102dcd2e8fcd99315a88633230f9ab9d9304c14",
      "new_mode": 33188,
      "new_path": "js/defs.bzl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "212c7984d9ac19a72a7178692d19dbb5b43e632b",
      "new_mode": 33188,
      "new_path": "js/private/plugin.bzl"
    },
    {
      "type": "delete",
      "old_id": "e360e841fc1b9d1c569495eb0011b08019cfbccb",
      "old_mode": 33188,
      "old_path": "tools/js.bzl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    }
  ]
}
