# Makefile for github tools

BASEDIR ?= $(PWD)
SRCDIR ?= $(BASEDIR)/src

WITH_VENV := poetry run


.PHONY: all
all: venv preflight


.PHONY: venv
venv:
	poetry install --sync
	$(WITH_VENV) pre-commit install --install-hooks --overwrite
	$(WITH_VENV) ansible-galaxy install -r "$(BASEDIR)/requirements.yml" --force


poetry.lock: venv
	poetry lock --no-update


%.yaml: venv
	$(WITH_VENV) ansible-playbook -vvv $@


.PHONY: static-checks
static-checks: venv
	$(WITH_VENV) pre-commit run --all-files --verbose


.PHONY: preflight
preflight: static-checks


.PHONY: clean
clean:
	find "$(BASEDIR)" -name "*.pyc" -print | xargs rm -f
	find "$(BASEDIR)" -name '__pycache__' -print | xargs rm -Rf


.PHONY: clobber
clobber: clean
	$(WITH_VENV) pre-commit uninstall
	poetry env remove --all
