aboutsummaryrefslogtreecommitdiffstats
path: root/graphql
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2018-08-14 14:48:41 +0200
committerMichael Muré <batolettre@gmail.com>2018-08-14 14:48:41 +0200
commit5c568a362b73cf163b06bc7371982f9a7ceaaf29 (patch)
tree755b61f969913b5290f3d56f4cfba4070b8155bc /graphql
parentef0d8fa108fbdef24997a84a3c6ecbf21cbc0a9e (diff)
downloadgit-bug-5c568a362b73cf163b06bc7371982f9a7ceaaf29.tar.gz
gqlgen: add a small program to go:generate the code
Diffstat (limited to 'graphql')
-rw-r--r--graphql/gen_graphql.go46
-rw-r--r--graphql/handler.go2
2 files changed, 47 insertions, 1 deletions
diff --git a/graphql/gen_graphql.go b/graphql/gen_graphql.go
new file mode 100644
index 00000000..fb0cfa68
--- /dev/null
+++ b/graphql/gen_graphql.go
@@ -0,0 +1,46 @@
+// +build ignore
+
+package main
+
+import (
+ "fmt"
+ "io/ioutil"
+ "log"
+ "os"
+ "path"
+
+ "github.com/vektah/gqlgen/codegen"
+)
+
+func main() {
+ current, err := os.Getwd()
+ if err != nil {
+ log.Fatal(err.Error())
+ }
+
+ os.Chdir(path.Join(current, "graphql"))
+
+ fmt.Println("Generating graphql code ...")
+
+ log.SetOutput(ioutil.Discard)
+
+ config, err := codegen.LoadDefaultConfig()
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ schemaRaw, err := ioutil.ReadFile(config.SchemaFilename)
+ if err != nil {
+ log.Fatal("unable to open schema: " + err.Error())
+ }
+ config.SchemaStr = string(schemaRaw)
+
+ if err = config.Check(); err != nil {
+ log.Fatal("invalid config format: " + err.Error())
+ }
+
+ err = codegen.Generate(*config)
+ if err != nil {
+ log.Fatal(err.Error())
+ }
+}
diff --git a/graphql/handler.go b/graphql/handler.go
index 0069ce44..507cb508 100644
--- a/graphql/handler.go
+++ b/graphql/handler.go
@@ -1,4 +1,4 @@
-//go:generate gorunpkg github.com/vektah/gqlgen
+//go:generate go run gen_graphql.go
package graphql