Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design and implement a notion of package type to support tool packages #2476

Closed
joelverhagen opened this issue Apr 7, 2016 · 14 comments
Closed
Assignees
Labels
Priority:2 Issues for the current backlog. Type:Feature
Milestone

Comments

@joelverhagen
Copy link
Member

The goal is have a way to mark a package as a tool so that it can be properly installed to the "tools" node in the project.json (instead of under "dependencies").

@joelverhagen joelverhagen self-assigned this Apr 7, 2016
@yishaigalatzer yishaigalatzer added this to the 3.5 RC milestone Apr 7, 2016
@yishaigalatzer yishaigalatzer added Priority:2 Issues for the current backlog. Type:Feature CLI RTM labels Apr 7, 2016
@joelverhagen
Copy link
Member Author

Working document:
https://github.com/NuGet/Home/wiki/Package-Type

@davidebbo
Copy link

davidebbo commented May 6, 2016

Context: I chatted with @yishaigalatzer about using PackageType for a different type of packages (not related to CLI tools).

My main feedback on the working document is that it is too much about addressing .NET CLI Tools. The proposal may be more general, but the document does not convey that well. It would be nice to rephrase it in a more general way, with CLI tools being used as just an example, rather than it being the goal of the feature.

@joelverhagen
Copy link
Member Author

joelverhagen commented May 6, 2016

@davidebbo, thanks for the feedback. Totally agreed. I was shooting for a specific, well-understood scenario to inform package type. Package type could potentially be a concept that blows up with too many requirements (considering that NuGet is already used for all sorts of, well, "versioned blob" delivery, i.e. Chocolatey, Octopus deployments, etc).

Could you provide some more details about your specific scenario?

Depending on your scenario, one detail you may find concerning is under the Installation heading:

If a package has no explicit package type, the package is assumed to be a dependency. If a package has an unrecognized (not DotnetCliTool or Dependency) type or more than one type, the installation fails.

This is talking about the installation procedure invoked in the Visual Studio UI or the Install-Package PowerShell command.

@joelverhagen
Copy link
Member Author

@davidebbo, @harikm86, I've improve the documentation to walk through a simple custom package type example:
https://github.com/NuGet/Home/wiki/Package-Type#other-package-types

@davidebbo
Copy link

I can give two specific scenarios:

  1. Azure Web App site extensions. We currently have our own gallery (http://www.siteextensions.net/), but want to get out of the gallery hosting business. Having our packages on NuGet.org with the right package type (e.g. "AzureSiteExtension") would work.
  2. Our new Azure Functions. We're working on an upcoming extensibility model that will be NuGet based. Again here, we don't want to host our own gallery.

In both scenarios:

  • We don't need any extra metadata fields in the nuspec beyond the default ones
  • We will have our own installation experience, so no concern about VS not supporting them. In fact, we'd want VS to ignore them!

Does that look like it will be covered by the current design?

@yishaigalatzer
Copy link

yes

@davidebbo
Copy link

davidebbo commented Jul 1, 2016

Adding @shrimpy who will help with this on Azure side

@natemcmaster
Copy link

@joelverhagen per in-person discussion yesterday, is the spec outdated? The wiki says:

Installation of DotnetCliTool packages to non-.NET CLI project.json or to packages.config behaves exactly as a dependency.

https://github.com/NuGet/Home/wiki/Package-Type#installation

@joelverhagen
Copy link
Member Author

Yes, good catch. I'll fix up the document. The second paragraph (vaguely) asserts the intended design.

Installation of the DotnetCliTool package type is only supported on .NET Core project.json projects.

Our in-person discussion yesterday was correct.

@joelverhagen joelverhagen modified the milestones: 3.5 RTM, 3.6 Beta Jul 20, 2016
@joelverhagen
Copy link
Member Author

This was completed with NuGet/NuGet.Client#680.

@yishaigalatzer
Copy link

Who owns writing and publishing the doc?


From: Joel Verhagen notifications@github.com
Sent: Wednesday, July 20, 2016 6:35:45 PM
To: NuGet/Home
Cc: Yishai Galatzer; Mention
Subject: Re: [NuGet/Home] Design and implement a notion of package type to support tool packages (#2476)

This was completed with NuGet/NuGet.Client#680NuGet/NuGet.Client#680.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com//issues/2476#issuecomment-233987793, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABLmt8QBgRmj2RmiWYngpLFvuDt7fov0ks5qXkBRgaJpZM4IBnXl.

@harikmenon
Copy link

Joel has written this doc and i will publish it when we go live. Currently this is hanging off our new docs site branch, I will move this to master since we wont be going live untill the 8th.

@yishaigalatzer
Copy link

Let's publish now, as we don't need his code, this a guidance to package authors


From: Harikrishna Menon notifications@github.com
Sent: Wednesday, July 20, 2016 6:47:37 PM
To: NuGet/Home
Cc: Yishai Galatzer; Mention
Subject: Re: [NuGet/Home] Design and implement a notion of package type to support tool packages (#2476)

Joel has written this doc and i will publish it when we go live. Currently this is hanging off our new docs site branch, I will move this to master since we wont be going live untill the 8th.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com//issues/2476#issuecomment-233991586, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABLmtwSNhnVfuuHUVeoX8yepknqieWnNks5qXkMZgaJpZM4IBnXl.

@joelverhagen
Copy link
Member Author

joelverhagen commented Jul 20, 2016

Published:
http://docs.nuget.org/create/package-types

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority:2 Issues for the current backlog. Type:Feature
Projects
None yet
Development

No branches or pull requests

5 participants