1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package main
- import (
- "bytes"
- "fmt"
- "io/ioutil"
- "os"
- "os/exec"
- "strconv"
- )
- func main() {
- b, err := ioutil.ReadFile("version")
- if err != nil {
- file, err := os.OpenFile("version", os.O_RDWR|os.O_CREATE, 0777)
- if err != nil {
- fmt.Println(err)
- return
- }
- defer file.Close()
- file.WriteString("v1.0.0")
- return
- }
- fmt.Println("old version", string(b))
- file, err := os.OpenFile("version", os.O_RDWR|os.O_TRUNC, 0777)
- if err != nil {
- fmt.Println(err)
- return
- }
- defer file.Close()
- bs := bytes.Split(b, []byte{'.'})
- lb := bs[len(bs)-1]
- i, err := strconv.Atoi(string(lb))
- if err != nil {
- fmt.Println(err)
- return
- }
- bs[len(bs)-1] = []byte(fmt.Sprintf("%d", i+1))
- tb := bytes.Join(bs, []byte{'.'})
- fmt.Println("new version", string(tb))
- file.Write(tb)
- cmd := exec.Command("git", "add", "./version")
- err = cmd.Run()
- if err != nil {
- fmt.Println(err)
- }
- }
|