Skip to content

Commit 7c6fd69

Browse files
committed
Move event generation from modules into this project
1 parent dcefb7c commit 7c6fd69

File tree

2 files changed

+38
-4
lines changed

2 files changed

+38
-4
lines changed

commands/new.go

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ import (
1717
"github.com/ogier/pflag"
1818
)
1919

20+
//go:embed templates/events.cge.tmpl
21+
var eventsCGETemplate string
22+
2023
func New() error {
2124
var project string
2225
if pflag.NArg() >= 2 {
@@ -49,7 +52,7 @@ func New() error {
4952

5053
switch project {
5154
case "server":
52-
err = newServer()
55+
err = newServer(projectName)
5356
case "client":
5457
err = newClient()
5558
default:
@@ -78,7 +81,7 @@ func New() error {
7881
return nil
7982
}
8083

81-
func newServer() error {
84+
func newServer(projectName string) error {
8285
var language string
8386
if pflag.NArg() >= 3 {
8487
language = strings.ToLower(pflag.Arg(2))
@@ -97,7 +100,35 @@ func newServer() error {
97100
default:
98101
return cli.Error("Unsupported language: %s", language)
99102
}
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+
})
101132
}
102133

103134
func newClient() error {
@@ -134,7 +165,7 @@ func newClient() error {
134165
switch language {
135166
case "go":
136167
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))
138169
default:
139170
return cli.Error("Unsupported language: %s", language)
140171
}

commands/templates/events.cge.tmpl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
name {{.SnakeCaseName}}
2+
version {{.CGEVersion}}
3+

0 commit comments

Comments
 (0)