From 95718afa2315b44cc170037918b502c8241a7333 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Sat, 5 Sep 2020 22:55:50 +0200 Subject: [PATCH] Extend Allowed Version Formats * accept "V" at the beginning * allow various git metadata --- version.go | 3 ++- version_test.go | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/version.go b/version.go index 09703e8..1d96a6f 100644 --- a/version.go +++ b/version.go @@ -18,9 +18,10 @@ var ( // The raw regular expression string used for testing the validity // of a version. const ( - VersionRegexpRaw string = `v?([0-9]+(\.[0-9]+)*?)` + + VersionRegexpRaw string = `[vV]?([0-9]+(\.[0-9]+)*?)` + `(-([0-9]+[0-9A-Za-z\-~]*(\.[0-9A-Za-z\-~]+)*)|(-?([A-Za-z\-~]+[0-9A-Za-z\-~]*(\.[0-9A-Za-z\-~]+)*)))?` + `(\+([0-9A-Za-z\-~]+(\.[0-9A-Za-z\-~]+)*))?` + + `([\+\.\-~]g[0-9A-Fa-f]{10}$)?` + `?` // SemverRegexpRaw requires a separator between version and prerelease diff --git a/version_test.go b/version_test.go index cbbeac8..37a2553 100644 --- a/version_test.go +++ b/version_test.go @@ -34,6 +34,7 @@ func TestNewVersion(t *testing.T) { {"1.7rc2", false}, {"v1.7rc2", false}, {"1.0-", false}, + {"2.28.0.618.gf4bc123cb7", false}, } for _, tc := range cases {