slachiewicz opened a new pull request, #12693: URL: https://github.com/apache/maven/pull/12693
Backport of #12692 to `maven-4.0.x`. The core IT suite still runs its test HTTP server on Jetty 9.4, end-of-life since 2022 and last released on Central as `9.4.58.v20250814`. This moves it to Jetty 12.1.12 and the Jetty **core** API, which drops the servlet API from the IT suite entirely. The migration commit is @olamy's, from #11730, cherry-picked here. ### Differences from the master PR The 4.0.x IT suite predates the NIO2 `Path` migration, so it cherry-picked far more cleanly — 7 conflicts, all the same one: master's handlers write `<project xmlns="http://maven.apache.org/POM/4.0.0">` while 4.0.x writes a bare `<project>`. 4.0.x's form is kept throughout. Otherwise identical to #12692, including: * **Jetty 12.1.6 → 12.1.12**, matching the version `maven-resolver` already uses. * **MNG-4360 (WebDAV)** — the wagons under test request `//org/apache/...` with an empty leading path segment. Jetty 9 served it; Jetty 12 rejects it as ambiguous with `400`. The connector now uses `UriCompliance.LEGACY`, the only named mode other than `UNSAFE` that permits `AMBIGUOUS_EMPTY_SEGMENT`. * **MNG-4554 (`testitRefetched`)** — Jetty 12's `ResourceHandler` caches file content by default. The test swaps the served repository between invocations and was answered from a stale cache. It now serves straight off disk via `ResourceHttpContentFactory`. * **MNG-2387** — `proxyServer = new Server(0)` was assigned twice, discarding the instance the `ResourceFactory` had been bound to. * The review feedback from #12692: role-based BASIC auth constraints restored at all 11 sites (the port had flattened them to `Authorization.ANY_USER`), repeated `Request.getPathInContext(request)` calls hoisted into locals, and the dropped `import static ... REPLACE_EXISTING` restored. ### Verification The full IT suite was run locally on macOS / JDK 25, both on this branch and on unmodified `maven-4.0.x` as a control. Both runs give **1036 tests with the same 14 failures in the same 10 classes** — no regressions from the migration. Those 14 are local environment failures (trust store, import scope, CI-friendly versions, resolver transport) and are unrelated to Jetty; none of the 10 classes reference Jetty except `MavenITmng4428FollowHttpRedirectTest`, which fails on the baseline too. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
