diff --git a/version/mkversion/mkversion.go b/version/mkversion/mkversion.go index ac00ee63e..0b963f1d1 100644 --- a/version/mkversion/mkversion.go +++ b/version/mkversion/mkversion.go @@ -25,6 +25,12 @@ import ( // VersionInfo is version information extracted from a git checkout. type VersionInfo struct { + // Major is the major version number portion of Short. + Major int + // Minor is the minor version number portion of Short. + Minor int + // Patch is the patch version number portion of Short. + Patch int // Short is the short version string. See the documentation of version.Short // for possible values. Short string @@ -74,6 +80,9 @@ type VersionInfo struct { func (v VersionInfo) String() string { f := fmt.Fprintf var b bytes.Buffer + f(&b, "VERSION_MAJOR=%d\n", v.Major) + f(&b, "VERSION_MINOR=%d\n", v.Minor) + f(&b, "VERSION_PATCH=%d\n", v.Patch) f(&b, "VERSION_SHORT=%q\n", v.Short) f(&b, "VERSION_LONG=%q\n", v.Long) f(&b, "VERSION_GIT_HASH=%q\n", v.GitHash) @@ -193,6 +202,9 @@ func mkOutput(v verInfo) (VersionInfo, error) { xcodeMacOS := fmt.Sprintf("%d.%d.%d", otherTime.Year()-1750, otherTime.YearDay(), otherTime.Hour()*60*60+otherTime.Minute()*60+otherTime.Second()) return VersionInfo{ + Major: v.major, + Minor: v.minor, + Patch: v.patch, Short: fmt.Sprintf("%d.%d.%d", v.major, v.minor, v.patch), Long: fmt.Sprintf("%d.%d.%d%s%s", v.major, v.minor, v.patch, changeSuffix, hashes), GitHash: fmt.Sprintf("%s", v.hash), diff --git a/version/mkversion/mkversion_test.go b/version/mkversion/mkversion_test.go index 6d3d1918b..fb0603ea4 100644 --- a/version/mkversion/mkversion_test.go +++ b/version/mkversion/mkversion_test.go @@ -32,6 +32,9 @@ func TestMkversion(t *testing.T) { want string }{ {mkInfo("abcdef", "", otherDate, 0, 98, 0, 0), ` + VERSION_MAJOR=0 + VERSION_MINOR=98 + VERSION_PATCH=0 VERSION_SHORT="0.98.0" VERSION_LONG="0.98.0-tabcdef" VERSION_GIT_HASH="abcdef" @@ -44,6 +47,9 @@ func TestMkversion(t *testing.T) { VERSION_MSIPRODUCT_ARM64="1C41380B-A742-5A3C-AF5D-DF7894DD0FB8" VERSION_MSIPRODUCT_X86="4ABDDA14-7499-5C2E-A62A-DD435C50C4CB"`}, {mkInfo("abcdef", "", otherDate, 0, 98, 1, 0), ` + VERSION_MAJOR=0 + VERSION_MINOR=98 + VERSION_PATCH=1 VERSION_SHORT="0.98.1" VERSION_LONG="0.98.1-tabcdef" VERSION_GIT_HASH="abcdef" @@ -56,6 +62,9 @@ func TestMkversion(t *testing.T) { VERSION_MSIPRODUCT_ARM64="A4CCF19C-372B-5007-AFD8-1AF661DFF670" VERSION_MSIPRODUCT_X86="FF12E937-DDC4-5868-9B63-D35B2050D4EA"`}, {mkInfo("abcdef", "", otherDate, 1, 2, 9, 0), ` + VERSION_MAJOR=1 + VERSION_MINOR=2 + VERSION_PATCH=9 VERSION_SHORT="1.2.9" VERSION_LONG="1.2.9-tabcdef" VERSION_GIT_HASH="abcdef" @@ -68,6 +77,9 @@ func TestMkversion(t *testing.T) { VERSION_MSIPRODUCT_ARM64="91D16F75-2A12-5E12-820A-67B89BF858E7" VERSION_MSIPRODUCT_X86="8F1AC1C6-B93B-5C70-802E-6AE9591FA0D6"`}, {mkInfo("abcdef", "", otherDate, 1, 15, 0, 129), ` + VERSION_MAJOR=1 + VERSION_MINOR=15 + VERSION_PATCH=129 VERSION_SHORT="1.15.129" VERSION_LONG="1.15.129-tabcdef" VERSION_GIT_HASH="abcdef" @@ -80,6 +92,9 @@ func TestMkversion(t *testing.T) { VERSION_MSIPRODUCT_ARM64="DB1A2E86-66C4-5CEC-8F4C-7DB805370F3A" VERSION_MSIPRODUCT_X86="DC57C0C3-5164-5C92-86B3-2800CEFF0540"`}, {mkInfo("abcdef", "", otherDate, 1, 2, 0, 17), ` + VERSION_MAJOR=1 + VERSION_MINOR=2 + VERSION_PATCH=0 VERSION_SHORT="1.2.0" VERSION_LONG="1.2.0-17-tabcdef" VERSION_GIT_HASH="abcdef" @@ -92,6 +107,9 @@ func TestMkversion(t *testing.T) { VERSION_MSIPRODUCT_ARM64="39D5D46E-E644-5C80-9EF8-224AC1AD5969" VERSION_MSIPRODUCT_X86="4487136B-2D11-5E42-BD80-B8529F3326F4"`}, {mkInfo("abcdef", "defghi", otherDate, 1, 15, 0, 129), ` + VERSION_MAJOR=1 + VERSION_MINOR=15 + VERSION_PATCH=129 VERSION_SHORT="1.15.129" VERSION_LONG="1.15.129-tabcdef-gdefghi" VERSION_GIT_HASH="abcdef" @@ -104,6 +122,9 @@ func TestMkversion(t *testing.T) { VERSION_MSIPRODUCT_ARM64="DB1A2E86-66C4-5CEC-8F4C-7DB805370F3A" VERSION_MSIPRODUCT_X86="DC57C0C3-5164-5C92-86B3-2800CEFF0540"`}, {mkInfo("abcdef", "", otherDate, 1, 2, 0, 17), ` + VERSION_MAJOR=1 + VERSION_MINOR=2 + VERSION_PATCH=0 VERSION_SHORT="1.2.0" VERSION_LONG="1.2.0-17-tabcdef" VERSION_GIT_HASH="abcdef" @@ -116,6 +137,9 @@ func TestMkversion(t *testing.T) { VERSION_MSIPRODUCT_ARM64="39D5D46E-E644-5C80-9EF8-224AC1AD5969" VERSION_MSIPRODUCT_X86="4487136B-2D11-5E42-BD80-B8529F3326F4"`}, {mkInfo("abcdef", "defghi", otherDate, 1, 15, 0, 129), ` + VERSION_MAJOR=1 + VERSION_MINOR=15 + VERSION_PATCH=129 VERSION_SHORT="1.15.129" VERSION_LONG="1.15.129-tabcdef-gdefghi" VERSION_GIT_HASH="abcdef"