main.go 890 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package main
  2. import (
  3. "bytes"
  4. "fmt"
  5. "io/ioutil"
  6. "os"
  7. "os/exec"
  8. "strconv"
  9. )
  10. func main() {
  11. b, err := ioutil.ReadFile("version")
  12. if err != nil {
  13. file, err := os.OpenFile("version", os.O_RDWR|os.O_CREATE, 0777)
  14. if err != nil {
  15. fmt.Println(err)
  16. return
  17. }
  18. defer file.Close()
  19. file.WriteString("v1.0.0")
  20. return
  21. }
  22. fmt.Println("old version", string(b))
  23. file, err := os.OpenFile("version", os.O_RDWR|os.O_TRUNC, 0777)
  24. if err != nil {
  25. fmt.Println(err)
  26. return
  27. }
  28. defer file.Close()
  29. bs := bytes.Split(b, []byte{'.'})
  30. lb := bs[len(bs)-1]
  31. i, err := strconv.Atoi(string(lb))
  32. if err != nil {
  33. fmt.Println(err)
  34. return
  35. }
  36. bs[len(bs)-1] = []byte(fmt.Sprintf("%d", i+1))
  37. tb := bytes.Join(bs, []byte{'.'})
  38. fmt.Println("new version", string(tb))
  39. file.Write(tb)
  40. cmd := exec.Command("git", "add", "./version")
  41. err = cmd.Run()
  42. if err != nil {
  43. fmt.Println(err)
  44. }
  45. }