-
Notifications
You must be signed in to change notification settings - Fork 520
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
Make transition from NuGet even easier #99
Comments
I'm for |
I'm not sure. (Sorry to be awkward). Part of the point of paket is to separate direct from indirect dependencies - but it won't have enough information to do that from the nuget files (that's kind of why we need paket in the first place!). So I think we can auto-create paket.reference files, but I can't see anyway we can create sensible packet.dependencies without importing all of the wrong assumptions nuget has already made. |
that's what I meant. But the convert command and the especially the generated lock file will give you a much better starting point. |
How if I think another useful thing to hook into such a command is tpo have it report use pof (And short term known issues such as not supporting |
@bartelink if we're going to have an automated command, that's what it should do. Which I suspect will surprise some people with how short the dep file actually is! |
should |
I'm leaning towards |
@mavnn Actually you're extremely right - it came as a a surprise to me that the 8ish packages the F# MVC 5 template adds boils down to One potential thing to consider is if someone e.g. is referencing |
|
@agross You will LOVE http://www.infoq.com/presentations/Simple-Made-Easy and his related talks; they are absolutely key talks about programming and compexity. Ditto Hamock driven Development and the datomic / event sourcing talks re Place Oriented Programming. He spends a long time explaing the problems of
|
So do we have any volunteers? |
I think the simplification should be a second command since it would also make sense in other settings.#102 |
I can give it a try |
What should we write to paket.dependencies if there are different versions of the same package in separate package.configs? |
@theimowski Take the highest version and warn about the version mismatch? |
@theimowski I'm with @agross . Only other addition is that it should error out (hopefully without writing changes!) if there is no version of a dependency that can be used across all projects. This is possible when using version ranges rather than just "this version or above" |
@agross Sorry for being paranoid again. In large enterprise repos (~500 projects and larger) this scenario is likely to happen. Automatically resolving to highest is sort of the credo of Paket (since we already embrace SemVer to follow deps). However, I'm not sure if this is too much "automagic" fixing. Me prefers explicit choice of user. This is transparent behavior giving user a balanced notion of responsibility. Ntl, I'm ok with the auto-resolve if you are very keen about it. |
@mavnn How does one determine if a specific version of NuGet package can be used in a project? |
@theimowski having thought about this a bit further, this probably isn't the right place to do the analysis; thinking about it, it's the generation of the lockfile that should deal with these kinds of issues. So I think the logic for generating the dependencies file would become:
From that point on let paket generate lock files as normal. We need a warning somewhere to let people know that there is no guarantee that the resulting paket configuration will be valid (it might be impossible to create a lock file that matches all of the constraints, for example) |
@theimowski That's how I'd read it (and the same would apply to |
Closed with #105 - please reopen for bugs. |
@bartelink Thanks for the video recommendation. Excellent presentation, lots of food for thought! |
@agross Glad you liked. I'm currently hiding from the guilt of not having started on https://github.com/JanVanRyswyck/awesome-talks and instead listening to far inferior stuff. If there was a Rich Hickey talk you enjoyed that wasnt on that list it might be good to put it there. And if bored after that, http://functionaltalks.org/ is also on my list! |
It's important to learn about your project's dependencies so the manual transition is valuable.
That said: getting users to switch to Paket could be much easier. We already implemented --hard (see http://fsprojects.github.io/Paket/convert_from_nuget.html), but I'm dreaming of the following:
we could do this as a new command "paket convert-from-nuget".
/cc @agross @ilkerde @vasily-kirichenko
The text was updated successfully, but these errors were encountered: