[wix-devs] Burn micro repo(s)

Sean Hall r.sean.hall at gmail.com
Wed Dec 12 21:34:17 PST 2018


People building bundles with WixStdBA need core WiX + BalExtension.

People building an MBA need BootstrapperCore. To build a bundle with that
they'll also need core WiX + BalExtension.

People building a native BA that uses balutil need Burn headers + BalUtil
headers + BalUtil lib. To build a bundle with that they'll also need core
WiX.

People building a standalone native BA need Burn headers.  To build a
bundle with that they'll also need core WiX.

On Wed, Dec 12, 2018 at 10:44 PM Bob Arnson <bob at firegiant.com> wrote:

> Might help to lay out the NuGet packages we see being published so we can
> graph out the dependencies for (1) people building bundles, (2) people
> building native BAs, and (3) people building managed BAs. I like the
> cleanliness of the interfaces separation but they're so tiny in Burn, it
> smells like overkill if we can manage the packages some other way.
>
> -----Original Message-----
> From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of Sean
> Hall via wix-devs
> Sent: Tuesday, 11 December, 2018 22:09
> To: Rob Mensching <rob at firegiant.com>
> Cc: Sean Hall <r.sean.hall at gmail.com>; WiX Toolset Developer Mailing List
> <wix-devs at lists.wixtoolset.org>
> Subject: Re: [wix-devs] Burn micro repo(s)
>
> Breaking balutil out to its own repo totally makes sense.
>
> I think I see where you're trying to go with BalExtension/core
> (BootstrapperCore.dll) going into the Burn interfaces repo. Eventually we
> want to split BootstrapperCore.dll into MBA.Interfaces.dll and
> MBA.Implementation.dll, with MBA.Interfaces in the Burn interfaces repo and
> MBA.Implementation in the BalExtension repo. I'm a big fan of doing things
> iteratively if possible, so I would rather not try to do that when we
> initially set up these 4 repos. Or if we really wanted to at least create
> the new MBA interfaces assembly, only put IBootstrapperApplication and
> IBootstrapperEngine in there to start with.
>
> If we are putting balutil and BalExtension in seperate repos, and putting
> managed interfaces into the Burn interface repo, then the native
> IBootstrapperApplication and IBootstrapperEngine headers should also go
> there. And possibly IBAFunctions. Though to be honest, I'm not seeing the
> use case for anyone using IBoostrapperApplication/IBootstrapperEngine
> without balutil, or the managed ones without the managed BAL
> implementation.
>
> On Tue, Dec 11, 2018 at 7:42 AM Rob Mensching <rob at firegiant.com> wrote:
>
> > Some thoughts (if they are incoherent, I blame my current fevered state):
> >
> > 1. deputil should be tossed in with dutil. It isn't big enough to live
> > on its own. I thought I did that already but did not.
> >
> > 2. If we break it out, I think:
> >   a. Burn Interfaces - wix4/src/burn/inc/* +
> > wix4/src/ext/BalExtension/core (and maybe work to reduce MBA core to
> > just some interfaces)
> >   b. Burn engine - /engine, /stub, /samples
> >   c. balutil
> >   d. BalExtension - obviously, minus /core
> >
> > Given the change patterns of the code, I think that would work out
> > really well (once the repos are created <smile/>).
> >
> >
> > -----Original Message-----
> > From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of
> > Sean Hall via wix-devs
> > Sent: Saturday, December 8, 2018 8:45 PM
> > To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
> > Cc: Sean Hall <r.sean.hall at gmail.com>
> > Subject: [wix-devs] Burn micro repo(s)
> >
> > I think these are the Burn related folders that we still need to move
> > into micro repos:
> >
> > wix4/src/burn
> > wix4/src/ext/BalExtension
> > wix4/src/libs/balutil
> > wix4/src/libs/deputil
> >
> > The easiest way would be to just throw them all into one repo.
> > Otherwise, we'll have to start looking at all the different parts.
> > Here's what I think are all the pieces:
> >
> > wix4/src/burn
> >     burn engine (/engine - engine.lib plus headers)
> >     BA interface headers (/inc - BootstrapperEngine.h and
> > BootstrapperApplication.h)
> >     burn stub (/stub - burn.exe)
> >     samples (/samples)
> > wix4/src/ext/BalExtension
> >     actual extension (/wixext, /wixlib, /wixlib_arm)
> >     MBA host (/mba/host - mbahost.dll)
> >     MBA core (/mba/core - BootstrapperCore.dll)
> >     WixStandardBA (/wixstdba - wixstdba.dll)
> >     sample BA Functions (/samples)
> > wix4/src/libs/balutil
> >     base native BA, BA utility methods (balutil.lib)
> >     BA Functions interface header (/inc - BAFunctions.h)
> > wix4/src/libs/deputil
> >     deputil.lib
> >
> > If we're going to split it up, I guess it would be one repo for the BA
> > interface headers, one repo for the Burn engine and stub and samples
> > (and deputil?), and one repo for the rest.
> >
> ____________________________________________________________________
> WiX Toolset Developer Mailing List provided by FireGiant
> http://www.firegiant.com/
>



More information about the wix-devs mailing list