Skip to content
Snippets Groups Projects
Makefile 1.55 KiB
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 .