corso/src/Makefile
Abin Simon 69a6fd1593
Add corso version using ldflags (#1104)
* Make corso respect --version

* Add proper version information when building

* Use unified version string

$(git describe --exact-match --tags $(git rev-parse HEAD) 2>/dev/null || echo unreleased)-$(git rev-parse --short HEAD)

With tag:    v0.0.0-ceaf04c9
Without tag: unreleased-ceaf04c9

* Add a simple build command to build using Makefile
2022-10-14 12:20:30 +05:30

29 lines
952 B
Makefile

# This must match the version defined in .github/workflows/lint.yaml.
WANTED_LINT_VERSION := 1.45.2
LINT_VERSION := $(shell golangci-lint version | cut -d' ' -f4)
HAS_LINT := $(shell which golangci-lint)
INSTALL_LINT_PAGE := "https://golangci-lint.run/usage/install/"
BAD_LINT_MSG := "Missing golangci-lint version $(WANTED_LINT_VERSION). Visit $(INSTALL_LINT_PAGE) for instructions on how to install"
.PHONY: check-lint check-lint-version lint
build:
go build -o corso -ldflags \
"-X 'github.com/alcionai/corso/src/cli/version.Version=$(shell git describe --exact-match --tags $(git rev-parse HEAD) 2>/dev/null || echo unreleased)-$(shell git rev-parse --short HEAD)'"
lint: check-lint-version
golangci-lint run
check-lint-version: check-lint
@if [ "$(LINT_VERSION)" != "$(WANTED_LINT_VERSION)" ]; then \
echo >&2 $(BAD_LINT_MSG); \
false; \
fi
check-lint:
@if [ -z "$(HAS_LINT)" ]; then \
echo >&2 $(BAD_LINT_MSG); \
false; \
fi