-
Notifications
You must be signed in to change notification settings - Fork 16
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
Chocolatey package #21
Comments
There is no work needed, The only issue I currently see that |
While I haven't spent a ton of time researching the versioning issues with FSharp.Core, I consistently encounter the advice not to rely on the FSharp.Core NuGet package. |
Any reason to avoid
see MSDN I'm guessing the effect on perf should be near neutral... |
The primary reason is ignorance; I didn't know about that compilation flag. The documentation is, I think, a bit sparse, so I'd have to experiment a bit with this to see what really happens. |
Excuse the ignorance but why is this even a Nuget package? It appears to me that it's entirely separate command line tool from your .sln solutions |
@medmondson I think this is possibly something that would move over to Chocolatey, as that is where packages for applications and tools usually go. |
@ferventcoder Where do you draw the line in terms of what tools you deem "utilities" vs versionable build tools though? If the
The paket bootstrapper straddles the line (arguably on the other side) and has fallen on trying a github release download and then falling back to NuGet. GitVersion is available on Chocolatey, NuGet and as a gem. |
@bartelink NuGet started off as only for DLL files and later added tools related to building (such as ILMerge). You can draw a pretty good line there. When a utility is not related to the development process, it's hard to say they should belong in NuGet. But the other side of the distinction is not as clear. Anything that is a tool/application/utility is great for Chocolatey. Even things you use to build like CMake. GitVersion makes sense in at least two, if not all three of those places. But at the end of the day, it's anyone's preference where they want to put things. We've always said you use NuGet to create the tools/applications/utilities you put on Chocolatey. |
There are other examples of shipping executable tools via NuGet. The ones I know of off the top of my head are xunit.runner.console and NuGet.CommandLine. Zero29 fits nicely into this tradition, I think. Zero29 is strictly a development tool; actually, it's a software release tool, just like NuGet.CommandLine. I use To be honest, I don't see the need to involve yet another package manager in order to deal with something that's strictly about development and publication of a particular software project. |
@ploeh you are more making the case for Chocolatey, which is exactly where development tools as well as tools in general go (we also have NuGet.CommandLine). But a software release tool, I see it as a great place to be to have it on Chocolatey as well. We have other release tools there that folks are discovering - https://chocolatey.org/packages?q=tag%3Arelease It's totally up to you. Here's why I'd suggest also pushing that EXACT SAME package to Chocolatey: In ten seconds installed and using on the path. |
The exact same package on Chocolatey would assist in discovery and picking up more usage of your tool. If that is not something you may be looking for, that's fine. No one is requiring that you put it up over there. |
I left this issue open and with the jump in tag because I've nothing against publishing Zero29 on Chocolatey. I just don't have the bandwidth to do this myself... 😓 |
Oh right on. :) |
@ferventcoder I love chocolately too, but tools like Zero29 and FAKE are intentionally cross platform. I'm not aware of Chocolatey providing this but am not exactly up to date :) For instance one might script a build that:
The downloading on the fly aspect of the above is jsut a devil's advocate position - having successful first-time builds of code that can be pulled from a DVCS be contingent on the availability of an online service is obviously highly contentious. I'm just pointing this out in defence of viewing a tool like Zero29 as more a development tool than a utility. But I can definitely see lots of people taking the "utility" view and hence would agree with you and Mark that it's no harm to have it in multiple places (as GitVersion does) |
@bartelink no worries. I've spent a lot of time in the past trying to explain the difference between NuGet and Chocolatey, so I tend to carry unintentional baggage into the conversation. Sorry about that @ploeh :/.
Yes, Choco has been xplat since the rewrite had it's first release in March 2015. :)
I can see that aspect. Folks tend to use appveyor to do verification of PRs, in some cases we do stuff where we are installing mingw, cmake, boost, and a whole world of tools to build a project so we can verify that the PR is good. Once we've accepted the PR, we pull things from our internal chocolatey (nuget) repository (so there isn't a contention). Here's an example - https://ci.appveyor.com/project/puppetlabs/facter/build/3.1.0.839 and https://github.com/puppetlabs/facter/blob/5e1b325d6b350d950b55fb621ac143b1e6797d53/appveyor.yml |
@ferventcoder Thanks for taking the time to explain - that makes a lot of sense. Great to hear it's xplat now too. I'm consuming it via |
Is Zero29 cross-platform? I must admit that it's one of those tools I built a while ago, and since it Just Works™, I'm not fiddling with the code base with any regularity. I don't recall having made it cross-platform, but perhaps a contributor did that... In any case, I think it'd be nice if Zero29 is cross-platform, so if it turns out that it isn't, I'm happy to look at a pull request 😉 |
As discussed elsewhere, Zero29 should be available via Chocolatey.
The Chocolatey package should install Zero29 in a folder and include it into PATH environment variable.
It should also be able to deal with versioning issues of FSharp.Core.
The text was updated successfully, but these errors were encountered: