From 9a8d9677701ad53a8acbdd0d55f3c348310fa433 Mon Sep 17 00:00:00 2001 From: Andrew Kroh Date: Fri, 13 Nov 2020 12:35:40 -0500 Subject: [PATCH] Fix version parser regex for packaging This fixes the version parser regex to allow it to handle double digit major/minor/patch values. It fixes the FileVersion added to Windows exe files. --- CHANGELOG.next.asciidoc | 1 + dev-tools/mage/common.go | 2 +- dev-tools/mage/common_test.go | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 74f71615c880..4b969784d9b4 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -215,6 +215,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Fixed documentation for commands in beats dev guide {pull}22194[22194] - Fix parsing of expired licences. {issue}21112[21112] {pull}22180[22180] - Fix duplicated pod events in kubernetes autodiscover for pods with init or ephemeral containers. {pull}22438[22438] +- Fix FileVersion contained in Windows exe files. {pull}22581[22581] *Auditbeat* diff --git a/dev-tools/mage/common.go b/dev-tools/mage/common.go index e4b93625b75c..dd0a2fd56c2c 100644 --- a/dev-tools/mage/common.go +++ b/dev-tools/mage/common.go @@ -782,7 +782,7 @@ func binaryExtension(goos string) string { return "" } -var parseVersionRegex = regexp.MustCompile(`(?m)^[^\d]*(?P\d)+\.(?P\d)+(?:\.(?P\d)+.*)?$`) +var parseVersionRegex = regexp.MustCompile(`(?m)^[^\d]*(?P\d+)\.(?P\d+)(?:\.(?P\d+).*)?$`) // ParseVersion extracts the major, minor, and optional patch number from a // version string. diff --git a/dev-tools/mage/common_test.go b/dev-tools/mage/common_test.go index e4ce81505ad0..8b6ac8bd7323 100644 --- a/dev-tools/mage/common_test.go +++ b/dev-tools/mage/common_test.go @@ -33,6 +33,8 @@ func TestParseVersion(t *testing.T) { {"1.2.3-SNAPSHOT", 1, 2, 3}, {"1.2.3rc1", 1, 2, 3}, {"1.2", 1, 2, 0}, + {"7.10.0", 7, 10, 0}, + {"10.01.22", 10, 1, 22}, } for _, tc := range tests {