|
| 1 | +include header.mk |
| 2 | + |
| 3 | +PACKAGES = template core web cli |
| 4 | +export ABS_ROOT_PATH=$(shell pwd) |
| 5 | + |
| 6 | +.PHONY: packages $(PACKAGES) |
| 7 | + |
| 8 | +packages: $(PACKAGES) |
| 9 | + |
| 10 | +$(PACKAGES): |
| 11 | + $(MAKE) -C $@ |
| 12 | + |
| 13 | +# the sets of directories to do various things in |
| 14 | +INITPACKAGES = $(PACKAGES:%=init-%) |
| 15 | +INSTALLPACKAGES = $(PACKAGES:%=package-install-%) |
| 16 | +CLEANPACKAGES = $(PACKAGES:%=clean-%) |
| 17 | +TESTPACKAGES = $(PACKAGES:%=test-%) |
| 18 | +LINTPACKAGES = $(PACKAGES:%=lint-%) |
| 19 | +FORMATPACKAGES = $(PACKAGES:%=format-%) |
| 20 | +BUMPVERSIONPACKAGES = $(PACKAGES:%=bumpversion-%) |
| 21 | + |
| 22 | +help: ## Prints this help text |
| 23 | + @python -c "$$PRINT_HELP_PYSCRIPT" < Makefile |
| 24 | + |
| 25 | +init: $(INITPACKAGES) ## Installs all packages in editable mode including dev dependencies |
| 26 | +$(INITPACKAGES): |
| 27 | + $(MAKE) -C $(@:init-%=%) init |
| 28 | + |
| 29 | +package-install: $(INSTALLPACKAGES) ## Installs all packages without dev dependencies |
| 30 | +$(INSTALLPACKAGES): |
| 31 | + $(MAKE) -C $(@:package-install-%=%) package-install |
| 32 | + |
| 33 | +test: $(TESTPACKAGES) ## Run tests on all packages |
| 34 | +$(TESTPACKAGES): |
| 35 | + $(MAKE) -C $(@:test-%=%) test |
| 36 | + |
| 37 | +clean: $(CLEANPACKAGES) ## Remove all build, test, coverage and Python artifacts |
| 38 | +$(CLEANPACKAGES): |
| 39 | + $(MAKE) -C $(@:clean-%=%) clean |
| 40 | + |
| 41 | +bumpversion: ${BUMPVERSIONPACKAGES} ## Bumps the (default: patch) version of all release packages. To bump minor or major, add bump=minor or bump=major to the make call. |
| 42 | +$(BUMPVERSIONPACKAGES): |
| 43 | + $(MAKE) -C $(@:bumpversion-%=%) bumpversion |
| 44 | + |
| 45 | +lint: $(LINTPACKAGES) |
| 46 | +$(LINTPACKAGES): |
| 47 | + $(MAKE) -C $(@:lint-%=%) lint |
| 48 | + |
| 49 | +format: $(FORMATPACKAGES) |
| 50 | +$(FORMATPACKAGES): |
| 51 | + $(MAKE) -C $(@:format-%=%) format |
| 52 | + |
| 53 | +install: ## Installs dependencies from requirements.txt |
| 54 | + pip install -r ./requirements |
| 55 | + pre-commit install |
| 56 | + |
| 57 | +internal-install: ## Installs VCC-internal dependencies from vcc-requirements.txt |
| 58 | + pip install --extra-index-url https://TODO -r vccinternal-requirements.txt |
| 59 | + |
| 60 | +check: ## Runs pre-commit hooks on all files |
| 61 | + pre-commit run --all-files |
| 62 | + |
| 63 | +docker-build: ## Build and package Docker container |
| 64 | + docker build -t cdevents-client -f Dockerfile . |
| 65 | + |
| 66 | +docker-shell: ## Opens a shell |
| 67 | + docker run --add-host=host.docker.internal:host-gateway --volume /"$(shell pwd)"/output/:/root/cdevents-client/ -it cdevents-client bash |
| 68 | + |
| 69 | +.PHONY: packages $(PACKAGES) |
| 70 | +.PHONY: packages $(INITPACKAGES) |
| 71 | +.PHONY: packages $(INSTALLPACKAGES) |
| 72 | +.PHONY: packages $(TESTPACKAGES) |
| 73 | +.PHONY: packages $(CLEANPACKAGES) |
| 74 | +.PHONY: packages $(BUMPVERSIONPACKAGES) |
| 75 | +.PHONY: init test clean bumpversion install internal-install check docker-build docker-shell |
0 commit comments