)]}'
{
  "commit": "337c1434a4c8b4b6faaab9e68fb80b954c4d0f19",
  "tree": "fdb3e880fb8295e767c52dd087439e16ae543cff",
  "parents": [
    "b7f07ee7cbb893f7372d48d83fb4b0ef2537468e"
  ],
  "author": {
    "name": "Réda Housni Alaoui",
    "email": "reda-alaoui@hey.com",
    "time": "Fri Oct 23 11:13:23 2026 +0200"
  },
  "committer": {
    "name": "Réda Housni Alaoui",
    "email": "reda-alaoui@hey.com",
    "time": "Fri Oct 23 11:20:53 2026 +0200"
  },
  "message": "Migrate to bazel modules\n\nSince Gerrit 3.13, Project.NameKey is an interface. A jar built from\nthe current master targets the 3.3 API and fails every non-admin\nproject creation with:\n\n  IncompatibleClassChangeError: Found interface\n  com.google.gerrit.entities.Project$NameKey, but class was expected\n  at ProjectCreationValidator.validateProject(ProjectCreationValidator.java:238)\n\nThe sources need no change: built in-tree against Gerrit master, all\n21 tests pass. Only the standalone build is broken, as it still relies\non WORKSPACE and bazlets pinned to 3.3.\n\nMigrate it to Bazel modules, following rename-project\u0027s migration, and\ntarget the 3.14.4 API with the current bazlets.\n\n- .bazelversion is 8.6.0, not 9.x: with Bazel 9.1, bazlets\u0027 transitive\n  aspect_bazel_lib@2.11.0 fails to load (rule() got unexpected keyword\n  argument \u0027incompatible_use_toolchain_transition\u0027).\n- .bazelrc calls python3, since python is missing on current\n  distributions.\n\nKnown gap: standalone `bazel test //...` fails with\nNoClassDefFoundError: org/bouncycastle/openpgp/PGPException, as the\nstandalone test classpath lacks BouncyCastle. It fails the same way\nagainst the 3.13.5 API, so this is a bazlets issue, not a plugin one.\nIn-tree tests are unaffected.\n\nChange-Id: If052078bd78b08d545189e02c68a96333be7b6d5\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3ae03ff14d3aa0d8a9529eb312b9ee5965fc3a94",
      "old_mode": 33188,
      "old_path": ".bazelrc",
      "new_id": "f9248ea02419381e6d5d5fc82d9e9c71a0b33407",
      "new_mode": 33188,
      "new_path": ".bazelrc"
    },
    {
      "type": "modify",
      "old_id": "7c69a55dbb18555b0baec9712461a06b0667ae7b",
      "old_mode": 33188,
      "old_path": ".bazelversion",
      "new_id": "acd405b1d62e3db6545a68a7084bd5fa5dade317",
      "new_mode": 33188,
      "new_path": ".bazelversion"
    },
    {
      "type": "modify",
      "old_id": "b6b6f03067d4cc13602979819697438c63d61de5",
      "old_mode": 33188,
      "old_path": "BUILD",
      "new_id": "d82e22567a89ce58689f2dba68cbb0d082859512",
      "new_mode": 33188,
      "new_path": "BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4b297f7a4e708f64a800aece14d7db76a54fc945",
      "new_mode": 33188,
      "new_path": "MODULE.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0a340382ffe9ea05b225b5033abdacc1568a68a7",
      "new_mode": 33188,
      "new_path": "MODULE.bazel.lock"
    },
    {
      "type": "delete",
      "old_id": "ae94609a572bfb6ee623c7ea8d315a5c51a053a7",
      "old_mode": 33188,
      "old_path": "WORKSPACE",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "f089af473a610e21307bf649a4fec81086cf33a5",
      "old_mode": 33188,
      "old_path": "bazlets.bzl",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    }
  ]
}
