initial commit, empty go project, plus simple design doc
This commit is contained in:
commit
b0e64c7973
3 files changed
+106
No files matched your search
@@ -0,0 +1,55 @@
|
||||
# Golang project Makefile
|
||||
#
|
||||
# derived from: http://zduck.com/2014/go-project-structure-and-dependencies/
|
||||
|
||||
# build targets (which aren't files)
|
||||
.PHONY: build fmt lint vet test autotest run clean vendor
|
||||
|
||||
# configuration
|
||||
APPNAME := docrawler
|
||||
VENDOR := .vendor
|
||||
PACKAGES := \
|
||||
golang.org/x/tools/cmd/vet \
|
||||
github.com/golang/lint/golint
|
||||
|
||||
# override GOPATH to be our vendor directory
|
||||
export GOPATH := ${PWD}/${VENDOR}
|
||||
export PATH := ${PWD}/${VENDOR}/bin:${PATH}
|
||||
|
||||
default: build
|
||||
|
||||
build: fmt lint vet
|
||||
go build -v -o ./bin/${APPNAME} ./src/${APPNAME}
|
||||
|
||||
fmt:
|
||||
go fmt ./src/...
|
||||
|
||||
lint:
|
||||
golint ./src
|
||||
|
||||
vet:
|
||||
go vet ./src/...
|
||||
|
||||
test:
|
||||
go test ./src/...
|
||||
|
||||
autotest:
|
||||
fswatch -or ./src | xargs -n1 -I{} go test ./src/...
|
||||
|
||||
run: build
|
||||
./bin/${APPNAME}
|
||||
|
||||
clean:
|
||||
rm -f ./bin/${APPNAME}
|
||||
|
||||
# vendor
|
||||
# * wipes our vendor directory completely
|
||||
# * fetches all packages in ${PACKAGES}
|
||||
# * removes source control dirs so packages are vendorable (commitable)
|
||||
vendor:
|
||||
rm -dRf ./${VENDOR}/src && \
|
||||
go get -u ${PACKAGES} && \
|
||||
rm -rf `find ./${VENDOR}/src -type d -name .git` && \
|
||||
rm -rf `find ./${VENDOR}/src -type d -name .hg` && \
|
||||
rm -rf `find ./${VENDOR}/src -type d -name .bzr` && \
|
||||
rm -rf `find ./${VENDOR}/src -type d -name .svn`
|
||||
Reference in new issue
Block a user