moment/Makefile

81 lines
1.7 KiB
Makefile

# Copyright 2019 miruka
# This file is part of harmonyqml, licensed under GPLv3.
PKG_DIR = harmonyqml
PYTHON = python3
PIP = pip3
PYLINT = pylint
MYPY = mypy
VULTURE = vulture
BANDIT = bandit
PYCYLE = pycycle
CLOC = cloc
ARCHIVE_FORMATS = gztar
INSTALL_FLAGS = --user --editable
PYLINT_FLAGS = --output-format colorized
MYPY_FLAGS = --ignore-missing-imports
VULTURE_FLAGS = --min-confidence 70
BANDIT_FLAGS =
PYCYLE_FLAGS =
CLOC_FLAGS = --ignore-whitespace
LINE = "\033[35m―――――――――――――――――――――――――――――――――――――――――――――――――――――――\033[0m"
.PHONY: all clean dist install upload test
all: clean dist install
clean:
find . -name '__pycache__' -exec rm -Rfv {} +
find . -name '*.pyc' -exec rm -Rfv {} +
find . -name '*.qmlc' -exec rm -Rfv {} +
find . -name '*.jsc' -exec rm -Rfv {} +
find . -name '*.egg-info' -exec rm -Rfv {} +
rm -Rfv build dist
dist: clean
@echo
${PYTHON} setup.py sdist --format ${ARCHIVE_FORMATS}
@echo
${PYTHON} setup.py bdist_wheel
install: clean
@echo
${PIP} install ${INSTALL_FLAGS} .
upload: dist
@echo
twine upload dist/*
test:
@echo
@echo pycycle ${LINE}
@echo
- ${PYCYLE} --source ${PKG_DIR} ${PYCYLE_FLAGS}
@echo
@echo mypy ${LINE}
@echo
- ${MYPY} ${PKG_DIR} ${MYPY_FLAGS}
@echo
@echo vulture ${LINE}
@echo
- ${VULTURE} ${PKG_DIR} ${VULTURE_FLAGS}
@echo
@echo bandit ${LINE}
@echo
- ${BANDIT} ${PKG_DIR} --recursive ${BANDIT_FLAGS}
@echo
@echo pylint ${LINE}
@echo
- ${PYLINT} ${PYLINT_FLAGS} ${PKG_DIR} *.py
@echo
@echo cloc ${LINE}
@echo
- ${CLOC} ${CLOC_FLAGS} ${PKG_DIR}