CONDA_ROOT := $(realpath $(CONDA_EXE)/../..)

all: ${CONDA_ROOT}/envs/data metadata build

.PHONY: miniconda-installed
miniconda-installed:
	@[ "${CONDA_ROOT}" != "/" ] || (echo "Please install miniconda"; exit 1)

${CONDA_ROOT}/envs/data: miniconda-installed environment.yml
	conda env update
	touch $@

.PHONY: metadata
metadata:
	buildout parts=gen_metadata

.PHONY: build
build:
	buildout parts=build_pkgs name=all

.PHONY: test
test:
	buildout parts=test name=all

.PHONY: conda-active
conda-active: ${HOME}/miniconda3/envs/data
	@[ "${CONDA_PREFIX}" = "${CONDA_ROOT}/envs/data" ] || conda activate data

dev: conda-active
	for dir in shared/{schema,workspaces,channels} services/{workflow,capability} apps/cli/utilities/wf_monitor; do \
  		pushd $$dir; \
  		python setup.py develop; \
  		popd; \
  	done