Skip to content

Commit 84e7126

Browse files
committed
refactored
1 parent a7c5a1d commit 84e7126

8 files changed

Lines changed: 1120 additions & 994 deletions

File tree

api.go

Lines changed: 186 additions & 213 deletions
Large diffs are not rendered by default.

autoupgrade.go

Lines changed: 32 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,75 +5,81 @@ import (
55
"os"
66
"runtime/debug"
77

8-
"github.com/joho/godotenv"
9-
108
"github.com/blang/semver"
9+
"github.com/joho/godotenv"
1110
"github.com/rhysd/go-github-selfupdate/selfupdate"
1211
)
1312

14-
var version string
13+
// appVersion はビルド時に埋め込まれるバージョン情報である
14+
var appVersion string
1515

16+
const (
17+
githubRepo = "Rione/ssl-RACOON-Pi2"
18+
)
19+
20+
// getVersion は現在のアプリケーションバージョンを取得する
1621
func getVersion() string {
17-
if version != "" {
18-
// バージョン情報が埋め込まれている時
19-
return version
22+
if appVersion != "" {
23+
return appVersion
2024
}
21-
i, ok := debug.ReadBuildInfo()
22-
log.Println(debug.ReadBuildInfo())
25+
26+
buildInfo, ok := debug.ReadBuildInfo()
2327
if !ok {
2428
return "unknown"
2529
}
26-
log.Println(i.Main.Version)
27-
return i.Main.Version
30+
31+
log.Println("Build version:", buildInfo.Main.Version)
32+
return buildInfo.Main.Version
2833
}
2934

35+
// confirmAndSelfUpdate はGitHubから最新版を確認し、必要に応じて自動更新を行う
3036
func confirmAndSelfUpdate() {
31-
var version = getVersion()
32-
log.Println("Current version:", version)
37+
currentVersion := getVersion()
38+
log.Println("Current version:", currentVersion)
3339

34-
if version == "(devel)" || version == "unknown" {
35-
log.Println("NO VERSION INFO(DEV VERSION)")
40+
if currentVersion == "(devel)" || currentVersion == "unknown" {
41+
log.Println("NO VERSION INFO (DEV VERSION)")
3642
return
3743
}
3844

39-
// selfupdate.EnableLog()
40-
// .envファイルを読み込む
41-
err := godotenv.Load()
42-
if err != nil {
43-
log.Println("Error loading .env file")
45+
// .envファイルからGitHubトークンを読み込む
46+
if err := godotenv.Load(); err != nil {
47+
log.Println("Error loading .env file:", err)
4448
return
4549
}
46-
up, err := selfupdate.NewUpdater(selfupdate.Config{
50+
51+
updater, err := selfupdate.NewUpdater(selfupdate.Config{
4752
APIToken: os.Getenv("GITHUB_TOKEN"),
4853
})
4954
if err != nil {
5055
log.Println("Error occurred while creating the updater:", err)
5156
return
5257
}
5358

54-
latest, found, err := up.DetectLatest("Rione/ssl-RACOON-Pi2")
59+
latest, found, err := updater.DetectLatest(githubRepo)
5560
if err != nil {
5661
log.Println("Error occurred while detecting version:", err)
5762
return
5863
}
64+
5965
if !found {
6066
log.Println("No releases found")
6167
return
6268
}
6369

64-
v := semver.MustParse(version)
65-
if !found || latest.Version.Equals(v) || !latest.Version.GT(v) {
70+
currentSemVer := semver.MustParse(currentVersion)
71+
if latest.Version.Equals(currentSemVer) || !latest.Version.GT(currentSemVer) {
6672
log.Println("Current version is the latest")
6773
return
6874
}
75+
6976
log.Println("New version available:", latest.Version)
7077

71-
latest, err = up.UpdateSelf(v, "Rione/ssl-RACOON-Pi2")
72-
if err != nil {
78+
if _, err = updater.UpdateSelf(currentSemVer, githubRepo); err != nil {
7379
log.Println("Error occurred while updating binary:", err)
7480
return
7581
}
76-
log.Println("Successfully updated to version", latest.Version)
7782

83+
log.Println("Successfully updated to version", latest.Version)
7884
os.Exit(1)
7985
}

0 commit comments

Comments
 (0)