NuGet / Home

Repo for NuGet Client issues
Other
1.5k stars 252 forks source link

[DCR]: Enabled plugins for other protocols #11613

Open rsking opened 2 years ago

rsking commented 2 years ago

NuGet Product(s) Affected

NuGet SDK

Current Behavior

Currently plugin discovery is only enabled for HTTP sources.

Desired Behavior

Plugin should be able to support other protocols, or source types.

Additional Context

Plugin discovery is only enabled for HTTP sources

https://github.com/NuGet/NuGet.Client/blob/2ffefa687ba980fd0a70e13615875c69bde9393c/src/NuGet.Core/NuGet.Protocol/Plugins/PluginManager.cs#L122

This should be relaxed to enable other protocols, and it should be up to the plugin to decide whether it can support the protocol.

erdembayar commented 2 years ago

@rsking Could you tell us more? What other protocols and sources would you like supported? What would be benefits and use cases for added protocol and sources?

rsking commented 2 years ago

My specific use case is for using an authenticated S3 bucket as a source. They are generally given a URL like s3://bucketname/path. I have written a custom provider that can take this as URL, and then get the packages from the source, but this cannot be used as a plugin, as a plugin can only be HTTP(s).

erdembayar commented 2 years ago

But it still using HTTP(s) protocol, right? Do you have sample project repo code, wiki help us understand more?