-
Notifications
You must be signed in to change notification settings - Fork 643
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
Installation instructions for NUKE #8511
Comments
Hey everyone, First off, thanks so much for writing a proposal to add the NUKE DSL instructions to NuGet.org! From an initial review, we believe that NUKE meets majority of the requirements set via #4510 (comment). There is one requirement that we aren't too sure of given the unfamiliarity of NUKE, and that's the presence of a
Examples: https://github.com/NuGet/NuGet.Client/search?q=useragent (We can help further if there's good places to hook into) This would help us understand what client is downloading a package & would help in the long-term with the ecosystem being more data-driven! You can see this example of what I mean by that: Additionally we look at the usage of the tooling in various .NET projects. I think that is mostly covered by your proposal with an expanded list here: https://github.com/nuke-build/nuke#users. We'd ask that before we can approve a contribution from the NUKE project to add these instructions, that a custom user agent is added to the tooling. Once that is completed(if it's feasible), we can move forward with a contribution to add the instructions & merge when initial data comes in. In the meantime, we are also encouraging the use of our new proposal process. This helps us go through the rounds of the various considerations made & gives people in the community an opportunity to bring up questions & feedback prior to it being accepted. If there's time to create a quick proposal & send a PR to nuget/home, that would be wonderful. In short:
Action Items for NUKE project maintainers 📋:
If this all sounds reasonable, then we'll review the proposal in the next couple weeks while awaiting the investigation of the user agent inclusion. Please let me know if there are any questions, comments, or feedback to these initial considerations. We're trying to make these considerations as transparent as possible & still have a ways to formally document them. Note: We're trying our best to not change any requirements, but rather to improve our processes. As you may imagine, the requirements list in 2017 still reflects the considerations, but we want to ensure the long-term success by being data-driven and learning from recent contributions as well. |
@JonDouglas generally speaking NUKE doesn't act as a dedicated NuGet client. It fully operates on either dotnet CLI or the
Is it possible by any chance to set a different user-agent from outside? For instance with an MSBuild property I hope it's clear that this proposal is laid out for more efficient and correct package consumption, and I'd appreciate it if we can find a solution to this without degrading the existing native integration with .NET tools. |
Thanks for the quick response! We figured that might be the situation, but wanted to bring it up for feasibility & consideration. To my knowledge, no such property or ENV variable exists but could be something we break-off separate to this proposal to be considered for the future to not disrupt the native integration while also reporting the client use. Let's move forward with the other action items to keep the momentum. Thanks! |
Just to clarify, the only other action you need me to approach is to create the proposal according to the new process ? I guess the PR is something that can wait until there is a decision. |
@matkoch Yes that's correct. The contribution PR can wait until the proposal PR is reviewed & accepted by the community & NuGet. |
I think we can close this. Follow-up is linked above. |
reopening as per this comment: NuGet/Home#10784 (comment) |
@zivkan sorry i did not know :) should i update my original post maybe to only link the new spec? |
@matkoch, this change is now live on PROD. Thanks again for your hard work here! |
@joelverhagen wasn't hard actually :) Thanks for your assistance! |
Hi everyone! I'm basically following up on another recent proposal to extend the installation instruction tabs.
Proposal
NUKE provides a
nuke :add-package <package-id> [package-version]
command via our global tool, which allows installing packages to the build project. The command works from any directory of a repository built with NUKE, thus covering more situations compared to the conventionaldotnet add
command. More importantly, though, it automatically determines how a package should be installed, which is either asPackageReference
(regular libraries) orPackageDownload
(tool packages). The latter is a great feature (thanks once more @nkolev92), because it allows a build to reference tools without messing with references (implicitExcludeAssets
), and works with tools in different versions (PackageReference
wouldn't allow that even withExcludeAssets
).We would like to display this command as installation instructions under a separate "NUKE" tab. Today, users naturally use
PackageReference
instead ofPackageDownload
, which often completely breaks the compilation of the build project, and overall is a sub-optimal approach.Listing Criteria
Regarding if we meet the criteria, here are my comments:
Background
NUKE is a build automation system, which is created with the idea to integrate with other .NET tools natively. That means it uses regular C# projects for the build implementation and thus comes with IDE integration out-of-the-box, including navigation, refactoring, and debugging. It is well adopted with almost 1k downloads per day, and many companies and projects are actively using or transitioning to it (e.g. OctopusDeploy, JetBrains, AvaloniaUI, ASP.NET Boilerplate, CsvHelper, FluentAssertions, HotChocolate).
We and our users would really appreciate if this proposal would be accepted! 🙏
The text was updated successfully, but these errors were encountered: