41 lines
710 B
Makefile
41 lines
710 B
Makefile
.PHONY: build test clean run docker-build docker-run
|
|
|
|
# Build variables
|
|
BINARY_NAME=todo
|
|
VERSION=$(shell git describe --tags --always --dirty)
|
|
BUILD_TIME=$(shell date +%FT%T%z)
|
|
LDFLAGS=-ldflags "-X main.Version=${VERSION} -X main.BuildTime=${BUILD_TIME}"
|
|
|
|
build:
|
|
go build ${LDFLAGS} -o ${BINARY_NAME}
|
|
|
|
test:
|
|
go test -v ./...
|
|
|
|
clean:
|
|
go clean
|
|
rm -f ${BINARY_NAME}
|
|
rm -f todo.log
|
|
rm -f test.db
|
|
|
|
run: build
|
|
./${BINARY_NAME}
|
|
|
|
docker-build:
|
|
docker build -t todoai:${VERSION} .
|
|
|
|
docker-run:
|
|
docker run -it --rm \
|
|
-v ${PWD}/data:/data \
|
|
-e DB_PATH=/data/todoai.db \
|
|
todoai:${VERSION}
|
|
|
|
install-deps:
|
|
go mod download
|
|
|
|
lint:
|
|
go vet ./...
|
|
go fmt ./...
|
|
|
|
# Run this before committing
|
|
pre-commit: lint test |