Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenWrap vs NuGet [closed]

What is the difference between OpenWrap and NuGet. And what you prefer ?

like image 945
Maksim Kondratyuk Avatar asked Nov 23 '10 14:11

Maksim Kondratyuk


1 Answers

OpenWrap is an open-source project providing for dependency management in applications, not only at build time but also at runtime.

As such, our features are targetted at dynamic resolution of dependencies, be it for composite WPF applications, web app development or system-wide utilities. This makes our implementation very different from what NuGet does.

So here are the things that are different (I'll probably forget a lot, but ah well).

  • No dependency on visual studio, and focus on productivity at the command-line rather than in a UI
  • No dependency on powershell, OW comes with its own command system that lets you develop, deploy and execute your own commands, be it from our shell (the o.exe tool) or from MSBuild itself.
  • OpenWrap uses OpenWrap to build and deploy itself, and is xcopy friendly at every step of the way.
  • Has a system-wide repository of packages, so you can deploy your utility commands once rather than once per solution
  • Supports dynamic dependency resolution at runtime, should you want to do that
  • Has an extensible package format, so you can create new types of dependencies in a package and have OpenWrap help you use them in your application
  • Supports both OpenWrap packages and NuGet packages and repositories
  • Stays well away from the complications of XML and OData, and goes for simple text-based DSLs that are easy and quick to learn
  • Support integrated build, so you can build and package your solution in one go
  • Supports custom repositories on a network share that you can publish to from the openwrap shell or the msbuild tasks
  • Provides dependency levelling, automatically choosing which combination of versions of packages are resolved
  • Resharper integration means that any change you do to your dependencies gets reflected in VS in real-time
  • TeamCity integration means you can build, package and deploy your package using exactly the same process, from an MSBuild script or from the command-line
  • Extensible builders means you can change how the build is triggered within OpenWrap
  • Support for test runners and shipping tests alongside packages
  • Uses supported MSBuild extensibility points to include assembly references, and leaves the code you built alone. Once you ship binaries, you have no openwrap code dependency, only at build-time.

That's just for the differences, as that's what you asked about, so I won't bother you with what we do the same as other package managers.

like image 166
3 revs Avatar answered Oct 03 '22 10:10

3 revs