Zundler/Makefile
Adrian Vollmer 1170afbfd3 Add makefile
2024-04-20 17:57:40 +02:00

46 lines
1.5 KiB
Makefile

PACKAGE_NAME := zundler
clean:
@rm -rf build __pycache__ *.egg-info docs/_build .docvenv .tox dist $(PACKAGE_NAME)/*.egg-info $(PACKAGE_NAME)/__pycache__
docs:
@find .docvenv -maxdepth 0 -type d || python3 -m venv .docvenv ; \
. .docvenv/bin/activate ; \
cd docs ; \
python3 -m pip install -r requirements.txt ; \
sphinx-build . _build
test:
tox
# \n in sed only works in GNU sed
release:
@read -p "Enter version string (Format: x.y.z): " version; \
echo "Version Bump: $$version"; \
date=$$(date +%F); \
sed -i "s/^version = \".*\"/version = \"$$version\"/" pyproject.toml && \
sed -i "s/^release = \".*\"/release = \"$$version\"/" docs/conf.py && \
sed -i "s/^## \[Unreleased\]/## [Unreleased]\n\n## [$$version] - $$date/" CHANGELOG.md && \
git add CHANGELOG.md pyproject.toml docs/conf.py && \
git commit -m "Version bump: $$version" && \
git tag $$version && \
read -p "Committed and tagged. Do you want push the new version? [y/n] " ans && \
if [ $$ans = 'y' ] ; then git push && git push --tags && echo "Pushed." ; else echo "Push it yourself then." ; fi
build:
python -m build
test-publish:
@file=$$(ls -1t dist/$(PACKAGE_NAME)-*.tar.gz | head -n1); \
read -p "[TEST] Ready to upload $$file? Type yes: " ans; \
if [ $$ans = 'yes' ] ; then twine upload -r testpypi $$file ; fi
publish:
@file=$$(ls -1t dist/$(PACKAGE_NAME)-*.tar.gz | head -n1); \
read -p "Ready to upload $$file? Type yes: " ans; \
if [ $$ans = 'yes' ] ; then twine upload $$file ; fi
.PHONY: clean docs test release build publish test-publish