Toot-Mastodon-CLI-TUI-clien.../Makefile

68 lines
1.5 KiB
Makefile

.PHONY: clean publish test docs
dist :
python setup.py sdist --formats=gztar,zip
python setup.py bdist_wheel --python-tag=py3
publish :
twine upload dist/*.tar.gz dist/*.whl
test:
pytest -v
flake8
vermin toot
coverage:
coverage erase
coverage run
coverage html --omit "toot/tui/*"
coverage report
clean :
find . -name "*pyc" | xargs rm -rf $1
rm -rf build dist MANIFEST htmlcov bundle toot*.tar.gz toot*.pyz
changelog:
./scripts/generate_changelog > CHANGELOG.md
cp CHANGELOG.md docs/changelog.md
docs: changelog
mdbook build
docs-serve:
mdbook serve --port 8000
docs-deploy: docs
rsync --archive --compress --delete --stats book/ bezdomni:web/toot
.PHONY: bundle
bundle:
mkdir bundle
cp toot/__main__.py bundle
pip install . --target=bundle
rm -rf bundle/*.dist-info
find bundle/ -type d -name "__pycache__" -exec rm -rf {} +
python -m zipapp \
--python "/usr/bin/env python3" \
--output toot-`git describe`.pyz bundle \
--compress
echo "Bundle created: toot-`git describe`.pyz"
# TODO: add more rules for more shells
.PHONY: install-shell-completion
install-shell-completion: install-bash-completion
@echo "See docs/shell_completion.md for Fish and Zsh completions"
.PHONY: install-bash-completion
install-bash-completion:
if test -d /etc/bash_completion.d; then \
$(MAKE) bash-completion && \
cp bash-completion /etc/bash_completion.d/toot; \
fi
# TODO: encode dependencies instead (on bundle?)
.PHONY: bash-completion
bash-completion:
_TOOT_COMPLETE=bash_source toot > $@.tmp && mv -f $@.tmp $@