@@ -20,9 +20,14 @@ import (
2020const (
2121 goBrewDir string = ".gobrew"
2222 DefaultRegistryPath string = "https://go.dev/dl/"
23- DownloadUrl string = "https://github.com/kevincobain2000/gobrew/releases/latest/download/"
24- TagsApi = "https://raw.githubusercontent.com/kevincobain2000/gobrew/json/golang-tags.json"
25- VersionsUrl string = "https://api.github.com/repos/kevincobain2000/gobrew/releases/latest"
23+ DownloadURL string = "https://github.com/kevincobain2000/gobrew/releases/latest/download/"
24+ TagsAPI = "https://raw.githubusercontent.com/kevincobain2000/gobrew/json/golang-tags.json"
25+ VersionsURL string = "https://api.github.com/repos/kevincobain2000/gobrew/releases/latest"
26+ )
27+
28+ const (
29+ NoneVersion = "None"
30+ ProgramName = "gobrew"
2631)
2732
2833// check GoBrew implement is Command interface
@@ -31,7 +36,7 @@ var _ Command = (*GoBrew)(nil)
3136// Command ...
3237type Command interface {
3338 ListVersions ()
34- ListRemoteVersions (print bool ) map [string ][]string
39+ ListRemoteVersions (bool ) map [string ][]string
3540 CurrentVersion () string
3641 Uninstall (version string )
3742 Install (version string ) string
@@ -55,10 +60,10 @@ type GoBrew struct {
5560
5661type Config struct {
5762 RootDir string
58- RegistryPathUrl string
59- GobrewDownloadUrl string
63+ RegistryPathURL string
64+ GobrewDownloadURL string
6065 GobrewTags string
61- GobrewVersionsUrl string
66+ GobrewVersionsURL string
6267}
6368
6469// NewGoBrew instance
@@ -85,19 +90,19 @@ func (gb *GoBrew) Interactive(ask bool) {
8590 latestVersion := gb .getLatestVersion ()
8691 latestMajorVersion := extractMajorVersion (latestVersion )
8792
88- modVersion := "None"
93+ modVersion := NoneVersion
8994 if gb .hasModFile () {
9095 modVersion = gb .getModVersion ()
9196 modVersion = extractMajorVersion (modVersion )
9297 }
9398
9499 fmt .Println ()
95100
96- if currentVersion == "None" {
101+ if currentVersion == NoneVersion {
97102 color .Warnln ("GO Installed Version" , "......." , currentVersion )
98103 } else {
99104 var labels []string
100- if modVersion != "None" && currentMajorVersion != modVersion {
105+ if modVersion != NoneVersion && currentMajorVersion != modVersion {
101106 labels = append (labels , "not same as go.mod" )
102107 }
103108 if currentVersion != latestVersion {
@@ -111,7 +116,7 @@ func (gb *GoBrew) Interactive(ask bool) {
111116 color .Successln ("GO Installed Version" , "......." , currentVersion + label )
112117 }
113118
114- if modVersion != "None" && latestMajorVersion != modVersion {
119+ if modVersion != NoneVersion && latestMajorVersion != modVersion {
115120 label := " " + color .FgYellow .Render ("(not latest)" )
116121 color .Successln ("GO go.mod Version" , " ......." , modVersion + label )
117122 } else {
@@ -121,7 +126,7 @@ func (gb *GoBrew) Interactive(ask bool) {
121126 color .Successln ("GO Latest Version" , " ......." , latestVersion )
122127 fmt .Println ()
123128
124- if currentVersion == "None" {
129+ if currentVersion == NoneVersion {
125130 color .Warnln ("GO is not installed." )
126131 c := true
127132 if ask {
@@ -133,7 +138,7 @@ func (gb *GoBrew) Interactive(ask bool) {
133138 return
134139 }
135140
136- if modVersion != "None" && currentMajorVersion != modVersion {
141+ if modVersion != NoneVersion && currentMajorVersion != modVersion {
137142 color .Warnf ("GO Installed Version (%s) and go.mod Version (%s) are different.\n " , currentMajorVersion , modVersion )
138143 c := true
139144 if ask {
@@ -268,12 +273,12 @@ func (gb *GoBrew) ListRemoteVersions(print bool) map[string][]string {
268273func (gb * GoBrew ) CurrentVersion () string {
269274 fp , err := evalSymlinks (gb .currentBinDir )
270275 if err != nil {
271- return "None"
276+ return NoneVersion
272277 }
273278 version := strings .TrimSuffix (fp , filepath .Join ("go" , "bin" ))
274279 version = filepath .Base (version )
275280 if version == "." {
276- return "None"
281+ return NoneVersion
277282 }
278283 return version
279284}
@@ -294,7 +299,7 @@ func (gb *GoBrew) Uninstall(version string) {
294299
295300// Install the given version of go
296301func (gb * GoBrew ) Install (version string ) string {
297- if version == "" || version == "None" {
302+ if version == "" || version == NoneVersion {
298303 color .Errorln ("[Error] No version provided" )
299304 os .Exit (1 )
300305 }
@@ -337,11 +342,11 @@ func (gb *GoBrew) Upgrade(currentVersion string) {
337342 return
338343 }
339344
340- mkdirTemp , _ := os .MkdirTemp ("" , "gobrew" )
341- tmpFile := filepath .Join (mkdirTemp , "gobrew" + fileExt )
342- downloadUrl , _ := url .JoinPath (gb .GobrewDownloadUrl , "gobrew-" + gb .getArch ()+ fileExt )
345+ mkdirTemp , _ := os .MkdirTemp ("" , ProgramName )
346+ tmpFile := filepath .Join (mkdirTemp , ProgramName + fileExt )
347+ downloadURL , _ := url .JoinPath (gb .GobrewDownloadURL , "gobrew-" + gb .getArch ()+ fileExt )
343348 utils .CheckError (
344- utils .DownloadWithProgress (downloadUrl , "gobrew" + fileExt , mkdirTemp ),
349+ utils .DownloadWithProgress (downloadURL , ProgramName + fileExt , mkdirTemp ),
345350 "[Error] Download GoBrew failed" )
346351
347352 source , err := os .Open (tmpFile )
@@ -351,7 +356,7 @@ func (gb *GoBrew) Upgrade(currentVersion string) {
351356 utils .CheckError (os .Remove (source .Name ()), "==> [Error] Cannot remove tmp file:" )
352357 }(source )
353358
354- goBrewFile := filepath .Join (gb .installDir , "bin" , "gobrew" + fileExt )
359+ goBrewFile := filepath .Join (gb .installDir , "bin" , ProgramName + fileExt )
355360 removeFile (goBrewFile )
356361 destination , err := os .Create (goBrewFile )
357362 utils .CheckError (err , "==> [Error] Cannot open file" )
0 commit comments