github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/internal/version/version.go (about) 1 package version 2 3 import ( 4 "github.com/ActiveState/cli/internal/constants" 5 "github.com/ActiveState/cli/internal/errs" 6 "github.com/blang/semver" 7 ) 8 9 func ParseStateToolVersion(version string) (semver.Version, error) { 10 ver, err := semver.Parse(version) 11 if err != nil { 12 return ver, errs.Wrap(err, "Failed to parse State Tool version %s", version) 13 } 14 15 return ver, nil 16 } 17 18 func IsMultiFileUpdate(version semver.Version) bool { 19 // We ignore pre-release tags for this version test, as our attaching of `-SHA123455` is technically interpreted as a pre-release 20 testVer := version 21 testVer.Pre = nil 22 return testVer.GTE(semver.MustParse(constants.FirstMultiFileStateToolVersion)) || (version.Major == 0 && version.Minor == 0 && version.Patch == 0) 23 }