limbo/bindings/python/Makefile
2024-09-01 16:11:00 +03:00

37 lines
1.2 KiB
Makefile

REQUIREMENTS := requirements.txt
REQUIREMENTS_DEV := requirements-dev.txt
all: check-requirements install lint test
.PHONY: all
install:
@echo "Installing requirements..."
pip install -r requirements.txt -r requirements-dev.txt
.PHONY: install
test:
@echo "Running tests..."
pytest
.PHONY: test
lint:
@echo "Running linters..."
ruff check
ruff format --diff
.PHONY: lint
check-requirements:
@echo "Checking requirements files..."
mkdir -p .tmp
pip-compile pyproject.toml --quiet --output-file=.tmp/$(REQUIREMENTS)
pip-compile pyproject.toml --quiet --extra=dev --output-file=.tmp/$(REQUIREMENTS_DEV)
diff -u $(REQUIREMENTS) .tmp/$(REQUIREMENTS) || (echo "$(REQUIREMENTS) doesn't match pyproject.toml" && exit 1)
diff -u $(REQUIREMENTS_DEV) .tmp/$(REQUIREMENTS_DEV) || (echo "$(REQUIREMENTS_DEV) doesn't match pyproject.toml" && exit 1)
@echo "Requirements files match pyproject.toml"
.PHONY: check-requirements
compile-requirements:
@echo "Compiling requirements files..."
pip-compile pyproject.toml --output-file=$(REQUIREMENTS)
pip-compile pyproject.toml --extra=dev --output-file=$(REQUIREMENTS_DEV)
.PHONY: compile-requirements