74 lines
2.1 KiB
Makefile
74 lines
2.1 KiB
Makefile
#!/usr/bin/env make
|
|
#
|
|
# Makefile
|
|
#
|
|
# Copyright (C) 2019-2021 Franco Masotti (franco \D\o\T masotti {-A-T-} tutanota \D\o\T com)
|
|
#
|
|
# This file is part of fattura-elettronica-reader.
|
|
#
|
|
# fattura-elettronica-reader is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# fattura-elettronica-reader is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with fattura-elettronica-reader. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
|
|
export PACKAGE_NAME=fattura_elettronica_reader
|
|
|
|
default: doc
|
|
|
|
doc: clean
|
|
pipenv run $(MAKE) -C docs html
|
|
|
|
install:
|
|
pip3 install . --user
|
|
|
|
uninstall:
|
|
pip3 uninstall --verbose --yes $(PACKAGE_NAME)
|
|
|
|
install-dev:
|
|
pipenv install --dev
|
|
pipenv run pre-commit install
|
|
pipenv graph
|
|
pipenv check
|
|
|
|
uninstall-dev:
|
|
rm -f Pipfile.lock
|
|
pipenv --rm
|
|
|
|
update: install-dev
|
|
pipenv run pre-commit autoupdate
|
|
|
|
test:
|
|
pipenv run python -m unittest $(PACKAGE_NAME).tests.tests --failfast --locals --verbose
|
|
|
|
dist:
|
|
pipenv run python setup.py sdist
|
|
# Create a reproducible archve at least on the wheel.
|
|
# See
|
|
# https://bugs.python.org/issue31526
|
|
# https://bugs.python.org/issue38727
|
|
# https://github.com/pypa/setuptools/issues/1468
|
|
# https://github.com/pypa/setuptools/issues/2133
|
|
# https://reproducible-builds.org/docs/source-date-epoch/
|
|
SOURCE_DATE_EPOCH=$$(git -c log.showSignature='false' log -1 --pretty=%ct) pipenv run python setup.py bdist_wheel
|
|
pipenv run twine check dist/*
|
|
|
|
upload:
|
|
pipenv run twine upload dist/*
|
|
|
|
clean:
|
|
rm -rf build dist *.egg-info
|
|
# Remove all markdown files except the readme.
|
|
find -regex ".*\.[mM][dD]" ! -name 'README.md' ! -name 'CONTRIBUTING.md' -type f -exec rm -f {} +
|
|
pipenv run $(MAKE) -C docs clean
|
|
|
|
.PHONY: default doc install uninstall install-dev uninstall-dev update test clean
|