From 3a75375a5db955093eb15ecaa140dbfe7a6fb2ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Br=C3=B8ndum?= Date: Thu, 8 Oct 2020 07:26:35 +0200 Subject: [PATCH 1/7] added support for prefix of any character followed by "-" --- version.go | 4 ++-- version_test.go | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/version.go b/version.go index 09703e8..4d5c7b9 100644 --- a/version.go +++ b/version.go @@ -18,13 +18,13 @@ var ( // The raw regular expression string used for testing the validity // of a version. const ( - VersionRegexpRaw string = `v?([0-9]+(\.[0-9]+)*?)` + + VersionRegexpRaw string = `(?:\w+\-)?v?([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\-~]+)*))?` + `?` // SemverRegexpRaw requires a separator between version and prerelease - SemverRegexpRaw string = `v?([0-9]+(\.[0-9]+)*?)` + + SemverRegexpRaw string = `(?:\w+\-)?v?([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\-~]+)*))?` + `?` diff --git a/version_test.go b/version_test.go index cbbeac8..3f17b01 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}, + {"controller-v0.40.2", false}, } for _, tc := range cases { @@ -75,6 +76,7 @@ func TestNewSemver(t *testing.T) { {"1.7rc2", true}, {"v1.7rc2", true}, {"1.0-", true}, + {"controller-v0.40.2", false}, } for _, tc := range cases { @@ -110,6 +112,9 @@ func TestVersionCompare(t *testing.T) { {"1.7rc2", "1.7rc1", 1}, {"1.7rc2", "1.7", -1}, {"1.2.0", "1.2.0-X-1.2.0+metadata~dist", 1}, + {"controller-v0.40.2", "controller-v0.40.3", -1}, + {"0.40.4", "controller-v0.40.2", 1}, + {"0.40.4", "controller-v0.40.4", 0}, } for _, tc := range cases { From 77e9ca79bbc77721457d6ddeeabfc4ac4b977cec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Br=C3=B8ndum?= Date: Thu, 8 Oct 2020 08:51:24 +0200 Subject: [PATCH 2/7] go mod added ? --- go.mod | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index f528555..0c63262 100644 --- a/go.mod +++ b/go.mod @@ -1 +1,3 @@ -module github.com/hashicorp/go-version +module github.com/BESTSELLER/go-version + +go 1.15 From eccb7d84cfa4b5230d508ad0663a1da9d07ae5c7 Mon Sep 17 00:00:00 2001 From: Gaardsholt Date: Thu, 8 Oct 2020 11:59:28 +0200 Subject: [PATCH 3/7] going back ! --- go.mod | 2 ++ 1 file changed, 2 insertions(+) diff --git a/go.mod b/go.mod index f528555..cbce19e 100644 --- a/go.mod +++ b/go.mod @@ -1 +1,3 @@ module github.com/hashicorp/go-version + +go 1.15 From fbeb6f005f22b269375059d73adae307689538d6 Mon Sep 17 00:00:00 2001 From: brondum <34370407+brondum@users.noreply.github.com> Date: Fri, 9 Oct 2020 08:45:10 +0200 Subject: [PATCH 4/7] removed go version from go.mod --- go.mod | 2 -- 1 file changed, 2 deletions(-) diff --git a/go.mod b/go.mod index cbce19e..f528555 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1 @@ module github.com/hashicorp/go-version - -go 1.15 From 07abfb8ad94e47103e095bdcc6a7ce3318cb99d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Br=C3=B8ndum?= Date: Fri, 9 Oct 2020 11:54:57 +0200 Subject: [PATCH 5/7] Modified regex to support multiple "-". --- version.go | 4 ++-- version_test.go | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/version.go b/version.go index 4d5c7b9..cb56a64 100644 --- a/version.go +++ b/version.go @@ -18,13 +18,13 @@ var ( // The raw regular expression string used for testing the validity // of a version. const ( - VersionRegexpRaw string = `(?:\w+\-)?v?([0-9]+(\.[0-9]+)*?)` + + VersionRegexpRaw string = `(?:\w+\-)*v?([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\-~]+)*))?` + `?` // SemverRegexpRaw requires a separator between version and prerelease - SemverRegexpRaw string = `(?:\w+\-)?v?([0-9]+(\.[0-9]+)*?)` + + SemverRegexpRaw string = `(?:\w+\-)*v?([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\-~]+)*))?` + `?` diff --git a/version_test.go b/version_test.go index 3f17b01..4056634 100644 --- a/version_test.go +++ b/version_test.go @@ -35,6 +35,7 @@ func TestNewVersion(t *testing.T) { {"v1.7rc2", false}, {"1.0-", false}, {"controller-v0.40.2", false}, + {"azure-cli-v1.4.2", false}, } for _, tc := range cases { @@ -77,6 +78,7 @@ func TestNewSemver(t *testing.T) { {"v1.7rc2", true}, {"1.0-", true}, {"controller-v0.40.2", false}, + {"azure-cli-v1.4.2", false}, } for _, tc := range cases { @@ -115,6 +117,9 @@ func TestVersionCompare(t *testing.T) { {"controller-v0.40.2", "controller-v0.40.3", -1}, {"0.40.4", "controller-v0.40.2", 1}, {"0.40.4", "controller-v0.40.4", 0}, + {"azure-cli-v1.4.2", "azure-cli-v1.4.2", 0}, + {"azure-cli-v1.4.1", "azure-cli-v1.4.2", -1}, + {"1.4.3", "azure-cli-v1.4.2", 1}, } for _, tc := range cases { From aa13b32f0d1b1541580153252ba80fef0fe3c7b1 Mon Sep 17 00:00:00 2001 From: brondum <34370407+brondum@users.noreply.github.com> Date: Fri, 9 Oct 2020 11:56:01 +0200 Subject: [PATCH 6/7] revert go.mod file --- go.mod | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0c63262..f528555 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1 @@ -module github.com/BESTSELLER/go-version - -go 1.15 +module github.com/hashicorp/go-version From 4c2cb3045bde563cebcf2de4fe676a3b4de78b33 Mon Sep 17 00:00:00 2001 From: Lasse Gaardsholt Date: Thu, 11 May 2023 22:01:46 +0200 Subject: [PATCH 7/7] ES-2568: Create catalog-info.yaml --- catalog-info.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 catalog-info.yaml diff --git a/catalog-info.yaml b/catalog-info.yaml new file mode 100644 index 0000000..172e77c --- /dev/null +++ b/catalog-info.yaml @@ -0,0 +1,14 @@ +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: go-version + description: | + A fork of tje go library `go-version` create by HashiCorp. + Original source code can be found here: https://github.com/hashicorp/go-version + The only reason we made a fork was because we had some other requirements in the regex being used in the original library. + annotations: + github.com/project-slug: BESTSELLER/go-version +spec: + type: library + lifecycle: production + owner: engineering-services