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

   `wagon-http` and `wagon-webdav-jackrabbit` are the two providers that 
20d688a2 left on handwritten Plexus descriptors, because each maps one 
implementation class onto several role hints and a single `@Named` cannot 
express that: `HttpWagon` is published as `http` and `https`, and `WebDavWagon` 
as `dav`, `davs`, `dav+http`, and `dav+https`.
   
   Nothing is broken today. Maven ships `org.eclipse.sisu.plexus`, which reads 
`META-INF/plexus/components.xml` whether or not scanning finds anything. But 
every other provider now resolves from the Sisu index, so these two are the 
only ones that still need the shim — and they are the ones Maven itself bundles 
(`http`) and that `maven-build-cache-extension` ships for `dav:` URLs. A 
consumer that scans for `@Named` beans without the shim finds no HTTP or WebDAV 
wagon at all.
   
   The project already has an idiom for one implementation under several hints: 
a subclass per hint. `wagon-ftp` publishes `FtpWagon`, `FtpsWagon`, and 
`FtpHttpWagon`; `wagon-http-lightweight` publishes `LightweightHttpWagon` and 
`LightweightHttpsWagon`. `HttpWagon` is itself an empty subclass that exists 
only to carry a component name.
   
   #987 applies that idiom. The trade-off is five new public classes, empty but 
API once released. The alternative is to keep both descriptors and accept the 
split.
   
   `master` carries the same two descriptors and the same deferral.
   
   *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