The NuGet Extensions Project

Topics: Ecosystem, General
Mar 21, 2013 at 3:32 PM
In addition to launching ProGet 2.0, we're exciting to announce the NuGet Extensions Project. It's a Creative Commons-licensed set of specifications that can be used by tools that use NuGet as a protocol.

Currently, there are two specifications in the project.
  • NuGet Feed Discovery - a protocol that defines how a server hosting one or more NuGet feeds can describe the feeds it lists
  • NuSpec Extensions - an XML schema that describes additional metadata about a package
Why a separate project, as opposed to contributing to the NuGet? These are for the specifications that don't quite fit in with canonical NuGet... and, it can act as a bit of a testing ground for ideas that third-party tool writers (like us) would like to try for our own projects, while keeping some sort of interoperability with each other.

We'd love to hear your feedback!
Mar 21, 2013 at 9:24 PM
Have you had a chance to update your previous blog post to correct the details about how NuGet updates dependency packages?
Mar 21, 2013 at 11:31 PM
We have updated the post in our source control system but it has not been published yet. The new wording will be:
... This means that a dependency that specifies "1.0" as the version could resolve to a version greater than 1.0, as specified in the algorithm described in the following NuGet dependency resolution algorithm blog post. ...
If you decide to publish the algorithm in the official documentation we would be happy to update the link to point to the docs instead of the blog post.
Mar 26, 2013 at 11:20 AM
Just thought I would drop a line here. There is a pre-existing NuGet.Extensions project I maintain on GitHub (http://github.com/BenPhegan/NuGet.Extensions). It is more aimed at actual command extensions and improvements to the NuGet command line (caching, distinct checks over solutions/directories, graph analysis of feeds etc).

Anyway, just thought I would let you know it existed as we seem to be sharing the (admittedly fairly generic) name!
Mar 26, 2013 at 11:39 AM
Edited Mar 26, 2013 at 11:42 AM
@BenPhegan d'oh-- so we obviously missed that. Looking at what you've done further, seems like there's some pretty interesting overlap with what we're trying to accomplish with ProGet (i.e. enterprise usage of NuGet), and we have some cool opportunities for better extensibility now that we've got the ProGet SDK out.

Curious -- are you using ProGet now? We'd be happy to have you join the Inedo VIP program for free licenses/support if not. Based on what you've done with NuGet, I can only immagine what sort of cool things you could do when using ProGet as a starting point :-)
Mar 26, 2013 at 12:08 PM
@apapadimoulis we currently use a themed version of NuGetGallery with an automated Octopus deployment as we typically have lots of feeds available at any given time, and they get spun up from new pretty frequently. They are also very high traffic/high package version count, so we have historically gone with "if it works for the whole web...". :)

We have not tried ProGet yet, but would be interested to look at whether it could work. Looking through the features, it might even allow a simplified mechanism for some of the features that we have been using glue for at the moment (cloned feeds, aggregate feeds, etc). Will fill in the VIP form and leave it with you guys (no pressure, either way we will have a look at ProGet!).