Skip to content

Commit da28d1c

Browse files
lvan100lianghuan
authored andcommitted
feat(main): add --mode
1 parent 99e4c31 commit da28d1c

File tree

5 files changed

+25
-20
lines changed

5 files changed

+25
-20
lines changed

gen/gen_test.go

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ func testProject(t *testing.T, dir string) {
3434

3535
var m map[string]struct {
3636
Server bool
37+
Client bool
3738
}
3839
if err = json.Unmarshal(b, &m); err != nil {
3940
t.Fatal(err)
@@ -42,18 +43,16 @@ func testProject(t *testing.T, dir string) {
4243
idlDir := filepath.Join(dir, "idl")
4344
for lang, c := range m {
4445
projectDir := filepath.Join(dir, lang)
45-
46-
if c.Server {
47-
dstDir := filepath.Join(projectDir, "server")
48-
copyFiles(t, idlDir, dstDir)
49-
config := &generator.Config{
50-
ProjectDir: dstDir,
51-
Version: "v0.0.0",
52-
Server: true,
53-
}
54-
if err = Gen(lang, config); err != nil {
55-
t.Fatal(err)
56-
}
46+
dstDir := filepath.Join(projectDir, "server")
47+
copyFiles(t, idlDir, dstDir)
48+
config := &generator.Config{
49+
ProjectDir: dstDir,
50+
Version: "v0.0.0",
51+
Server: c.Server,
52+
Client: c.Client,
53+
}
54+
if err = Gen(lang, config); err != nil {
55+
t.Fatal(err)
5756
}
5857
}
5958
}

gen/generator/generator.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ type Config struct {
1111
ProjectDir string
1212
Version string
1313
Server bool
14+
Client bool
1415
}
1516

1617
var generators = map[string]Generator{}

gen/generator/golang/main.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,13 @@ func (g *Generator) Gen(config *generator.Config, files map[string]parser.Docume
4444
if err := g.genServer(ctx, rpcs); err != nil {
4545
return err
4646
}
47-
} else {
47+
}
48+
49+
if config.Client {
4850
if err := g.genClient(ctx, rpcs); err != nil {
4951
return err
5052
}
5153
}
54+
5255
return nil
5356
}

gen/generator/golang/type.go

Lines changed: 0 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

main.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ const Version = "v0.0.1"
1414
func main() {
1515
var (
1616
version bool
17-
server bool
1817
language string
18+
genMode string
1919
)
2020

2121
root := &cobra.Command{
@@ -25,8 +25,8 @@ func main() {
2525
}
2626

2727
root.Flags().BoolVar(&version, "version", false, "show version")
28-
root.Flags().BoolVar(&server, "server", false, "gen server code or not")
2928
root.Flags().StringVar(&language, "lang", "go", "language, go/php/java")
29+
root.Flags().StringVar(&genMode, "mode", "server", "server, client, type")
3030

3131
root.RunE = func(cmd *cobra.Command, args []string) error {
3232
if version {
@@ -36,9 +36,15 @@ func main() {
3636
}
3737
config := &generator.Config{
3838
ProjectDir: ".",
39-
Server: server,
4039
Version: Version,
4140
}
41+
switch genMode {
42+
case "server":
43+
config.Server = true
44+
case "client":
45+
config.Client = true
46+
default:
47+
}
4248
return gen.Gen(language, config)
4349
}
4450

0 commit comments

Comments
 (0)