@@ -17,6 +17,9 @@ import (
17
17
"github.com/ogier/pflag"
18
18
)
19
19
20
+ //go:embed templates/events.cge.tmpl
21
+ var eventsCGETemplate string
22
+
20
23
func New () error {
21
24
var project string
22
25
if pflag .NArg () >= 2 {
@@ -49,7 +52,7 @@ func New() error {
49
52
50
53
switch project {
51
54
case "server" :
52
- err = newServer ()
55
+ err = newServer (projectName )
53
56
case "client" :
54
57
err = newClient ()
55
58
default :
@@ -78,7 +81,7 @@ func New() error {
78
81
return nil
79
82
}
80
83
81
- func newServer () error {
84
+ func newServer (projectName string ) error {
82
85
var language string
83
86
if pflag .NArg () >= 3 {
84
87
language = strings .ToLower (pflag .Arg (2 ))
@@ -97,7 +100,35 @@ func newServer() error {
97
100
default :
98
101
return cli .Error ("Unsupported language: %s" , language )
99
102
}
100
- return err
103
+ if err != nil {
104
+ return err
105
+ }
106
+
107
+ cgeVersion , err := util .LatestCGEVersion ()
108
+ if err != nil {
109
+ return err
110
+ }
111
+
112
+ type data struct {
113
+ SnakeCaseName string
114
+ CGEVersion string
115
+ }
116
+
117
+ tmpl , err := template .New ("events.cge" ).Parse (eventsCGETemplate )
118
+ if err != nil {
119
+ return err
120
+ }
121
+
122
+ file , err := os .Create ("events.cge" )
123
+ if err != nil {
124
+ return err
125
+ }
126
+ defer file .Close ()
127
+
128
+ return tmpl .Execute (file , data {
129
+ SnakeCaseName : strings .ReplaceAll (projectName , "-" , "_" ),
130
+ CGEVersion : cgeVersion ,
131
+ })
101
132
}
102
133
103
134
func newClient () error {
@@ -134,7 +165,7 @@ func newClient() error {
134
165
switch language {
135
166
case "go" :
136
167
goLibraryVersion := util .LibraryVersionFromCGVersion ("code-game-project" , "go-client" , cgVersion )
137
- err = util .ExecuteModule ("go" , goLibraryVersion , "client" , "new" , "client" , "--library-version=" + goLibraryVersion , "--game-name=" + name , "--url=" + url , fmt .Sprintf ("--supports-wrappers=%t" , cgeMajor > 0 || cgeMinor >= 3 ))
168
+ err = util .ExecuteModule ("go" , goLibraryVersion , "client" , "new" , "client" , "--library-version=" + goLibraryVersion , "--game-name=" + name , "--url=" + trimURL ( url ) , fmt .Sprintf ("--supports-wrappers=%t" , cgeMajor > 0 || cgeMinor >= 3 ))
138
169
default :
139
170
return cli .Error ("Unsupported language: %s" , language )
140
171
}
0 commit comments