slachiewicz opened a new issue, #943:
URL: https://github.com/apache/maven-wagon/issues/943

   Jetty 9, 10 and 11 stopped being published to Maven Central on 1 January 
2026 — see 
[jetty/jetty.project#13918](https://github.com/jetty/jetty.project/issues/13918).
 Estate-wide context and the shared constraints are in 
[apache/maven#12768](https://github.com/apache/maven/issues/12768); this issue 
covers maven-wagon only.
   
   ## Where we stand
   
   The root `pom.xml` manages `org.eclipse.jetty.aggregate:jetty-all` at 
`9.2.30.v20200428`. The four providers — `wagon-http`, 
`wagon-http-lightweight`, `wagon-webdav-jackrabbit`, `wagon-ssh` — take it at 
test scope, which is fine. Two modules do not:
   
   - `wagon-provider-test` declares it with **no scope**, so compile
   - `wagon-tck-http` declares it with **no scope**, so compile
   
   Both are published to Central (3.5.3 is current). `wagon-provider-test` is 
the artifact that carries `WagonTestCase` and `HttpWagonTestCase`, which 
external wagon implementations extend to get the standard test suite. So 
`jetty-all` reaches the compile classpath of anyone building a wagon against 
our test support.
   
   The compile scope is not a mistake to be corrected — `HttpWagonTestCase` 
imports Jetty in `src/main/java` and stands servers up there, and 
`wagon-tck-http` does the same. Jetty genuinely belongs on that module's 
compile classpath. What is wrong is *which* Jetty.
   
   ## The version is the bigger problem
   
   9.2.30.v20200428 is the last release of the Jetty 9.2 line, which ended in 
April 2020. The 9.4 line ran on for another five years and finished at 
`9.4.58.v20250814`. So this dependency was already five years stale before the 
EOL announcement made it permanent, and `jetty-all` is an aggregate uber-jar 
that pulls the entire server in as one artifact.
   
   ## Suggested order of work
   
   1. **Move to the end of the 9.4 line.** `jetty-all` 9.4.58.v20250814 exists 
on Central, so this is a coordinate change rather than a port. Expect some code 
changes: the handler and connector APIs moved between 9.2 and 9.4, so the 
harness will not necessarily compile untouched. This is the cheapest way to 
pick up five years of fixes and it needs no baseline change.
   
   2. **Replace `jetty-all` with the specific modules.** The uber-jar was never 
intended for compile scope, and putting it on downstream consumers' classpaths 
is worse than naming `jetty-server`, `jetty-servlet` and whatever else is 
actually used. Worth doing in the same pass as step 1.
   
   3. **Jetty 12, later.** Blocked twice over: Jetty 12 needs Java 17 and wagon 
builds at `javaVersion` 8, and the CI matrix still contains JDK 8 (shared 
default `[ "21", "25", "8" ]`, with 25 excluded here). Neither can change 
quietly, since `wagon-provider-test` is consumed outside the project and 
raising its baseline raises it for every consumer.
   
   Steps 1 and 2 are worth doing regardless of what happens with the EOL 
question.
   
   *This issue was created with AI assistance.*
   


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