[wix-devs] WiX v4 id versioning

Hoover, Jacob Jacob.Hoover at greenheck.com
Wed Feb 6 08:54:47 PST 2019


I would agree w/ Blair in having ".v4." before the extension. As for the core, I almost think for consistency we would want to also have v4 early in it, but I don't have as strong as an opinion on that.


-----Original Message-----
From: wix-devs [mailto:wix-devs-bounces at lists.wixtoolset.org] On Behalf Of Rob Mensching via wix-devs
Sent: Wednesday, February 6, 2019 10:47 AM
To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
Cc: Rob Mensching <rob at firegiant.com>
Subject: Re: [wix-devs] WiX v4 id versioning

Anyone else?

From: Blair Murri <osito at live.com>
Sent: Thursday, January 31, 2019 6:27 PM
To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
Cc: Rob Mensching <rob at firegiant.com>
Subject: Re: WiX v4 id versioning

WixToolset.MSBuild v4.0.#
WixToolset.v4.Util.wixext v1.0.#
Would be my vote
Blair
Get Outlook for Android<https://aka.ms/ghei36>

________________________________
From: wix-devs <wix-devs-bounces at lists.wixtoolset.org<mailto:wix-devs-bounces at lists.wixtoolset.org>> on behalf of Rob Mensching via wix-devs <wix-devs at lists.wixtoolset.org<mailto:wix-devs at lists.wixtoolset.org>>
Sent: Thursday, January 31, 2019 8:53:48 AM
To: WiX Toolset Developer Mailing List
Cc: Rob Mensching
Subject: [wix-devs] WiX v4 id versioning

As discussed in the meeting #162 (https://www.firegiant.com/blog/2019/1/17/wix-online-meeting-162-highlights/) there was a discussion about WiX Extension versioning. There were some random discussions here after that meeting about that topic but I wanted to focus it on a single thread.

I'm going to assume you're caught up on the conversation. If not, go back and watch the meeting linked in the blog above.

I posit there are two "types" of versions we need to consider here: the core toolset and extensions. (There is actually a third version if we include Votive but since Votive multi-targets WiX Toolset versions (v3 and v4) it's pretty clearly on its own).

We can choose to make the versioning scheme of the core the same as extensions but we don't have to.

There are two parts to consider: the "id" part and the "version" part. The "id" part is a string that must start with "WixToolset." (to reserve the namespace). The "version" part is a semver-based version.

In these examples, I'll be using "#" to designate the automatically increasing "build number" (actually GitVersioning number but that detail isn't important).

Today the core has this important package:

                WixToolset.MSBuild        v4.0.#

Also today, arguably the most used extension is:

                WixToolset.Util.wixext  v4.0.#

Of course, the issue is how to "match" the v4 WixToolset.Util.wixext to the v4 WixToolset.MSBuild after we create v5 WixToolset.MSBuild and need to start creating v5 extensions. Semver on WixToolset.MSBuild is fine because we can go from v4.0.# to v5.0.# and demonstrate the big breaking change*.

However, a breaking change in WixToolset.Util.wixext going from v4.0.# to v5.0.# would make it confusing which versions of WixToolset.Util.wixext went with which versions of WixToolset.MSBuild (i.e. WixToolset.Util.wixext v4.0.# and v5.0.# both target WixToolset.MSBuild v4.0.#). It also could be confusing if we have a WixToolset.MSBuild v4.1.# and WixToolset.Util.wixext has v4.0.# and v4.1.# and v4.2.#.... which maps to which?

So, one option is to push a piece of the version into the "id" part. If we do that then the question is where to put it and do we reset the "version" part to 1.0?

Here are some permutations to consider:

                WixToolset.Util.wixext4                v1.0.#
                WixToolset.Util.wix4ext                v1.0.#
                WixToolset.v4.Util.wixext            v1.0.#

                WixToolset.Util.wixext4                v4.0.#
                WixToolset.Util.wix4ext                v4.0.#
                WixToolset.v4.Util.wixext            v4.0.#

Others?

If we wanted to push the version into the id for the core* then it could be one of these (or others?):

                WixToolset.v4.MSBuild                 v1.0.#
                WixToolset.v4.MSBuild                 v4.0.#

So, I'm looking for permutations that people think would be useful (or vote for something already proposed).



* Although if someone wants to argue that we need to be able to have big breaking changes *within* the WiX v4 release, I'd be interested to hear it.

Regards,

  Rob Mensching
  CEO
 FireGiant
_______________________________________________________________
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/
NOTE: This email was received from an external source. Please use caution when opening links or attachments in the message.



More information about the wix-devs mailing list