|
| 1 | +LIBRARY_VERSION=$(shell grep version library/setup.cfg | awk -F" = " '{print $$2}') |
| 2 | +LIBRARY_NAME=$(shell grep name library/setup.cfg | awk -F" = " '{print $$2}') |
| 3 | + |
| 4 | +.PHONY: usage install uninstall |
| 5 | +usage: |
| 6 | + @echo "Library: ${LIBRARY_NAME}" |
| 7 | + @echo "Version: ${LIBRARY_VERSION}\n" |
| 8 | + @echo "Usage: make <target>, where target is one of:\n" |
| 9 | + @echo "install: install the library locally from source" |
| 10 | + @echo "uninstall: uninstall the local library" |
| 11 | + @echo "check: peform basic integrity checks on the codebase" |
| 12 | + @echo "python-readme: generate library/README.md from README.md + library/CHANGELOG.txt" |
| 13 | + @echo "python-wheels: build python .whl files for distribution" |
| 14 | + @echo "python-sdist: build python source distribution" |
| 15 | + @echo "python-clean: clean python build and dist directories" |
| 16 | + @echo "python-dist: build all python distribution files" |
| 17 | + @echo "python-testdeploy: build all and deploy to test PyPi" |
| 18 | + @echo "tag: tag the repository with the current version" |
| 19 | + |
| 20 | +install: |
| 21 | + ./install.sh |
| 22 | + |
| 23 | +uninstall: |
| 24 | + ./uninstall.sh |
| 25 | + |
| 26 | +check: |
| 27 | + @echo "Checking for trailing whitespace" |
| 28 | + @! grep -IUrn --color "[[:blank:]]$$" --exclude-dir=sphinx --exclude-dir=.tox --exclude-dir=.git --exclude=PKG-INFO |
| 29 | + @echo "Checking for DOS line-endings" |
| 30 | + @! grep -lIUrn --color "" --exclude-dir=sphinx --exclude-dir=.tox --exclude-dir=.git --exclude=Makefile |
| 31 | + @echo "Checking library/CHANGELOG.txt" |
| 32 | + @cat library/CHANGELOG.txt | grep ^${LIBRARY_VERSION} |
| 33 | + @echo "Checking library/${LIBRARY_NAME}/__init__.py" |
| 34 | + @cat library/${LIBRARY_NAME}/__init__.py | grep "^__version__ = '${LIBRARY_VERSION}'" |
| 35 | + |
| 36 | +tag: |
| 37 | + git tag -a "v${LIBRARY_VERSION}" -m "Version ${LIBRARY_VERSION}" |
| 38 | + |
| 39 | +python-readme: library/README.md |
| 40 | + |
| 41 | +python-license: library/LICENSE.txt |
| 42 | + |
| 43 | +library/README.md: README.md library/CHANGELOG.txt |
| 44 | + cp README.md library/README.md |
| 45 | + printf "\n# Changelog\n" >> library/README.md |
| 46 | + cat library/CHANGELOG.txt >> library/README.md |
| 47 | + |
| 48 | +library/LICENSE.txt: LICENSE |
| 49 | + cp LICENSE library/LICENSE.txt |
| 50 | + |
| 51 | +python-wheels: python-readme python-license |
| 52 | + cd library; python3 setup.py bdist_wheel |
| 53 | + cd library; python setup.py bdist_wheel |
| 54 | + |
| 55 | +python-sdist: python-readme python-license |
| 56 | + cd library; python setup.py sdist |
| 57 | + |
| 58 | +python-clean: |
| 59 | + -rm -r library/dist |
| 60 | + -rm -r library/build |
| 61 | + -rm -r library/*.egg-info |
| 62 | + |
| 63 | +python-dist: python-clean python-wheels python-sdist |
| 64 | + ls library/dist |
| 65 | + |
| 66 | +python-testdeploy: python-dist |
| 67 | + twine upload --repository-url https://test.pypi.org/legacy/ library/dist/* |
| 68 | + |
| 69 | +python-deploy: check python-dist |
| 70 | + twine upload library/dist/* |
|
0 commit comments