diff --git a/build.go b/build.go index 89fdf5009..3db31c0a9 100644 --- a/build.go +++ b/build.go @@ -738,12 +738,11 @@ func listFiles(dir string) []string { func rebuildAssets() { os.Setenv("SOURCE_DATE_EPOCH", fmt.Sprint(buildStamp())) - runPipe("lib/auto/gui.files.go", "go", "run", "script/genassets.go", "gui") - runPipe("cmd/strelaypoolsrv/auto/gui.go", "go", "run", "script/genassets.go", "cmd/strelaypoolsrv/gui") + runPrint("go", "generate", "github.com/syncthing/syncthing/lib/auto", "github.com/syncthing/syncthing/cmd/strelaypoolsrv/auto") } func lazyRebuildAssets() { - if shouldRebuildAssets("lib/auto/gui.files.go", "gui") || shouldRebuildAssets("cmd/strelaypoolsrv/auto/gui.go", "cmd/strelaypoolsrv/auto/gui") { + if shouldRebuildAssets("lib/auto/gui.files.go", "gui") || shouldRebuildAssets("cmd/strelaypoolsrv/auto/gui.files.go", "cmd/strelaypoolsrv/auto/gui") { rebuildAssets() } } diff --git a/cmd/strelaypoolsrv/auto/.gitignore b/cmd/strelaypoolsrv/auto/.gitignore index 90534df43..ada60c5bc 100644 --- a/cmd/strelaypoolsrv/auto/.gitignore +++ b/cmd/strelaypoolsrv/auto/.gitignore @@ -1 +1 @@ -gui.go +gui.files.go diff --git a/cmd/strelaypoolsrv/auto/doc.go b/cmd/strelaypoolsrv/auto/doc.go new file mode 100644 index 000000000..779d211d3 --- /dev/null +++ b/cmd/strelaypoolsrv/auto/doc.go @@ -0,0 +1,10 @@ +// Copyright (C) 2018 The Syncthing Authors. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at https://mozilla.org/MPL/2.0/. + +//go:generate go run ../../../script/genassets.go -o gui.files.go ../gui + +// Package auto contains auto generated files for web assets. +package auto diff --git a/lib/auto/doc.go b/lib/auto/doc.go index eb5d8eae1..80845e33a 100644 --- a/lib/auto/doc.go +++ b/lib/auto/doc.go @@ -4,5 +4,7 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at https://mozilla.org/MPL/2.0/. +//go:generate go run ../../script/genassets.go -o gui.files.go ../../gui + // Package auto contains auto generated files for web assets. package auto diff --git a/script/genassets.go b/script/genassets.go index 33b114109..090d468fb 100644 --- a/script/genassets.go +++ b/script/genassets.go @@ -86,6 +86,7 @@ type templateVars struct { } func main() { + outfile := flag.String("o", "", "Name of output file (default stdout)") flag.Parse() filepath.Walk(flag.Arg(0), walkerFor(flag.Arg(0))) @@ -104,7 +105,17 @@ func main() { }) bs, err := format.Source(buf.Bytes()) if err != nil { - panic(err) + fmt.Fprintln(os.Stderr, err) + os.Exit(1) } - os.Stdout.Write(bs) + + out := io.Writer(os.Stdout) + if *outfile != "" { + out, err = os.Create(*outfile) + if err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } + } + out.Write(bs) }