main.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package main
  2. import (
  3. "bufio"
  4. "fmt"
  5. "io"
  6. "io/ioutil"
  7. "os/exec"
  8. "strings"
  9. )
  10. var FileList []string
  11. var SchemeMap map[string]bool
  12. func ExecCmd(name string, arg ...string) bool {
  13. cmd := exec.Command(name, arg...)
  14. stdout, err := cmd.StdoutPipe()
  15. if err != nil {
  16. fmt.Println(err)
  17. return false
  18. }
  19. stderr, err := cmd.StderrPipe()
  20. if err != nil {
  21. fmt.Println(err)
  22. return false
  23. }
  24. err = cmd.Start()
  25. if err != nil {
  26. fmt.Println(err)
  27. return false
  28. }
  29. reader := bufio.NewReader(stdout)
  30. reader2 := bufio.NewReader(stderr)
  31. for {
  32. line, err := reader.ReadString('\n')
  33. if err != nil {
  34. if err != io.EOF {
  35. fmt.Println(err)
  36. }
  37. break
  38. }
  39. fmt.Println(line)
  40. }
  41. for {
  42. line, err := reader2.ReadString('\n')
  43. if err != nil {
  44. if err != io.EOF {
  45. fmt.Println(err)
  46. }
  47. break
  48. }
  49. fmt.Println(line)
  50. }
  51. cmd.Wait()
  52. return true
  53. }
  54. func main() {
  55. /*fmt.Println("开始导出配置")
  56. err := os.Chdir("../../../Tool/Bin")
  57. if err != nil {
  58. fmt.Println(err)
  59. return
  60. }
  61. if !ExecCmd("python3", "ConfigSplit.py") {
  62. return
  63. }
  64. err = os.Chdir("../../Server-Core/Tools/conf")
  65. if err != nil {
  66. fmt.Println(err)
  67. return
  68. }*/
  69. fmt.Println("开始生成代码")
  70. files, _ := ioutil.ReadDir("../../Bin/Scp")
  71. for _, f := range files {
  72. if f.Name() == "Attributes.csv" {
  73. a := 1
  74. a++
  75. }
  76. if strings.HasSuffix(f.Name(), "csv") {
  77. FileList = append(FileList, strings.TrimSuffix(f.Name(), ".csv"))
  78. }
  79. }
  80. SchemeMap = make(map[string]bool)
  81. //files, _ = ioutil.ReadDir("../../Server/Scheme")
  82. //E://ChatGameService2/Bin/Config/%s.conf
  83. files, _ = ioutil.ReadDir("E://ChatGameService2/Server/Scheme")
  84. for _, f := range files {
  85. name := strings.TrimPrefix(f.Name(), "Scheme")
  86. name = strings.TrimSuffix(name, ".go")
  87. SchemeMap[name] = true
  88. }
  89. fmt.Println("开始生成SchemeDef.go")
  90. if !GeneratorDef() {
  91. return
  92. }
  93. if !GeneratorScp() {
  94. return
  95. }
  96. fmt.Println("生成代码完成")
  97. }