U4-18 - Nuget based dependencies

Created by Matt Brailsford 20 Jun 2012, 10:53:51 Updated by Sebastiaan Janssen 26 Dec 2012, 11:15:01

Relates to: U4-56

Relates to: U4-1131


Morten Christensen 22 Jun 2012, 17:25:37

Use nuget package restore and add nuget packages to HG ignore file. http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

Sebastiaan Janssen 10 Sep 2012, 12:21:10

Sean Farrow (see link below) is hoping to work on this for 4.10.0 but if he can't then we'll move it to another sprint due to time constraints. https://groups.google.com/forum/?fromgroups=#!topic/umbraco-dev/BLqJ0hNbiq8

Sean Farrow 10 Sep 2012, 14:43:03

Currently working on this, no examine or net tidy packages available, creating those this afternoon. I'm not planning on upgrading the entlib in this sprint. Also should we install IronPython as a package given that it installs an awful lot, or use the unofficial dlr package?

Sebastiaan Janssen 10 Sep 2012, 15:08:58

Tidy is obsolete since 4.9.0, so I say just leave it in the bin for now and we'll remove it completely in 6.0.0 where we can break backwards compatibility. Could you elaborate on entlib? IronPython/Ruby: Have already been removed from the build, no need to keep them around.

By the way, are you checking that version numbers are the same as the ones we're currently using, so we don't get unexpected surprises because a new version has different behavior?

Sebastiaan Janssen 10 Sep 2012, 15:15:44

Also, hold off on creating an Examine one for the moment, asking them if they want to create an official nuget package for it!

Sebastiaan Janssen 10 Sep 2012, 16:02:29

Hey Sean, don't bother with the Examine one yet, the Examine team would like to release and official version at some point and they think it would confuse people if there's unofficial one. So just leave that in there.

One other thing, besides the question about the versions, please don't get any JS libraries as dependencies through NuGet. I think you're only doing dll's at the moment but just checking. Thanks!

Sean Farrow 11 Sep 2012, 07:42:08

Hi: Versions are the same where they appear on NuGet as packages. The only one I've got a query about are the webpages stuf, we are using version 1.0.20105.407, where the earliest version on NuGet is v1.0.20105.408, should we use this or leave till v6? I've left the my sql stuf as still using the files in the lib folder as the NuGet packages don't go back far enough. We are using v5.1.2.2 and the earliest package on NuGet is v5.2.7--or something in that area. I'm not upgrading any ui libs JQuery etc to NuGet packages. We are currently using v1.5 of entlib, the earliest version available on NuGet is v5 of all blocks, imo this should be left until v6 as it's a breaking change. imo IronPython is still needed as we reference Microsoft.Scripting.Dll in the macro projects, although this is in the lib folder as you point out. Cheers Sean.

Morten Christensen 11 Sep 2012, 16:44:52

When you add the ClientDependency nuget please keep in mind that it adds all of the configuration to web.config, which we don't want for 4.10.0. At some point we'll consolidate config files and ClientDependency might very well be part of that, but until then the web.config should remain as it is now and ClientDependency should use the config file which is currently located in the config folder under \src\Umbraco.Web.UI. So I'd recommend you do this as an isolated task to keep tab on the web.config file ;)

Sebastiaan Janssen 20 Sep 2012, 08:01:19

Hey Sean, could you update us with the status of this please? Thanks!

Sean Farrow 02 Oct 2012, 03:48:44

Hi: Still working on this. A pull request will be coming end of week. I'm removing anything from the lib foler that now has a package. I'm also using the earliest razor package I can--only one build number increment 407, current to 408. We can then look to clear out the lib folder hopefully for v6. What is the new data layer--I think this is concord, but correct me if I'm wrong? Also waiting on Charles Cook to tell me whether a NuGet package is coming for XmlRpc .net. Cheers Sean.

Sebastiaan Janssen 22 Oct 2012, 10:14:30

As this hasn't got very high priority at the moment, I'm moving it to 4.11. Would love an update Sean! :) Also figured that we could use MyGet for packages that need to be a different version or aren't yet hosted on NuGet.

Sebastiaan Janssen 13 Nov 2012, 16:18:55

Just an update: I played around with MyGet for another project today and it's surprisingly easy to make that work (including package restore on the build server). So we'll have to add anything that's not available on Nuget to our MyGet account. A list would be nice,but I'm assuming it's just everything in the Lib folder.

Sebastiaan Janssen 27 Nov 2012, 12:47:43

I've changed everything to NuGet/MyGet in the 6.0.0 branch.Changeset c77599bb26af

Priority: Task - Pri 2

Type: Feature (planned)

State: Fixed


Difficulty: Very Easy

Category: Architecture

Backwards Compatible: False

Fix Submitted:

Affected versions: 4.5.2

Due in version: 6.0.0


Story Points: