5
5
"compress/gzip"
6
6
"fmt"
7
7
"github.com/google/go-github/v29/github"
8
+ "github.com/linuxsuren/cobra-extension/common"
8
9
gh "github.com/linuxsuren/cobra-extension/github"
9
10
httpdownloader "github.com/linuxsuren/http-downloader/pkg"
10
11
"github.com/spf13/cobra"
@@ -76,8 +77,18 @@ func (o *SelfUpgradeOption) RunE(cmd *cobra.Command, args []string) (err error)
76
77
}
77
78
return
78
79
}
79
- f .Close ()
80
+ defer func () {
81
+ _ = f .Close ()
82
+ }()
83
+
84
+ currentVersion := GetVersion ()
85
+ err = o .Download (cmd , version , currentVersion , targetPath )
86
+ return
87
+ }
80
88
89
+ // Download downloads the binary file from GitHub release
90
+ // Org, Repo, Name is necessary
91
+ func (o * SelfUpgradeOption ) Download (log common.Printer , version , currentVersion , targetPath string ) (err error ) {
81
92
// try to understand the version from user input
82
93
switch version {
83
94
case "dev" :
@@ -98,12 +109,11 @@ func (o *SelfUpgradeOption) RunE(cmd *cobra.Command, args []string) (err error)
98
109
}
99
110
100
111
// version review
101
- currentVersion := GetVersion ()
102
112
if currentVersion == version {
103
- cmd .Printf ("no need to upgrade %s\n " , o .Name )
113
+ log .Printf ("no need to upgrade %s\n " , o .Name )
104
114
return
105
115
}
106
- cmd .Println (fmt .Sprintf ("prepare to upgrade to %s" , version ))
116
+ log .Println (fmt .Sprintf ("prepare to upgrade to %s" , version ))
107
117
108
118
// download the tar file of target file
109
119
tmpDir := os .TempDir ()
@@ -121,7 +131,7 @@ func (o *SelfUpgradeOption) RunE(cmd *cobra.Command, args []string) (err error)
121
131
o .downloadCount (version , runtime .GOOS )
122
132
}()
123
133
}
124
- cmd .Println ("start to download from" , fileURL )
134
+ log .Println ("start to download from" , fileURL )
125
135
126
136
defer func () {
127
137
_ = os .RemoveAll (output )
0 commit comments