aboutsummaryrefslogtreecommitdiffstats
path: root/internal/build/util.go
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2016-10-02 19:44:30 +0800
committerGitHub <noreply@github.com>2016-10-02 19:44:30 +0800
commitd4b55fc5b210f06e08227e7ffbda6db397ec8d3c (patch)
tree1ad5b873af478174e18a15748918d093c550fad8 /internal/build/util.go
parent920e1ccfe0b8a0fe205817e3e2f7d0ee7a98f108 (diff)
parent4f7627972e4997965be6f3c406904ef613e14c20 (diff)
downloaddexon-d4b55fc5b210f06e08227e7ffbda6db397ec8d3c.tar.gz
dexon-d4b55fc5b210f06e08227e7ffbda6db397ec8d3c.tar.zst
dexon-d4b55fc5b210f06e08227e7ffbda6db397ec8d3c.zip
Merge pull request #3066 from fjl/build-env
build: improve debian packaging
Diffstat (limited to 'internal/build/util.go')
-rw-r--r--internal/build/util.go14
1 files changed, 6 insertions, 8 deletions
diff --git a/internal/build/util.go b/internal/build/util.go
index eead824b2..be41efed7 100644
--- a/internal/build/util.go
+++ b/internal/build/util.go
@@ -29,9 +29,7 @@ import (
"text/template"
)
-var (
- DryRunFlag = flag.Bool("n", false, "dry run, don't execute commands")
-)
+var DryRunFlag = flag.Bool("n", false, "dry run, don't execute commands")
// MustRun executes the given command and exits the host process for
// any error.
@@ -69,6 +67,7 @@ func GOPATH() string {
return strings.Join(newpath, string(filepath.ListSeparator))
}
+// VERSION returns the content of the VERSION file.
func VERSION() string {
version, err := ioutil.ReadFile("VERSION")
if err != nil {
@@ -77,10 +76,8 @@ func VERSION() string {
return string(bytes.TrimSpace(version))
}
-func GitCommit() string {
- return RunGit("rev-parse", "HEAD")
-}
-
+// RunGit runs a git subcommand and returns its output.
+// The command must complete successfully.
func RunGit(args ...string) string {
cmd := exec.Command("git", args...)
var stdout, stderr bytes.Buffer
@@ -94,12 +91,13 @@ func RunGit(args ...string) string {
return strings.TrimSpace(stdout.String())
}
-// Render renders the given template file.
+// Render renders the given template file into outputFile.
func Render(templateFile, outputFile string, outputPerm os.FileMode, x interface{}) {
tpl := template.Must(template.ParseFiles(templateFile))
render(tpl, outputFile, outputPerm, x)
}
+// RenderString renders the given template string into outputFile.
func RenderString(templateContent, outputFile string, outputPerm os.FileMode, x interface{}) {
tpl := template.Must(template.New("").Parse(templateContent))
render(tpl, outputFile, outputPerm, x)