github.com/liamawhite/cli-with-i18n@v6.32.1-0.20171122084555-dede0a5c3448+incompatible/command/minimum_version_check.go (about) 1 package command 2 3 import ( 4 "github.com/blang/semver" 5 "github.com/liamawhite/cli-with-i18n/command/translatableerror" 6 "github.com/liamawhite/cli-with-i18n/version" 7 ) 8 9 func MinimumAPIVersionCheck(current string, minimum string, customCommand ...string) error { 10 if current == version.DefaultVersion || minimum == "" { 11 return nil 12 } 13 14 currentSemvar, err := semver.Make(current) 15 if err != nil { 16 return err 17 } 18 19 minimumSemvar, err := semver.Make(minimum) 20 if err != nil { 21 return err 22 } 23 24 var command string 25 if len(customCommand) > 0 { 26 command = customCommand[0] 27 } 28 29 if currentSemvar.Compare(minimumSemvar) == -1 { 30 return translatableerror.MinimumAPIVersionNotMetError{ 31 Command: command, 32 CurrentVersion: current, 33 MinimumVersion: minimum, 34 } 35 } 36 37 return nil 38 }