30 lines
607 B
Go
30 lines
607 B
Go
|
package version
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"log"
|
||
|
|
||
|
"golang.org/x/mod/semver"
|
||
|
)
|
||
|
|
||
|
const CurrentVersion string = "v0.11.0"
|
||
|
|
||
|
func NewVersionAvailable(v string) bool {
|
||
|
if !semver.IsValid(CurrentVersion) {
|
||
|
panic(fmt.Sprintf("my current version '%s' is not valid", CurrentVersion))
|
||
|
}
|
||
|
if !semver.IsValid(v) {
|
||
|
// maybe this should just be a warning
|
||
|
log.Printf("passed in version '%s' is not valid - assuming no new version", v)
|
||
|
return false
|
||
|
}
|
||
|
comp := semver.Compare(v, CurrentVersion)
|
||
|
if comp == 0 {
|
||
|
return false
|
||
|
}
|
||
|
if comp == -1 {
|
||
|
return true
|
||
|
}
|
||
|
return false // they are using a newer one than exists?
|
||
|
}
|