diff --git a/Makefile b/Makefile index 5414665..14e0343 100644 --- a/Makefile +++ b/Makefile @@ -7,6 +7,18 @@ INIT_FILE := leverage/__init__.py RELEASE_VERSION ?= $(shell curl -sL "https://test.pypi.org/pypi/leverage/json" | jq -r ".releases | keys | sort | .[-1]" | awk 'BEGIN{FS="."; OFS="."} {print $$1,$$2,$$3+1}' )rc.1 PLACEHOLDER := 0.0.0 +# Determine which sed to use: gsed if available on macOS, otherwise sed +UNAME_S := $(shell uname -s) +SED := sed +ifeq ($(UNAME_S),Darwin) + GSED_AVAILABLE := $(shell command -v gsed 2> /dev/null) + ifneq ($(GSED_AVAILABLE),) + SED := gsed + else + $(error gsed is not installed. Please install using 'brew install gnu-sed') + endif +endif + help: @echo 'Available Commands:' @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " - \033[36m%-18s\033[0m %s\n", $$1, $$2}' @@ -54,12 +66,12 @@ bump-test-version: ## Bump version based on TestPyPI or provided input @echo "[INFO] Get latest version from TestPypi." $(eval LATEST_VERSION=$(shell curl -sL "https://test.pypi.org/pypi/leverage/json" | jq -r ".releases | keys | sort | .[-1]")) @echo "[INFO] Latest version: $(LATEST_VERSION)" - $(eval RELEASE_VERSION=$(shell echo $(LATEST_VERSION) | awk 'BEGIN{FS="."; OFS="."} {print $$1,$$2,$$3+1}')rc.1) + $(eval RELEASE_VERSION=$(shell echo $(LATEST_VERSION) | awk 'BEGIN{FS="."; OFS="."} {print $$1,$$2,$$3+1}')rc1) @echo "[INFO] Checking Release Version (template 9.9.9-rc9)..." @echo $(RELEASE_VERSION) | awk '/[0-9]+\.[0-9]+\.[0-9]+-(rc|alpha|beta)[0-9]+/ {print "[INFO] Version ok"}' || (echo "[ERROR] Version is wrong" && exit 1) @echo "[INFO] Bump version to $(RELEASE_VERSION)" - @sed -i '' 's/__version__ = "$(CURRENT_VERSION)"/__version__ = "$(RELEASE_VERSION)"/' $(INIT_FILE) - @sed -i '' 's/version = "$(CURRENT_VERSION)"/version = "$(RELEASE_VERSION)"/' $(PYPROJECT_FILE) + @$(SED) -i 's/__version__ = "$(CURRENT_VERSION)"/__version__ = "$(RELEASE_VERSION)"/' $(INIT_FILE) + @$(SED) -i 's/version = "$(CURRENT_VERSION)"/version = "$(RELEASE_VERSION)"/' $(PYPROJECT_FILE) bump-version-ci: ## Fetch latest tag, update versions in __init__.py and pyproject.toml @echo "[INFO] Get latest tag" @@ -67,7 +79,7 @@ bump-version-ci: ## Fetch latest tag, update versions in __init__.py and pyproje @echo $(RELEASE_VERSION) @echo "[INFO] Write version to __init__.py" - @sed -i '' 's/$(PLACEHOLDER)/$(RELEASE_VERSION)/' $(INIT_FILE) + @$(SED) -i 's/$(PLACEHOLDER)/$(RELEASE_VERSION)/' $(INIT_FILE) @echo "[INFO] Update version in pyproject.toml" - @sed -i '' 's/version = ".*"/version = "$(RELEASE_VERSION)"/' $(PYPROJECT_FILE) + @$(SED) -i 's/version = ".*"/version = "$(RELEASE_VERSION)"/' $(PYPROJECT_FILE)