APP=$(shell basename $(CURDIR))
PACKAGE=$(subst _,-,$(APP))
STAGE?=dev

VENV_NAME ?= venv
VENV_ACTIVATE=. $(VENV_NAME)/bin/activate
PYTHON = $(VENV_NAME)/bin/python3

venv: $(VENV_NAME)/bin/activate
$(VENV_NAME)/bin/activate:
	test -d $(VENV_NAME) || python3 -m venv $(VENV_NAME)
	$(PYTHON) -m pip install -U pip
	$(PYTHON) -m pip install -r requirements.pip
	touch $(VENV_NAME)/bin/activate

.PHONY: clean
clean:
	@rm -rf build/
	@rm -rf dist/
	@rm -rf *.egg-info
	@rm -rf *.pyc
	@rm -f $(PACKAGE)-*.tar.gz
	@rm -rf .*_cache

.PHONY: docker/login
docker/login: venv
	$(VENV_ACTIVATE) && $$(aws ecr get-login --no-include-email --region us-east-1)

.PHONY: deploy
deploy: venv
	$(VENV_ACTIVATE) && aws s3 sync ./schemas s3://$(STAGE)-delphi-configs/schemas
