[wix-devs] 6210 - Burn engine should handle non-QWORD versions

Rob Mensching rob at firegiant.com
Sat Aug 1 11:06:25 PDT 2020


struct WIXVER
{
};

?

I suppose that would work. It would probably grow on me. Otherwise, I prefer "VERUTIL_VERSION" because it kinda' matches dutil design of using the (usually) 3-letter prefix of the header file as the prefix of the structs/methods (and VER_VERSION looks so wrong and just VER is probably dangerious).

But I don't have strong opinions.


-----Original Message-----
From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of Bob Arnson via wix-devs
Sent: Wednesday, July 29, 2020 2:36 PM
To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
Cc: Bob Arnson <bob at firegiant.com>
Subject: Re: [wix-devs] 6210 - Burn engine should handle non-QWORD versions

It's a WIXVER. It's not SemVer, it's not NuGetVer, it's not WinVer.

-----Original Message-----
From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of Sean Hall via wix-devs
Sent: Wednesday, 29 July, 2020 17:22
To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
Cc: Sean Hall <r.sean.hall at gmail.com>
Subject: Re: [wix-devs] 6210 - Burn engine should handle non-QWORD versions

> Should there be some indication when parsing that the parsed thing 
> isn't
at all recognized as a version?

Ok, good. It sounds like I've convinced you that there's potential for different parsing between Burn and general purpose.

> Is there a use case for arbitrary strings to be treated as
"v0-[arbitrarystring]" in version comparisons?

Like I said in the WIP, the behavior when it's not a valid Nuget version is arbitrary and we can define it to be whatever we want.

If we want to change the comparison logic to take into account whether the version was "valid", that requires us to write a spec on what is a valid version. Otherwise, defining what is valid is out of scope for this issue.

At this point, I'm thinking about moving the methods into "verutil". I'll add a Boolean parameter to the parse method for "strict mode" and return E_NOTIMPL if it's true. For the struct name, I liked VERUTIL_VERSION the best out of your suggestions. But I was more looking for a name that described that it's a blending of Windows 4 part assembly versions and SemVer 2.0. WINSEMVER_VERSION? WIXSEMVER_VERSION?

On Wed, Jul 22, 2020 at 9:24 AM Rob Mensching <rob at firegiant.com> wrote:

> Very interesting.  "@#$%^&*" is not valid SemVer nor 4-dotted.
>
> Should there be some indication when parsing that the parsed thing 
> isn't at all recognized as a version?
> Is there a use case for arbitrary strings to be treated as 
> "v0-[arbitrarystring]" in version comparisons?
>
>
> -----Original Message-----
> From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of 
> Sean Hall via wix-devs
> Sent: Friday, July 17, 2020 4:25 PM
> To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
> Cc: Sean Hall <r.sean.hall at gmail.com>
> Subject: Re: [wix-devs] 6210 - Burn engine should handle non-QWORD 
> versions
>
> It would be parsed to
>
> major - 0
> minor - 0
> patch - 0
> revision - 0
> release labels - [] (empty array)
> metadata - "@#$%^&*"
>
> "v0" or "0" or "" are all parsed to
>
> major - 0
> minor - 0
> patch - 0
> revision - 0
> release labels - [] (empty array)
> metadata - "" (empty string)
>
> "@#$%^&*" would be greater than "v0"
>
>
____________________________________________________________________
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