slachiewicz opened a new pull request, #12692:
URL: https://github.com/apache/maven/pull/12692

   The core IT suite still runs its test HTTP server on Jetty 9.4, which has 
been end-of-life since 2022 and whose last release on Central is 
`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.
   
   This supersedes #11730 — the migration commit is @olamy's, rebased onto 
current master and carried forward here with the integration test failures 
fixed. @olamy, please shout if you would rather drive this yourself and I will 
close this in favour of yours.
   
   ### What changed relative to #11730
   
   * **Rebased onto master.** #11730 branched before bfc30f1 ("Migrate 
integration tests to NIO2 Path API"), so all 37 files conflicted. Resolutions 
keep master's `Path` API and Jetty 12's resource API: `setResourceBase(String)` 
becomes `setBaseResource(ResourceFactory.of(server).newResource(Path))`.
   * **Jetty 12.1.6 → 12.1.12**, matching the version `maven-resolver` already 
uses.
   * **MNG-2387**: `proxyServer = new Server(0)` was assigned twice, discarding 
the instance the `ResourceFactory` had been bound to.
   
   ### The two integration test failures
   
   Both are genuine Jetty 12 behaviour changes, not migration slips. Each was 
confirmed by running the same test against unmodified master, where both pass.
   
   * **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 Bad Request`. The connector now uses 
`UriCompliance.LEGACY`, the only named mode other than `UNSAFE` that permits 
`AMBIGUOUS_EMPTY_SEGMENT` (`JETTY_11` does not include it).
   * **MNG-4554 (`testitRefetched`)** — Jetty 12's `ResourceHandler` caches 
file content by default via `ValidatingCachingHttpContentFactory`. The test 
swaps the served repository between invocations and was answered from the stale 
cache, so the `b` plugin prefix was never seen. The handler now serves straight 
off disk via `ResourceHttpContentFactory`.
   
   ### Verification
   
   All 35 Jetty-touching IT classes were run locally on macOS / JDK 25: **55 
tests, 1 error**.
   
   The remaining error is 
`MavenITmng4428FollowHttpRedirectTest.testitHttpsToHttps`, which fails 
identically on unmodified master with `PKIX path building failed` — a local 
trust store issue, not a Jetty regression. CI should confirm it passes there.
   


-- 
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]

Reply via email to