internal/cmd/convertshaders: move shader converter to separate package

To use the converter from other packages, make the converter a
runnable command.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2020-02-23 13:52:03 +01:00
parent 5cd5d49108
commit fd61c226d4
2 changed files with 8 additions and 6 deletions
+1 -1
View File
@@ -2,4 +2,4 @@
package gpu package gpu
//go:generate go run build.go //go:generate go run ../internal/cmd/convertshaders -package gpu
@@ -1,12 +1,11 @@
// SPDX-License-Identifier: Unlicense OR MIT // SPDX-License-Identifier: Unlicense OR MIT
// +build ignore
package main package main
import ( import (
"bytes" "bytes"
"encoding/json" "encoding/json"
"flag"
"fmt" "fmt"
"go/format" "go/format"
"io/ioutil" "io/ioutil"
@@ -22,6 +21,8 @@ import (
// multiple GPU backends (OpenGL ES, Direct3D 11...) // multiple GPU backends (OpenGL ES, Direct3D 11...)
// from a single source. // from a single source.
var packageName = flag.String("package", "", "specify Go package name")
type shaderArgs struct { type shaderArgs struct {
FetchColorExpr string FetchColorExpr string
Header string Header string
@@ -60,14 +61,15 @@ const (
) )
func main() { func main() {
flag.Parse()
if err := generate(); err != nil { if err := generate(); err != nil {
fmt.Fprintf(os.Stderr, "gpu generate: %v\n", err) fmt.Fprintf(os.Stderr, "generate: %v\n", err)
os.Exit(1) os.Exit(1)
} }
} }
func generate() error { func generate() error {
tmp, err := ioutil.TempDir("", "gpu-generate") tmp, err := ioutil.TempDir("", "shader-convert")
if err != nil { if err != nil {
return err return err
} }
@@ -84,7 +86,7 @@ func generate() error {
} }
var out bytes.Buffer var out bytes.Buffer
out.WriteString("// Code generated by build.go. DO NOT EDIT.\n\n") out.WriteString("// Code generated by build.go. DO NOT EDIT.\n\n")
out.WriteString("package gpu\n\n") fmt.Fprintf(&out, "package %s\n\n", *packageName)
fmt.Fprintf(&out, "import %q\n\n", "gioui.org/gpu/backend") fmt.Fprintf(&out, "import %q\n\n", "gioui.org/gpu/backend")
out.WriteString("var (\n") out.WriteString("var (\n")