12345678910111213141516171819202122232425262728293031 |
- package logic
- import (
- "strings"
- "unicode"
- "github.com/hashicorp/go-version"
- )
- const MinVersion = "v0.17.0"
- // IsVersionCompatible checks that the version passed is compabtible (>=) with MinVersion
- func IsVersionComptatible(ver string) bool {
- // during dev, assume developers know what they are doing
- if ver == "dev" {
- return true
- }
- trimmed := strings.TrimFunc(ver, func(r rune) bool {
- return !unicode.IsNumber(r)
- })
- v, err := version.NewVersion(trimmed)
- if err != nil {
- return false
- }
- constraint, err := version.NewConstraint(">= " + MinVersion)
- if err != nil {
- return false
- }
- return constraint.Check(v)
- }
|