SHELL := /bin/bash all: dev metadata build .PHONY: check-conda check-conda: @[ "${CONDA_EXE}" != "" ] || \ (echo "Conda does not appear to be installed; please install it and try again"; exit 1) @[ "${CONDA_PREFIX}" != "" ] || \ (echo "Conda does not appear to be active; please activate 'data' and try again"; exit 1) @[ "${CONDA_DEFAULT_ENV}" = "data" ] || \ (echo "Wrong conda environment '${CONDA_DEFAULT_ENV}' appears to be active; please deactivate, activate 'data' and try again"; exit 1) .PHONY: metadata metadata: buildout parts=gen_metadata .PHONY: build build: buildout parts=build_pkgs name=all .PHONY: test test: buildout parts=test name=all ${CONDA_PREFIX}: environment.yml conda env update touch $@ .PHONY: dev dev: check-conda ${CONDA_PREFIX} alembic-update python-setup-develop .PHONY: python-setup-develop python-setup-develop: check-conda ${CONDA_PREFIX} for dir in shared/{schema,workspaces,channels} services/{workflow,capability} apps/cli/{utilities/wf_monitor,executables/{null,vulture}}; do \ pushd $$dir; \ python setup.py develop; \ popd; \ done .PHONY: alembic-update alembic-update: cd schema; \ env CAPO_PROFILE=local alembic upgrade head .PHONY: docker-images docker-images: docker build -t nrao:workspaces-base . pushd services/workflow && docker build -t nrao:workflow . && popd pushd services/capability && docker build -t nrao:capability . && popd pushd schema && docker build -t nrao:schema . && popd .PHONY: docker-local docker-local: docker build -t nrao:workspaces-base -f Condaless.dockerfile.v2 .