NAMESPACE := $(shell python -c 'import yaml; print(yaml.safe_load(open("galaxy.yml"))["namespace"])') NAME := $(shell python -c 'import yaml; print(yaml.safe_load(open("galaxy.yml"))["name"])') VERSION := $(shell python -c 'import yaml; print(yaml.safe_load(open("galaxy.yml"))["version"])') MANIFEST := build/collections/ansible_collections/$(NAMESPACE)/$(NAME)/MANIFEST.json ROLES := $(wildcard roles/*) PLUGIN_TYPES := $(filter-out __%,$(notdir $(wildcard plugins/*))) METADATA := galaxy.yml LICENSE README.md meta/runtime.yml requirements.txt changelogs/changelog.yaml $(foreach PLUGIN_TYPE,$(PLUGIN_TYPES),$(eval _$(PLUGIN_TYPE) := $(filter-out %__init__.py,$(wildcard plugins/$(PLUGIN_TYPE)/*.py)))) DEPENDENCIES := $(METADATA) $(foreach PLUGIN_TYPE,$(PLUGIN_TYPES),$(_$(PLUGIN_TYPE))) $(foreach ROLE,$(ROLES),$(wildcard $(ROLE)/*/*)) $(foreach ROLE,$(ROLES),$(ROLE)/README.md) COLLECTION_COMMAND ?= ansible-galaxy TEST = FLAGS = default: help help: @echo "Please use \`make ' where is one of:" @echo " help to show this message" @echo " info to show infos about the collection" @echo " sanity to run santy tests" @echo " setup to set up test, lint" setup: test-setup test-setup: | tests/test_playbooks/vars/server.yml pip install --upgrade 'pip<20' pip install --upgrade -r requirements-dev.txt tests/test_playbooks/vars/server.yml: cp $@.example $@ @echo "For recording, please adjust $@ to match your reference server." $(MANIFEST): ansible-galaxy collection build --force ansible-galaxy collection install cisco-ise-* --force build/src/%: % install -m 644 -DT $< $@ doc-setup: pip install --upgrade -r docs/requirements.txt doc: $(MANIFEST) mkdir -p ./docs/plugins mkdir -p ./docs/roles cat ./docs/roles.rst.template > ./docs/roles/index.rst for role_readme in roles/*/README.md; do \ ln -f -s ../../$$role_readme ./docs/roles/$$(basename $$(dirname $$role_readme)).md; \ echo " * :doc:\`$$(basename $$(dirname $$role_readme))\`" >> ./docs/roles/index.rst; \ done antsibull-docs collection --use-current --squash-hierarchy --dest-dir ./docs/plugins $(NAMESPACE).$(NAME) make -C docs html FORCE: .PHONY: help dist lint sanity test test-crud test-check-mode test-other livetest setup test-setup doc-setup doc publish FORCE