aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/99designs/gqlgen/cmd/gen.go
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2018-12-23 17:11:37 +0100
committerMichael Muré <batolettre@gmail.com>2018-12-23 17:11:37 +0100
commit1410a1af75b1ab9ea3f980a7e372728f9a123abf (patch)
treee24db8f84c48b20158b1f1fd6d281d700421279c /vendor/github.com/99designs/gqlgen/cmd/gen.go
parent8fc15a032f021c855abf66ed303c003d57c340ea (diff)
downloadgit-bug-1410a1af75b1ab9ea3f980a7e372728f9a123abf.tar.gz
upgrade gqlgen to v0.7.1
Diffstat (limited to 'vendor/github.com/99designs/gqlgen/cmd/gen.go')
-rw-r--r--vendor/github.com/99designs/gqlgen/cmd/gen.go60
1 files changed, 60 insertions, 0 deletions
diff --git a/vendor/github.com/99designs/gqlgen/cmd/gen.go b/vendor/github.com/99designs/gqlgen/cmd/gen.go
new file mode 100644
index 00000000..3842f02b
--- /dev/null
+++ b/vendor/github.com/99designs/gqlgen/cmd/gen.go
@@ -0,0 +1,60 @@
+package cmd
+
+import (
+ "fmt"
+ "io/ioutil"
+ "os"
+
+ "github.com/99designs/gqlgen/codegen"
+ "github.com/pkg/errors"
+ "github.com/urfave/cli"
+)
+
+var genCmd = cli.Command{
+ Name: "generate",
+ Usage: "generate a graphql server based on schema",
+ Flags: []cli.Flag{
+ cli.BoolFlag{Name: "verbose, v", Usage: "show logs"},
+ cli.StringFlag{Name: "config, c", Usage: "the config filename"},
+ },
+ Action: func(ctx *cli.Context) {
+ var config *codegen.Config
+ var err error
+ if configFilename := ctx.String("config"); configFilename != "" {
+ config, err = codegen.LoadConfig(configFilename)
+ if err != nil {
+ fmt.Fprintln(os.Stderr, err.Error())
+ os.Exit(1)
+ }
+ } else {
+ config, err = codegen.LoadConfigFromDefaultLocations()
+ if os.IsNotExist(errors.Cause(err)) {
+ config = codegen.DefaultConfig()
+ } else if err != nil {
+ fmt.Fprintln(os.Stderr, err.Error())
+ os.Exit(1)
+ }
+ }
+
+ for _, filename := range config.SchemaFilename {
+ var schemaRaw []byte
+ schemaRaw, err = ioutil.ReadFile(filename)
+ if err != nil {
+ fmt.Fprintln(os.Stderr, "unable to open schema: "+err.Error())
+ os.Exit(1)
+ }
+ config.SchemaStr[filename] = string(schemaRaw)
+ }
+
+ if err = config.Check(); err != nil {
+ fmt.Fprintln(os.Stderr, "invalid config format: "+err.Error())
+ os.Exit(1)
+ }
+
+ err = codegen.Generate(*config)
+ if err != nil {
+ fmt.Fprintln(os.Stderr, err.Error())
+ os.Exit(2)
+ }
+ },
+}