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]