Skip to content

Commit 15c3d55

Browse files
committed
Update to new codegame-cli version
1 parent 686ece1 commit 15c3d55

File tree

7 files changed

+74
-109
lines changed

7 files changed

+74
-109
lines changed

go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@ module github.com/code-game-project/codegame-cli-go
33
go 1.18
44

55
require (
6-
github.com/code-game-project/codegame-cli v0.4.2
6+
github.com/code-game-project/codegame-cli v0.5.0
77
github.com/spf13/pflag v1.0.5
88
)
99

1010
require (
11-
github.com/AlecAivazis/survey/v2 v2.3.4 // indirect
11+
github.com/AlecAivazis/survey/v2 v2.3.5 // indirect
1212
github.com/adrg/xdg v0.4.0 // indirect
1313
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
1414
github.com/mattn/go-colorable v0.1.12 // indirect
1515
github.com/mattn/go-isatty v0.0.14 // indirect
1616
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
17-
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect
17+
golang.org/x/sys v0.0.0-20220608164250-635b8c9b7f68 // indirect
1818
golang.org/x/term v0.0.0-20220526004731-065cf7ba2467 // indirect
1919
golang.org/x/text v0.3.7 // indirect
2020
)

go.sum

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
github.com/AlecAivazis/survey/v2 v2.3.4 h1:pchTU9rsLUSvWEl2Aq9Pv3k0IE2fkqtGxazskAMd9Ng=
22
github.com/AlecAivazis/survey/v2 v2.3.4/go.mod h1:hrV6Y/kQCLhIZXGcriDCUBtB3wnN7156gMXJ3+b23xM=
3+
github.com/AlecAivazis/survey/v2 v2.3.5 h1:A8cYupsAZkjaUmhtTYv3sSqc7LO5mp1XDfqe5E/9wRQ=
4+
github.com/AlecAivazis/survey/v2 v2.3.5/go.mod h1:4AuI9b7RjAR+G7v9+C4YSlX/YL3K3cWNXgWXOhllqvI=
35
github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s=
46
github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w=
57
github.com/adrg/xdg v0.4.0 h1:RzRqFcjH4nE5C6oTAxhBtoE2IRyjBSa62SCbyPidvls=
68
github.com/adrg/xdg v0.4.0/go.mod h1:N6ag73EX4wyxeaoeHctc1mas01KZgsj5tYiAIwqJE/E=
7-
github.com/code-game-project/codegame-cli v0.4.2 h1:2h+X0tqMmIOCr3fnGYeLeTxRP9K8ie3XzNAEGl6JRB4=
8-
github.com/code-game-project/codegame-cli v0.4.2/go.mod h1:oKjILTs/tR+V8adC7hben2t4zXRW+3kzdI1KbTASkBc=
9+
github.com/code-game-project/codegame-cli v0.5.0 h1:1lB0lIy8JcCuOhGpUvoxr/2CaRnGZ7FV3Xpy1t0VOFE=
10+
github.com/code-game-project/codegame-cli v0.5.0/go.mod h1:EIgSdxiXvcgVuGLmhMgif+jpyPyi4o0xelpMHhRJG0I=
911
github.com/creack/pty v1.1.17 h1:QeVUsEDNrLBW4tMgZHvxy18sKtr6VI492kBhUfhDJNI=
1012
github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
1113
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -37,8 +39,11 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w
3739
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
3840
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
3941
golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
42+
golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
4043
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k=
4144
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
45+
golang.org/x/sys v0.0.0-20220608164250-635b8c9b7f68 h1:z8Hj/bl9cOV2grsOpEaQFUaly0JWN3i97mo3jXKJNp0=
46+
golang.org/x/sys v0.0.0-20220608164250-635b8c9b7f68/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
4247
golang.org/x/term v0.0.0-20210503060354-a79de5458b56/go.mod h1:tfny5GFUkzUvx4ps4ajbZsCe5lw1metzhBm9T3x7oIY=
4348
golang.org/x/term v0.0.0-20220526004731-065cf7ba2467 h1:CBpWXWQpIRjzmkkA+M7q9Fqnwd2mZr3AFqexg8YTfoM=
4449
golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=

main.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88

99
"github.com/code-game-project/codegame-cli-go/new/client"
1010
"github.com/code-game-project/codegame-cli-go/new/server"
11+
"github.com/code-game-project/codegame-cli/cli"
1112
"github.com/spf13/pflag"
1213
)
1314

@@ -50,10 +51,9 @@ func main() {
5051
case "new":
5152
err = new(projectName, gameName, url, libraryVersion, supportsWrappers)
5253
default:
53-
err = fmt.Errorf("Unknown command: %s\n", command)
54+
err = cli.Error("Unknown command: %s\n", command)
5455
}
5556
if err != nil {
56-
fmt.Fprintln(os.Stderr, err)
5757
os.Exit(1)
5858
}
5959
}
@@ -68,7 +68,7 @@ func new(projectName, gameName, url, libraryVersion string, supportsWrappers boo
6868
case "server":
6969
err = server.CreateNewServer(projectName, libraryVersion)
7070
default:
71-
err = fmt.Errorf("Unknown project type: %s\n", projectType)
71+
err = cli.Error("Unknown project type: %s\n", projectType)
7272
}
7373

7474
return err

new/client/client.go

Lines changed: 33 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@ package client
22

33
import (
44
"fmt"
5+
"net/http"
56
"path/filepath"
67
"strings"
78

89
_ "embed"
910

10-
"github.com/code-game-project/codegame-cli-go/util"
11+
"github.com/code-game-project/codegame-cli-go/new"
1112
"github.com/code-game-project/codegame-cli/cli"
12-
"github.com/code-game-project/codegame-cli/external"
13+
"github.com/code-game-project/codegame-cli/util"
1314
)
1415

1516
//go:embed templates/main.go.tmpl
@@ -30,11 +31,8 @@ func CreateNewClient(projectName, gameName, serverURL, libraryVersion string, su
3031
return err
3132
}
3233

33-
out, err := external.ExecuteHidden("go", "mod", "init", module)
34+
_, err = util.Execute(true, "go", "mod", "init", module)
3435
if err != nil {
35-
if out != "" {
36-
cli.Error(out)
37-
}
3836
return err
3937
}
4038

@@ -52,11 +50,8 @@ func CreateNewClient(projectName, gameName, serverURL, libraryVersion string, su
5250
}
5351

5452
cli.Begin("Installing correct go-client version...")
55-
out, err = external.ExecuteHidden("go", "get", fmt.Sprintf("%s@%s", libraryURL, libraryTag))
53+
_, err = util.Execute(true, "go", "get", fmt.Sprintf("%s@%s", libraryURL, libraryTag))
5654
if err != nil {
57-
if out != "" {
58-
cli.Error(out)
59-
}
6055
return err
6156
}
6257
cli.Finish()
@@ -70,23 +65,20 @@ func CreateNewClient(projectName, gameName, serverURL, libraryVersion string, su
7065

7166
cli.Begin("Installing dependencies...")
7267

73-
out, err = external.ExecuteHidden("go", "mod", "tidy")
68+
_, err = util.Execute(true, "go", "mod", "tidy")
7469
if err != nil {
75-
if out != "" {
76-
cli.Error(out)
77-
}
7870
return err
7971
}
8072

8173
cli.Finish()
8274

8375
cli.Begin("Organizing imports...")
8476

85-
if !external.IsInstalled("goimports") {
77+
if !util.IsInstalled("goimports") {
8678
cli.Warn("Failed to organize import statements: 'goimports' is not installed!")
8779
return nil
8880
}
89-
external.ExecuteHidden("goimports", "-w", "main.go")
81+
util.Execute(true, "goimports", "-w", "main.go")
9082

9183
cli.Finish()
9284

@@ -98,7 +90,7 @@ func createGoClientTemplate(projectName, modulePath, gameName, serverURL, librar
9890
return execGoClientMainTemplate(projectName, serverURL, libraryURL)
9991
}
10092

101-
cgeVersion, err := external.GetCGEVersion(util.BaseURL(serverURL, util.IsSSL(serverURL)))
93+
cgeVersion, err := util.GetCGEVersion(baseURL(serverURL, isSSL(serverURL)))
10294
if err != nil {
10395
return err
10496
}
@@ -109,15 +101,15 @@ func createGoClientTemplate(projectName, modulePath, gameName, serverURL, librar
109101
func getGoClientLibraryURL(clientVersion string) (url string, tag string, err error) {
110102
if clientVersion == "latest" {
111103
var err error
112-
clientVersion, err = external.LatestGithubTag("code-game-project", "go-client")
104+
clientVersion, err = util.LatestGithubTag("code-game-project", "go-client")
113105
if err != nil {
114106
return "", "", err
115107
}
116108
clientVersion = strings.TrimPrefix(strings.Join(strings.Split(clientVersion, ".")[:2], "."), "v")
117109
}
118110

119111
majorVersion := strings.Split(clientVersion, ".")[0]
120-
tag, err = external.GithubTagFromVersion("code-game-project", "go-client", clientVersion)
112+
tag, err = util.GithubTagFromVersion("code-game-project", "go-client", clientVersion)
121113
if err != nil {
122114
return "", "", err
123115
}
@@ -135,7 +127,7 @@ func execGoClientMainTemplate(projectName, serverURL, libraryURL string) error {
135127
LibraryURL string
136128
}
137129

138-
return util.ExecTemplate(goClientMainTemplate, "main.go", data{
130+
return new.ExecTemplate(goClientMainTemplate, "main.go", data{
139131
URL: serverURL,
140132
LibraryURL: libraryURL,
141133
})
@@ -146,7 +138,7 @@ func execGoClientWrappersTemplate(projectName, modulePath, gameName, serverURL,
146138

147139
gameDir := strings.ReplaceAll(strings.ReplaceAll(gameName, "-", ""), "_", "")
148140

149-
eventNames, err := external.GetEventNames(util.BaseURL(serverURL, util.IsSSL(serverURL)), cgeVersion)
141+
eventNames, err := util.GetEventNames(baseURL(serverURL, isSSL(serverURL)), cgeVersion)
150142
if err != nil {
151143
return err
152144
}
@@ -181,20 +173,37 @@ func execGoClientWrappersTemplate(projectName, modulePath, gameName, serverURL,
181173
Events: events,
182174
}
183175

184-
err = util.ExecTemplate(goClientWrapperMainTemplate, filepath.Join("main.go"), data)
176+
err = new.ExecTemplate(goClientWrapperMainTemplate, filepath.Join("main.go"), data)
185177
if err != nil {
186178
return err
187179
}
188180

189-
err = util.ExecTemplate(goClientWrapperGameTemplate, filepath.Join(gameDir, "game.go"), data)
181+
err = new.ExecTemplate(goClientWrapperGameTemplate, filepath.Join(gameDir, "game.go"), data)
190182
if err != nil {
191183
return err
192184
}
193185

194-
err = util.ExecTemplate(goClientWrapperEventsTemplate, filepath.Join(gameDir, "events.go"), data)
186+
err = new.ExecTemplate(goClientWrapperEventsTemplate, filepath.Join(gameDir, "events.go"), data)
195187
if err != nil {
196188
return err
197189
}
198190

199191
return nil
200192
}
193+
194+
func baseURL(domain string, ssl bool) string {
195+
if ssl {
196+
return "https://" + domain
197+
} else {
198+
return "http://" + domain
199+
}
200+
}
201+
202+
func isSSL(domain string) bool {
203+
res, err := http.Get("https://" + domain)
204+
if err == nil {
205+
res.Body.Close()
206+
return true
207+
}
208+
return false
209+
}

0 commit comments

Comments
 (0)