ROLES_DIR := ./roles APPLICATIONS_OUT := ./group_vars/all/04_applications.yml APPLICATIONS_SCRIPT := ./cli/generate_applications.py USERS_OUT := ./group_vars/all/03_users.yml USERS_SCRIPT := ./cli/generate_users.py INCLUDES_OUT := ./tasks/utils/docker-roles.yml INCLUDES_SCRIPT := ./cli/generate_playbook.py EXTRA_USERS := $(shell \ find $(ROLES_DIR) -maxdepth 1 -type d -name 'docker*' -printf '%f\n' \ | sed -E 's/^docker[_-]?//' \ | grep -E -x '[a-z0-9]+' \ | paste -sd, - \ ) .PHONY: build install test build: @echo "๐Ÿ”ง Generating applications defaults โ†’ $(APPLICATIONS_OUT) from roles in $(ROLES_DIR)โ€ฆ" python3 $(USERS_SCRIPT) --roles-dir $(ROLES_DIR) --output $(USERS_OUT) --extra-users "$(EXTRA_USERS)" @echo "โœ… Users defaults written to $(USERS_OUT)\n" python3 $(APPLICATIONS_SCRIPT) --roles-dir $(ROLES_DIR) --output-file $(APPLICATIONS_OUT) @echo "โœ… Applications defaults written to $(APPLICATIONS_OUT)\n" @echo "๐Ÿ”ง Generating users defaults โ†’ $(USERS_OUT) from roles in $(ROLES_DIR)โ€ฆ" @echo "๐Ÿ”ง Generating Docker role includes โ†’ $(INCLUDES_OUT)โ€ฆ" @mkdir -p $(dir $(INCLUDES_OUT)) python3 $(INCLUDES_SCRIPT) $(ROLES_DIR) -o $(INCLUDES_OUT) -p docker- @echo "โœ… Docker role includes written to $(INCLUDES_OUT)" install: build @echo "โš™๏ธ Install complete." test: @echo "๐Ÿงช Running Tests..." python -m unittest discover -s tests