From fd61c226d494c0a6cb1cf17fcf2a7817593e0bb2 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Sun, 23 Feb 2020 13:52:03 +0100 Subject: [PATCH] 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 --- gpu/gen.go | 2 +- gpu/build.go => internal/cmd/convertshaders/main.go | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) rename gpu/build.go => internal/cmd/convertshaders/main.go (97%) diff --git a/gpu/gen.go b/gpu/gen.go index f2e3c26a..709d0a78 100644 --- a/gpu/gen.go +++ b/gpu/gen.go @@ -2,4 +2,4 @@ package gpu -//go:generate go run build.go +//go:generate go run ../internal/cmd/convertshaders -package gpu diff --git a/gpu/build.go b/internal/cmd/convertshaders/main.go similarity index 97% rename from gpu/build.go rename to internal/cmd/convertshaders/main.go index e5f8d747..6b1aeaea 100644 --- a/gpu/build.go +++ b/internal/cmd/convertshaders/main.go @@ -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")