hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit ea5e9e346c93320538c6517b619b5f57473291c8
parent 61bb3ccab3a552c4b80ffb5370714598660b7b37
Author: Michael Henderson <mdhender@mdhender.com>
Date:   Sat, 15 Jul 2017 15:18:38 -0600

Add GOEXE to support building with different versions of `go`

Add a variable to the makefile and benchmark scripts to let users change the command used to build. Doesn't impact tools like govendor.
Diffstat:
MMakefile | 13++++++++-----
Mbench.sh | 9+++++----
MbenchSite.sh | 6++++--
3 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/Makefile b/Makefile
@@ -6,21 +6,24 @@ BUILD_DATE = `date +%FT%T%z`
 LDFLAGS = -ldflags "-X ${PACKAGE}/hugolib.CommitHash=${COMMIT_HASH} -X ${PACKAGE}/hugolib.BuildDate=${BUILD_DATE}"
 NOGI_LDFLAGS = -ldflags "-X ${PACKAGE}/hugolib.BuildDate=${BUILD_DATE}"
 
+# allow user to override go executable by running as GOEXE=xxx make ... on unix-like systems
+GOEXE ?= go
+
 .PHONY: vendor docker check fmt lint test test-race vet test-cover-html help
 .DEFAULT_GOAL := help
 
 vendor: ## Install govendor and sync Hugo's vendored dependencies
-	go get github.com/kardianos/govendor
+	${GOEXE} get github.com/kardianos/govendor
 	govendor sync ${PACKAGE}
 
 hugo: vendor ## Build hugo binary
-	go build ${LDFLAGS} ${PACKAGE}
+	${GOEXE} build ${LDFLAGS} ${PACKAGE}
 
 hugo-race: vendor ## Build hugo binary with race detector enabled
-	go build -race ${LDFLAGS} ${PACKAGE}
+	${GOEXE} build -race ${LDFLAGS} ${PACKAGE}
 
 install: vendor ## Install hugo binary
-	go install ${LDFLAGS} ${PACKAGE}
+	${GOEXE} install ${LDFLAGS} ${PACKAGE}
 
 hugo-no-gitinfo: LDFLAGS = ${NOGI_LDFLAGS}
 hugo-no-gitinfo: vendor hugo ## Build hugo without git info
@@ -74,7 +77,7 @@ test-cover-html: ## Generate test coverage report
 	$(foreach pkg,$(PACKAGES),\
 		govendor test -coverprofile=coverage.out -covermode=count $(pkg);\
 		tail -n +2 coverage.out >> coverage-all.out;)
-	go tool cover -html=coverage-all.out
+	${GOEXE} tool cover -html=coverage-all.out
 
 check-vendor: ## Verify that vendored packages match git HEAD
 	@git diff-index --quiet HEAD vendor/ || (echo "check-vendor target failed: vendored packages out of sync" && echo && git diff vendor/ && exit 1)
diff --git a/bench.sh b/bench.sh
@@ -1,5 +1,7 @@
 #!/usr/bin/env bash
 
+# allow user to override go executable by running as GOEXE=xxx make ...
+GOEXE="${GOEXE-go}"
 
 # Convenience script to
 # - For a given branch
@@ -26,10 +28,10 @@ BRANCH=$1
 PACKAGE=$2
 
 git checkout $BRANCH
-go test -test.run=NONE -bench="$benchFilter" -test.benchmem=true ./$PACKAGE > /tmp/bench-$PACKAGE-$BRANCH.txt
+"${GOEXE}" test -test.run=NONE -bench="$benchFilter" -test.benchmem=true ./$PACKAGE > /tmp/bench-$PACKAGE-$BRANCH.txt
 
 git checkout master
-go test -test.run=NONE -bench="$benchFilter" -test.benchmem=true ./$PACKAGE > /tmp/bench-$PACKAGE-master.txt
+"${GOEXE}" test -test.run=NONE -bench="$benchFilter" -test.benchmem=true ./$PACKAGE > /tmp/bench-$PACKAGE-master.txt
 
 
-benchcmp /tmp/bench-$PACKAGE-master.txt /tmp/bench-$PACKAGE-$BRANCH.txt-
\ No newline at end of file
+benchcmp /tmp/bench-$PACKAGE-master.txt /tmp/bench-$PACKAGE-$BRANCH.txt
diff --git a/benchSite.sh b/benchSite.sh
@@ -1,9 +1,12 @@
 #!/bin/bash
 
+# allow user to override go executable by running as GOEXE=xxx make ...
+GOEXE="${GOEXE-go}"
+
 # Send in a regexp mathing the benchmarks you want to run, i.e. './benchSite.sh "YAML"'. 
 # Note the quotes, which will be needed for more complex expressions.
 # The above will run all variations, but only for front matter YAML.
 
 echo "Running with BenchmarkSiteBuilding/${1}"
 
-go test -run="NONE" -bench="BenchmarkSiteBuilding/${1}$" -test.benchmem=true ./hugolib -memprofile mem.prof -cpuprofile cpu.prof-
\ No newline at end of file
+"${GOEXE}" test -run="NONE" -bench="BenchmarkSiteBuilding/${1}$" -test.benchmem=true ./hugolib -memprofile mem.prof -cpuprofile cpu.prof