Skip to content

Finish the JSR-330 migration for wagon-http and wagon-webdav-jackrabbit #988

Description

@slachiewicz

wagon-http and wagon-webdav-jackrabbit are the two providers that 20d688a 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions