Skip to content

Commit

Permalink
feat: add a flag to check version (#357)
Browse files Browse the repository at this point in the history
Co-authored-by: rick <LinuxSuRen@users.noreply.github.com>
  • Loading branch information
LinuxSuRen and LinuxSuRen committed Feb 20, 2023
1 parent d669e7f commit 4d6f7ad
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 6 deletions.
13 changes: 8 additions & 5 deletions cmd/install.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,15 +89,18 @@ func (o *installOption) shouldInstall() (should, exist bool) {
var greater bool
if name, lookErr := o.execer.LookPath(o.tool); lookErr == nil {
exist = true
versionCmd := "version"

var versionCmd string
if o.downloadOption != nil && o.downloadOption.Package != nil && o.downloadOption.Package.VersionCmd != "" {
versionCmd = o.downloadOption.Package.VersionCmd
}

log.Println("check target version via", name, versionCmd)
if data, err := o.execer.Command(name, versionCmd); err == nil &&
(o.downloadOption.Package != nil && o.downloadOption.Package.Version != "") {
greater = version.GreatThan(o.downloadOption.Package.Version, string(data))
if versionCmd != "" {
log.Println("check target version via", name, versionCmd)
if data, err := o.execer.Command(name, versionCmd); err == nil &&
(o.downloadOption.Package != nil && o.downloadOption.Package.Version != "") {
greater = version.GreatThan(o.downloadOption.Package.Version, string(data))
}
}
}
should = o.force || !exist || greater
Expand Down
3 changes: 2 additions & 1 deletion cmd/install_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,8 @@ func TestShouldInstall(t *testing.T) {
},
downloadOption: &downloadOption{
Package: &installer.HDConfig{
Version: "v1.2.4",
Version: "v1.2.4",
VersionCmd: "-v",
},
},
tool: "fake",
Expand Down

0 comments on commit 4d6f7ad

Please sign in to comment.