main.go 999 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. cmd := exec.Command("git", "add", "./version")
  21. err = cmd.Run()
  22. if err != nil {
  23. fmt.Println(err)
  24. }
  25. return
  26. }
  27. fmt.Println("old version", string(b))
  28. file, err := os.OpenFile("version", os.O_RDWR|os.O_TRUNC, 0777)
  29. if err != nil {
  30. fmt.Println(err)
  31. return
  32. }
  33. defer file.Close()
  34. bs := bytes.Split(b, []byte{'.'})
  35. lb := bs[len(bs)-1]
  36. i, err := strconv.Atoi(string(lb))
  37. if err != nil {
  38. fmt.Println(err)
  39. return
  40. }
  41. bs[len(bs)-1] = []byte(fmt.Sprintf("%d", i+1))
  42. tb := bytes.Join(bs, []byte{'.'})
  43. fmt.Println("new version", string(tb))
  44. file.Write(tb)
  45. cmd := exec.Command("git", "add", "./version")
  46. err = cmd.Run()
  47. if err != nil {
  48. fmt.Println(err)
  49. }
  50. }