NULL      :=
TARGET := foreign
FORMATTER := TAP::Formatter::Console
REPORT    :=

TOP_DIRS := \
	base \
	nixfarma/$(TARGET) \
	product \
	productreturn \
	saleorder \
	template \
	expirydate \
	warehouse \
	alerts \
	sticky \
	cashout \
	$(NULL)

help:
	@echo deploy	- Runs sqitch deploy in the correct order
	@echo bundle	- Runs sqitch bundle in the correct order
	@echo check	- Runs pg_prove on all test suites

deploy:
	for topdir in $(TOP_DIRS); do \
		sqitch --top-dir $$topdir deploy ; \
	done

revert:
	for topdir in $$(for d in $(TOP_DIRS); do echo $$d; done | tac); do \
		sqitch --top-dir $$topdir revert -y ; \
	done

rebase:
	$(MAKE) revert
	$(MAKE) deploy

bundle:
	for topdir in $(TOP_DIRS); do \
		sqitch --top-dir $$topdir bundle --dest-dir $(DESTDIR)/usr/share/farigola/sqitch ; \
	done

check:
	if [[ -n "$(REPORT)" ]]; then exec > "$(REPORT)"; fi && \
		pg_prove --formatter $(FORMATTER) \
			base/t/*.sql \
			nixfarma/$(TARGET)/t/*.sql \
			product/t/*.sql \
			productreturn/t/*.sql \
			saleorder/t/*.sql \
			template/t/*.sql \
			expirydate/t/*.sql \
			warehouse/t/*.sql \
			alerts/t/*.sql \

.PHONY: help deploy check
