|
@@ -13,22 +13,27 @@ func main() {
|
|
|
versionFile := "version"
|
|
|
b, err := os.ReadFile(versionFile)
|
|
|
if err != nil {
|
|
|
- file, err := os.OpenFile(versionFile, os.O_RDWR|os.O_CREATE, 0777)
|
|
|
- if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
- return
|
|
|
- }
|
|
|
- defer file.Close()
|
|
|
- file.WriteString("v1.0.0")
|
|
|
- cmd := exec.Command("git", "add", versionFile)
|
|
|
- err = cmd.Run()
|
|
|
- if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
+ if os.IsNotExist(err) {
|
|
|
+ file, err := os.OpenFile(versionFile, os.O_RDWR|os.O_CREATE, 0777)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Printf("create file %s error: %v\n", versionFile, err)
|
|
|
+ os.Exit(1)
|
|
|
+ }
|
|
|
+ defer file.Close()
|
|
|
+ file.WriteString("v1.0.0") // 初始版本
|
|
|
+ cmd := exec.Command("git", "add", versionFile)
|
|
|
+ err = cmd.Run()
|
|
|
+ if err != nil {
|
|
|
+ fmt.Printf("git add %s error: %v\n", versionFile, err)
|
|
|
+ os.Exit(1)
|
|
|
+ }
|
|
|
+ return // 正常返回
|
|
|
+ } else {
|
|
|
+ fmt.Printf("read file ./version error: %v\n", err)
|
|
|
+ os.Exit(1)
|
|
|
}
|
|
|
- return
|
|
|
}
|
|
|
- fmt.Println("old version", string(b))
|
|
|
- file, err := os.OpenFile("version", os.O_RDWR|os.O_TRUNC, 0777)
|
|
|
+ file, err := os.OpenFile(versionFile, os.O_RDWR|os.O_TRUNC, 0777)
|
|
|
if err != nil {
|
|
|
fmt.Println(err)
|
|
|
return
|
|
@@ -43,44 +48,61 @@ func main() {
|
|
|
}
|
|
|
bs[len(bs)-1] = []byte(fmt.Sprintf("%d", i+1))
|
|
|
tb := bytes.Join(bs, []byte{'.'})
|
|
|
- fmt.Println("new version", string(tb))
|
|
|
- file.Write(tb)
|
|
|
+ _, err = file.Write(tb)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("write new version error:", err)
|
|
|
+ os.Exit(1)
|
|
|
+ }
|
|
|
cmd := exec.Command("git", "add", versionFile)
|
|
|
err = cmd.Run()
|
|
|
if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
+ fmt.Printf("git add %s error: %v\n", versionFile, err)
|
|
|
+ os.Exit(1)
|
|
|
}
|
|
|
+ fmt.Printf("from version %s to %s\n", string(b), string(tb))
|
|
|
+
|
|
|
// Windows编译版本文件
|
|
|
winVersionFile := "./versioninfo.json"
|
|
|
_, err = os.Stat(winVersionFile)
|
|
|
+ var exist bool
|
|
|
if err != nil {
|
|
|
- return
|
|
|
- }
|
|
|
- winB, err := os.ReadFile(winVersionFile)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("open ", winVersionFile, "error: ", err)
|
|
|
- return
|
|
|
- }
|
|
|
- fmt.Println("xxxxxxxxxx", len(winB))
|
|
|
- var winV windowsVersion
|
|
|
- err = json.Unmarshal(winB, &winV)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("invalid format of Windows version info: xxxx", err, string(winB))
|
|
|
- }
|
|
|
- winV.StringFileInfo.ProductVersion = string(tb)
|
|
|
- file1, _ := os.OpenFile(winVersionFile, os.O_RDWR|os.O_TRUNC, 0777)
|
|
|
- defer file1.Close()
|
|
|
- vb, _ := json.MarshalIndent(winV, "", " ")
|
|
|
- _, err = file1.Write(vb)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("write new windows version error: ", err)
|
|
|
- return
|
|
|
+ if !os.IsNotExist(err) {
|
|
|
+ fmt.Printf("stat file %s error: %v\n", winVersionFile, err)
|
|
|
+ os.Exit(1)
|
|
|
+ } else {
|
|
|
+ fmt.Println("xxxxxxxxx 无 ", winVersionFile)
|
|
|
+ return // 正常返回
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ exist = true
|
|
|
}
|
|
|
- cmd2 := exec.Command("git", "add", winVersionFile)
|
|
|
- err = cmd2.Run()
|
|
|
- if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
- return
|
|
|
+ if exist {
|
|
|
+ winB, err := os.ReadFile(winVersionFile)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("open ", winVersionFile, "error: ", err)
|
|
|
+ os.Exit(1)
|
|
|
+ }
|
|
|
+ var winV windowsVersion
|
|
|
+ err = json.Unmarshal(winB, &winV)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("invalid format of Windows version info: ", err, string(winB))
|
|
|
+ os.Exit(1)
|
|
|
+ }
|
|
|
+ winV.StringFileInfo.ProductVersion = string(tb)
|
|
|
+ file1, _ := os.OpenFile(winVersionFile, os.O_RDWR|os.O_TRUNC, 0777)
|
|
|
+ defer file1.Close()
|
|
|
+ vb, _ := json.MarshalIndent(winV, "", " ")
|
|
|
+ _, err = file1.Write(vb)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("write new windows version error: ", err)
|
|
|
+ os.Exit(1)
|
|
|
+ }
|
|
|
+ cmd2 := exec.Command("git", "add", winVersionFile)
|
|
|
+ err = cmd2.Run()
|
|
|
+ if err != nil {
|
|
|
+ fmt.Printf("git add %s error: %v\n", winVersionFile, err)
|
|
|
+ os.Exit(1)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|