-
Notifications
You must be signed in to change notification settings - Fork 519
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
We need support for NuGet prereleases #26
Comments
In bundler you would need to specify a version constraint including the prerelease suffix. I think this is useful, makes "we want prereleases" explicit. Another option might be to add a boolean parameter to the nuget, such that you don't have to know the prefix used by the package authors. But this would make it hard to say "only rc prereleases, not alphas". I favor the first solution. AlexAlexander Groß On Tue, Sep 9, 2014 at 5:21 PM, Steffen Forkmann notifications@github.com
|
so how would this look like? 2014-09-09 18:58 GMT+02:00 Alexander Groß notifications@github.com:
|
Prereleases are a somewhat difficult story. I saw different syles and conventions for prerel package versions. Every project seem to have its own flavor. For public projects, there seems to be an wider agreement on "rc" prerels, though. AFAIK bundler would do this by just recognizing alphabetic characters, match them against the version in descending lexicographical order:
This would simply match all beta prerels and get the "latest" (first of above described order). I can add another alternative on the topic, just to have an open table for discussion. In the majority of prerel scenarios, the consumer just wants to subscribe to latest. It's like a "yeah, I know bleeding edge is painful, but that's my game" thing. From that pov, one could argue to introduce such a descriptor on any part of SemVer, including prerel. Since we already do optimistic updates, we only would need such a subscription on prerel level. Hence, we could just prepend the descriptor to the version constraint. Let's assume our descriptor for LATEST would be
To have it a little more readable, we could play with the representation of the descriptor, something like
to denote that we opt-in for prereleases, no matter how it was specified (dev, alpha, dog, beta, rc). Let's say we only opt-in for
One interesting thing to consider is how pessimistic updates would work with prerels. Let's assume a constraint like:
I guess I'd expect here to stay on lowest of |
Good points, I like the new notation. The ! operator does only influence resolution of the package's dependencies, not the resolution of the package itself. It would work with the bleeding edge specifier just fine in that it takes the oldest matching deps of Paket in your case. AlexAlexander Groß On Tue, Sep 9, 2014 at 8:18 PM, ilkerde notifications@github.com wrote:
|
Instead of messing with the already very complicated operators I suggest suffixes:
Alpha suffix would behave like prerelease |
I've seen packages (Nservicebus) using "Unstable" suffixes. How would this work with thr rc, beta, alpha keywords you suggest? Wouldn't it be better not to hard-code the types of prereleases we support? |
mhm. unstable would be found by prerelease maybe we should not hardcode and improve to:
|
So any alphabetical token would be allowed? AlexAlexander Groß On Wed, Sep 24, 2014 at 6:17 PM, Steffen Forkmann
|
Yep
|
Sounds good! And we may choose from several tokens, right? AlexAlexander Groß On Wed, Sep 24, 2014 at 6:57 PM, Steffen Forkmann
|
works |
next step is to parse this from nuget's package dependency syntax. |
+1 AlexAlexander Groß On Wed, Sep 24, 2014 at 8:12 PM, Steffen Forkmann
|
Might be worth spending time future proofing while hair on fire :P http://blog.nuget.org/20140924/supporting-semver-2.0.0.html |
No description provided.
The text was updated successfully, but these errors were encountered: