[wix-devs] Breaking out DTF, Dutil, Wcautil and maybe others.
Rob Mensching
rob at firegiant.com
Tue Jul 28 14:32:11 PDT 2015
(finishing my thought)
...I'm not really excited about dealing with lots of submodules if we can use the NuGet's because that'd reuse the experience everyone else uses. We'll see.
-----Original Message-----
From: wix-devs [mailto:wix-devs-bounces at lists.wixtoolset.org] On Behalf Of Rob Mensching
Sent: Tuesday, July 28, 2015 14:28
To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
Subject: Re: [wix-devs] Breaking out DTF, Dutil, Wcautil and maybe others.
I was thinking first step was breaking out things that were obviously reusable. WixToolset.Data and Extensibility should definitely move... but they're a bit messier and still under a lot of churn so I'd say.... yes, eventually. Not sure if anyone reuses deputil, but it could move too...
Votive is not useful by itself so I wasn't thinking about starting there... but if these experiments go well, we may do everything and truly get to a point where the "wix#" repo is just pulling together individual NuGet's or something... but I'm not sure it'll make sense to go that far (WixExtensions are more interesting to me...).
Note: aspnet breaks a lot of things into pieces (which gave me additional confidence about this path) and they have a project with submodules to put it all back together. I'm
-----Original Message-----
From: wix-devs [mailto:wix-devs-bounces at lists.wixtoolset.org] On Behalf Of Bob Arnson
Sent: Tuesday, July 28, 2015 13:49
To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
Subject: Re: [wix-devs] Breaking out DTF, Dutil, Wcautil and maybe others.
Are you thinking about moving all the libs? I'm trying to figure out the granularity that makes sense. (1:n repo:nuget package is perfectly fine.)
Votive is another natural.
In the end, we're just assembling WiX using NuGet packages as our inter-repo delivery mechanism. (Notice how I ignore the idea of submodules.)
-----Original Message-----
From: wix-devs [mailto:wix-devs-bounces at lists.wixtoolset.org] On Behalf Of Rob Mensching
Sent: Tuesday, 28 July, 2015 16:03
To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
Subject: Re: [wix-devs] Breaking out DTF, Dutil, Wcautil and maybe others.
Okay, so dutil & wcautil could maybe be in same repo and have a couple separate NuGet packages out of single repo. I guess DTF is going to be that way as well (i.e. one per assembly).
-----Original Message-----
From: wix-devs [mailto:wix-devs-bounces at lists.wixtoolset.org] On Behalf Of Bob Arnson
Sent: Friday, July 24, 2015 12:18
To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
Subject: Re: [wix-devs] Breaking out DTF, Dutil, Wcautil and maybe others.
It's a horrible idea. Well, the part that breaks out DUtil and WcaUtil separately. Unless we get completely down to a "component" level, I don't see the value in microrepos. Or rather, there's a cost to increasing the number of repos and I don't think they provide enough value for the cost...especially because the cost is mostly borne by the WiX Build Team(tm).
_______________________________________________________________
FireGiant | Dedicated support for the WiX toolset | http://www.firegiant.com/
-----Original Message-----
From: wix-devs [mailto:wix-devs-bounces at lists.wixtoolset.org] On Behalf Of Rob Mensching
Sent: Friday, 24 July, 2015 14:59
To: wix-devs at lists.wixtoolset.org
Subject: [wix-devs] Breaking out DTF, Dutil, Wcautil and maybe others.
So, the more I've been thinking about it, the more I'm thinking it'd be a good idea to break out several of the more independent pieces of the WiX toolset into separate repo's in the "wixtoolset" organization. Namely: DTF, dutil, wcautil and (maybe, eventually) WixToolset.Data (and, if that, then maybe extensions) .
I've been watching the ASP.NET vNext guys work in their many repo world and I can see a lot of advantages to doing it that way for pieces that are truly decoupled. Particularly because these pieces can be very useful independent of the WiX toolset as a whole (for example, we use dutil *a lot* at FireGiant).
With that in mind, let's just consider DTF, dutil, and wcautil in v4.x (we're not touching WiX v3.x).
Publishing those projects on their own v4 cadence as NuGet packages should be really simple (they are mostly independent of each other and everything else). The WiX toolset can then take them as binary dependencies. The issues that I'd like input on are the following:
1. Do you think this is a horrible idea. I'm not worried about the -0, +0 or +1 people. I'm looking for those who are -999999 on the idea. If so, why?
2. What branch strategy should they use? Today, the wix3 and wix4 splits are awesome. The "develop" branch is where you make changes for the "next minor version" and "master" has the last minor version. We can work on each major release independently with no real confusion as to what code goes where.
I'm not particularly interested in a "dtf4" and later "dtf5" (for example) so we'll have to do major and minor branching within the individual repos. Maybe this is less of an issue if there is really only ever one active branch since the projects are smaller. Lots of implications on backwards compatibility and bug fixes and such to consider here.
3. We'll need to solve the DTF documentation problem since sandcastle's output is integrated into the WiX toolset website build and all that. So, I'd be interested in ideas people have to solve the doc problem.
So there's a bunch of cannon fodder. Thoughts?
PS: this came up because Heath wants to push along the NuGet publishing of WiX stuff (since I've been completely neutralized with work from many different angles). And we should totally do that... but the NuGet packages of interest are really these 3 packages... so let's consider the split now... again, since I'm more and more convinced it's a good idea (if we can solve #2 and #3 above).
Regards,
Rob Mensching
_______________________________________________________________
FireGiant | Dedicated support for the WiX toolset | http://www.firegiant.com/
____________________________________________________________________
WiX Toolset Developer Mailing List provided by FireGiant http://www.firegiant.com/ ____________________________________________________________________
WiX Toolset Developer Mailing List provided by FireGiant http://www.firegiant.com/ ____________________________________________________________________
WiX Toolset Developer Mailing List provided by FireGiant http://www.firegiant.com/ ____________________________________________________________________
WiX Toolset Developer Mailing List provided by FireGiant http://www.firegiant.com/
____________________________________________________________________
WiX Toolset Developer Mailing List provided by FireGiant http://www.firegiant.com/
More information about the wix-devs
mailing list