Firstly what is Ripple?
Ripple is a new kind of package manager that was created out of heavy usage of the standard NuGet client. The feeds, the protocol, and the packages are the same. Ripple just embodies differing opinions and provides a new way of consuming them that is friendlier for continuous integration.
The specific functionality we are interested in is Ripple Restore
Ripple work remarkable well at restoring dependencies. So you can avoid checking in your dependencies and then run ripple.exe restore
before building to restore your dependencies. However it does not handle two problems
While you can have a "RunMeFirst.cmd" it is not really ideal. Developers expect to be able to open a Solution and compile.
RippleRestoreTask achieves this by plugging into the build chain and before a build ensuring that your dependencies are up to date through calling ripple.exe restore
.
RippleRestoreTask is targeted at providing one specific feature i.e. "Restoring dependencies as part of a build". If you want to use the other more advanced commands of Ripple you should call ripple.exe explicitly. This can be done at a machine level by adding Ripple.exe to your Path environment variable
The actual restore only runs once per solution and only on the first build. After this it is assumed you will be adding/removing your dependencies using ripple.exe explicitly. If your some reason you want the RippleRestoreTask to re-run then restart Visual Studio and rebuild.
If all packages a;ready exist the initial restore will take up to 1 second (depending on your hardware) to verify the packages. As noted above this will only occur once for the first solution build.
This is variable based on several factors
- The number of package dependencies you have
- How large the packages are
- How fast you internet connection is
- If the packages already exist in you machine cache
Licensed under The MIT License by NServiceBus Ltd
Cloud Download designed by P.J. Onori from The Noun Project