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]
