)]}'
{
  "commit": "1a9c7be11fced35e38e5576bd4d77aaaf01af244",
  "tree": "69b69b3779c9ef47abe0aec9a866147edbafb945",
  "parents": [
    "66f03055758e273677aa995c613f366a8b8c635f"
  ],
  "author": {
    "name": "David Ostrovsky",
    "email": "david@ostrovsky.org",
    "time": "Thu Jun 18 05:08:19 2026 +0200"
  },
  "committer": {
    "name": "Matthias Sohn",
    "email": "matthias.sohn@sap.com",
    "time": "Tue Jul 07 11:10:13 2026 +0200"
  },
  "message": "Bazel: Add EE8 servlet bridge targets\n\nAdd Bazel-only generated EE8 targets for the HTTP servlet and LFS\nserver modules. The generated jars keep the original JGit Java\npackages and rewrite only servlet API references from jakarta.servlet\nto javax.servlet.\n\nThe rewrite uses the shared servlet-flavour transform toolchain from\nbazlets (transform_srcjar + generated_srcs_test.sh under //tools). It\nis a plain sed package-prefix substitution; the universal servlet and\nJetty package mapping lives in bazlets and this consumer selects only\nthe direction (to_javax), so it carries no renames data and adds no\nMaven dependency (no Eclipse Transformer CLI).\n\nThis supports source consumers that still run on EE8 while JGit master\nuses Jakarta servlet APIs. Gerrit is the known downstream consumer in\nthat state today and consumes JGit from source through a git submodule.\nWith these targets, Gerrit can track JGit master without a dedicated\nservlet-4 maintenance branch.\n\nThe goal is to let the servlet-4 branch be retired for Gerrit\u0027s\nmaintenance purposes. That branch was not offered as a stable JGit\nrelease line. Keeping Gerrit on it makes JGit updates hard for Gerrit,\nincluding updates for important fixes and improvements, and forces\nrepeated merge work from master onto a parallel branch.\n\nKeep the maintenance surface small. The EE8 targets consume canonical\nsrcs filegroups backed by glob([\"src/**/*.java\"]), so new Java sources\nflow into the generated jars without per-file BUILD updates. Resources\nare also shared through canonical filegroups.\n\nThis Bazel change intentionally does not add Maven, Tycho/p2, or Maven\nCentral publication machinery. Maven support is added by the follow-up\nMaven commit; Tycho/p2 remains out of scope because the EE8 jars export\nthe same packages as their canonical Jakarta counterparts and are not\nco-installable with them.\n\nAlso avoid relocating Java packages to org.eclipse.jgit.*.ee8. Keeping\nthe same package names avoids source-consumer import churn, but means\nthe canonical Jakarta jars and generated EE8 jars must not share a\nclasspath.\n\nPossible follow-ups are duplicate-classpath enforcement for source\nconsumers and additional generated EE8 modules only when a consumer\nneeds them.\n\nVerify generated source layout, line counts, javax servlet rewriting,\nand the absence of package-renamed .ee8 sources.\n\nChange-Id: I897e4facbbae79349e8d1853ea4dab8d7087ba5b\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b8d8b9f0b790f66df7f670f860546963c7f0aead",
      "old_mode": 33188,
      "old_path": "BUILD",
      "new_id": "b9be9cb282017aa857f193db7ffa57d3bde7908c",
      "new_mode": 33188,
      "new_path": "BUILD"
    },
    {
      "type": "modify",
      "old_id": "37077bcc0692444ec3f435bafc5117fd06209f74",
      "old_mode": 33188,
      "old_path": "MODULE.bazel",
      "new_id": "e95290a7a5e08a9330ebf0817182efc5febb407a",
      "new_mode": 33188,
      "new_path": "MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "571785192640b9a96fe148ffb416fefb9f6af413",
      "old_mode": 33188,
      "old_path": "MODULE.bazel.lock",
      "new_id": "fd0c91e82a2fa82134a476aa53af6ca191daea55",
      "new_mode": 33188,
      "new_path": "MODULE.bazel.lock"
    },
    {
      "type": "modify",
      "old_id": "a84d93b9fd32d760dc8ddf46fb90750a6e302ca0",
      "old_mode": 33188,
      "old_path": "lib/BUILD",
      "new_id": "2bd92093ca8cebcef5e355a4c8897aa99b4f46d9",
      "new_mode": 33188,
      "new_path": "lib/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "df39628ccad279e4e73ac6a446768778fcef41b7",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit.http.server.ee8/BUILD"
    },
    {
      "type": "modify",
      "old_id": "cae8d8847b7a2d1dd543c68c88e83fd13d8b0172",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit.http.server/BUILD",
      "new_id": "f6b4a1084fba24ce95cd78af804430a37ff0e603",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit.http.server/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b07dae2cde3c02dd116d1a3367b41b830dd2ab2b",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit.lfs.server.ee8/BUILD"
    },
    {
      "type": "modify",
      "old_id": "c363d52ad15818fd53e5bd505f70ec8127b36839",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit.lfs.server/BUILD",
      "new_id": "d6b08a6ee944b830915cb8221c485d3514b813e8",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit.lfs.server/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "df5c27cd73d50585bb42e2769000847069c340f4",
      "new_mode": 33188,
      "new_path": "tools/jgit-ee8/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5578d6553b585237ebe5b5b47219a672172dbe34",
      "new_mode": 33188,
      "new_path": "tools/jgit-ee8/README.md"
    }
  ]
}
