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
//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
// +build ignore
package main
import (
"bytes"
"encoding/json"
"flag"
"fmt"
"go/format"
"io/ioutil"
@@ -22,6 +21,8 @@ import (
// multiple GPU backends (OpenGL ES, Direct3D 11...)
// from a single source.
var packageName = flag.String("package", "", "specify Go package name")
type shaderArgs struct {
FetchColorExpr string
Header string
@@ -60,14 +61,15 @@ const (
)
func main() {
flag.Parse()
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)
}
}
func generate() error {
tmp, err := ioutil.TempDir("", "gpu-generate")
tmp, err := ioutil.TempDir("", "shader-convert")
if err != nil {
return err
}
@@ -84,7 +86,7 @@ func generate() error {
}
var out bytes.Buffer
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")
out.WriteString("var (\n")