From daf58fbaf6faa2ff43bb3621813827a0c19f9ac0 Mon Sep 17 00:00:00 2001 From: Kyle Williams Date: Wed, 9 Dec 2020 10:58:54 -0700 Subject: [PATCH] Add availble update check --- selfupdate/selfupdate.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/selfupdate/selfupdate.go b/selfupdate/selfupdate.go index 414d3a2..564815d 100644 --- a/selfupdate/selfupdate.go +++ b/selfupdate/selfupdate.go @@ -158,6 +158,29 @@ func (u *Updater) ClearUpdateState() { os.Remove(path) } +// UpdateAvailable checks if update is available and returns version +func (u *Updater) UpdateAvailable() (string, error) { + path, err := osext.Executable() + if err != nil { + return "", err + } + old, err := os.Open(path) + if err != nil { + return "", err + } + defer old.Close() + + err = u.fetchInfo() + if err != nil { + return "", err + } + if u.Info.Version == u.CurrentVersion { + return "", nil + } else { + return u.Info.Version, nil + } +} + // Update initiates the self update process func (u *Updater) Update() error { path, err := osext.Executable()