mirror of https://github.com/gwuhaolin/livego.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.3 KiB
57 lines
1.3 KiB
GO_BIN ?= go |
|
GO_BUILD = $(GO_BIN) build |
|
GO_CLEAN = $(GO_BIN) clean |
|
GO_TEST = $(GO_BIN) test |
|
GO_GET = $(GO_BIN) get |
|
BINARY_NAME = livego |
|
BINARY_UNIX = $(BINARY_NAME)_unix |
|
|
|
DOCKER_ACC ?= gwuhaolin |
|
DOCKER_REPO ?= livego |
|
|
|
TAG ?= $(shell git describe --tags --abbrev=0 2>/dev/null) |
|
|
|
tidy: |
|
ifeq ($(GO111MODULE),on) |
|
$(GO_BIN) mod tidy |
|
else |
|
echo skipping go mod tidy |
|
endif |
|
|
|
run: binary |
|
./$(BINARY_NAME) |
|
|
|
build: |
|
pkger |
|
$(GO_BUILD) -o $(BINARY_NAME) -v -ldflags="-X main.VERSION=$(TAG)" |
|
make tidy |
|
|
|
test: |
|
pkger |
|
$(GO_TEST) -tags ${TAGS} -cover ./... |
|
pkger |
|
make tidy |
|
|
|
lint: |
|
golangci-lint --vendor ./... --deadline=1m --skip=internal |
|
|
|
## Build WebUI Docker image |
|
build-webui-image: |
|
docker build -t livego-webui -f webui/Dockerfile webui |
|
|
|
generate-webui: build-webui-image |
|
if [ ! -d "static" ]; then \ |
|
mkdir -p static; \ |
|
docker run --rm -v "$$PWD/static":'/src/webui/build' livego-webui npm run build; \ |
|
docker run --rm -v "$$PWD/static":'/src/webui/build' livego-webui chown -R $(shell id -u):$(shell id -g) ./build; \ |
|
echo 'For more informations show `webui/readme.md`' > $$PWD/static/DONT-EDIT-FILES-IN-THIS-DIRECTORY.md; \ |
|
fi |
|
|
|
dockerize: |
|
docker build -t $(DOCKER_ACC)/$(DOCKER_REPO):$(TAG) . |
|
docker push $(DOCKER_ACC)/$(DOCKER_REPO):$(TAG) |
|
|
|
binary: generate-webui |
|
make build |
|
|
|
default: binary
|
|
|