State of getting NuGet to work with the gallery

Nov 17, 2010 at 2:12 AM

We've made some good progress in the past few days.  The currently blocking issues are (in priority order):

  1. Feed doesn't support dependencies
  2. Hash is broken (same for all packages)
  3. Feed doesn't support tags

There are bugs opened for all of those.  Do you think you could prioritize getting those fixed?  This would allow us to take the next step in testing an end to end scenario.


Nov 17, 2010 at 2:17 PM
Edited Nov 17, 2010 at 3:31 PM

Yeah, we'll prioritize those three items. In fact, I think #2 is already fixed (Scott started changing that as soon as it was brought up in the meeting yesterday). We'll take a look at #1 today. I thought we had that working but we'll double check. It's possible that we just haven't tried uploading a package that has dependencies specified recently, so we didn't realize it wasn't working.

For #3, what do you mean by doesn't support tags? The PublishedPackage type has a string Tags property on it. I don't believe Tags are specified in the manifest of a package though, are they? So until we have tags hooked into the front-end UI, no packages will have any tags associated with them.
Nov 17, 2010 at 4:19 PM
Edited Nov 17, 2010 at 4:58 PM

Dependencies should show up in the feed now. Also, the hash should now be calculated correctly.

Tags are still being worked on.

Nov 17, 2010 at 4:35 PM

@Kevink, For #3, packages support tags in the metadata. I forgot to send you guys the spec:

Nov 17, 2010 at 9:40 PM

The hash fix seems to have broken things, by calling Seek on a non-seekable stream.  I'm getting a NotSupportedException:

 	System.ServiceModel.dll!System.ServiceModel.Dispatcher.StreamFormatter.MessageBodyStream.Seek(long offset, System.IO.SeekOrigin origin) + 0x34 bytes	
>	Gallery.Server.DLL!Gallery.Server.PackageFileService.ExtractPackage(System.IO.Stream packageFileStream, string tempPath) Line 118 + 0x1e bytes	C#
 	Gallery.Server.DLL!Gallery.Server.PackageFileService.CreatePackage(System.IO.Stream packageFileStream, string fileExtension, string externalPackageUri) Line 75 + 0x1f bytes	C#
 	Gallery.Server.DLL!Gallery.Server.PackageFileService.Create(string key, string fileExtension, System.IO.Stream packageFileStream) Line 45 + 0x14 bytes	C#


Are you ending up with a different Stream type that is seekable?

Nov 17, 2010 at 9:54 PM

Ah, my bad on that one. Didn't test for the case where a user directly uploaded a Package file. It should be fixed now.

Nov 17, 2010 at 9:55 PM

For the dependencies, I do see them in the feed now, but in the old format.  Sorry, I mentioned the change but forgot to point you to the spec.  Note that NuGet has logic to handle those strings, so you shouldn't have to wory about the details of the format.  Calling ToString() on PackageDependency.VersionSpec gives you the string to use.

Nov 17, 2010 at 10:04 PM

Thanks, the hash is now working! One down :)