Bump Jetty to 12.1.10 (preserve javax.servlet via jetty-ee8 adapter)

Follow the same pattern as in the gerrit repository Id82de0bc91: upgrade
the embedded Jetty in the gitiles dev server to Jetty 12 while keeping
gitiles on javax.servlet 4.0.1 via the jetty-ee8-* adapter modules.

Dependency changes mirror gerrit's:

* tools/java_deps.MODULE.bazel: JETTY_VERSION 9.4.57.v20241219 ->
  12.1.10. Replace jetty-servlet with jetty-ee8-{nested,security,
  servlet}. Add jetty-session (standalone module in Jetty 12).
  Drop jetty-continuation (deprecated since Jetty 9, removed in
  Jetty 10+).

* lib/jetty/BUILD: expose new :nested target; :servlet exports
  jetty-ee8-servlet + runtime_deps :nested; :security exports both
  jetty-ee8-security and jetty-security; :server pulls in :session.

DevServer.java migration to the Jetty 12 ee8 API:

* org.eclipse.jetty.servlet.{ServletContextHandler,ServletHolder}
  -> org.eclipse.jetty.ee8.servlet.{...}.
* The ee8 ServletContextHandler implements Supplier<core Handler>;
  appHandler() returns handler.get() so ContextHandlerCollection
  receives the core Handler.
* Jetty 12 replaced PathResource/URL-based ResourceHandler config
  with ResourceFactory. setBaseResource takes a Resource produced
  by ResourceFactory.root().newResource(Path). setDirectoriesListed
  was renamed to setDirAllowed.

A full Jakarta EE migration (jakarta.servlet, jetty-ee10 adapter)
remains possible as separate follow-up work, matching gerrit's
deferral.

Bug: Issue 359909531
Change-Id: I430d21d4191d69595f73041cd4ea7aa40b3c864d
4 files changed
tree: 05cf925eb0b74629b6acd5d9b91d5d054944f1a7
  1. .settings/
  2. Documentation/
  3. java/
  4. javatests/
  5. lib/
  6. modules/
  7. resources/
  8. tools/
  9. .bazelignore
  10. .bazelrc
  11. .bazelversion
  12. .gitignore
  13. .gitmodules
  14. .mailmap
  15. .zuul.yaml
  16. BUILD
  17. COPYING
  18. external_deps.lock.json
  19. fake_pom_deploy.xml
  20. MODULE.bazel
  21. MODULE.bazel.lock
  22. navbar.md
  23. README.md
  24. version.bzl
README.md

Gitiles - A simple JGit repository browser

Gitiles is a simple repository browser for Git repositories, built on JGit. Its guiding principle is simplicity: it has no formal access controls, no write access, no fancy Javascript, etc.

Gitiles automatically renders *.md Markdown files into HTML for simplified documentation. Refer to the Markdown documentation for details.

Configuration

Gitiles is configurable in a git-style configuration file named gitiles.config. Refer to the configuration documentation for details.

Bugs

Use gerrit's issue tracker to file bugs.

Contributing to Gitiles

Please refer to the Developer Guide.