2020-03-19 16:45:31 +01:00
|
|
|
ENVS = py27,py36,py37
|
|
|
|
export PYTHONPATH := $(CURDIR):$(CURDIR)/test
|
|
|
|
|
|
|
|
# Collect information to build as sensible package name
|
|
|
|
name = plugin.video.viervijfzes
|
|
|
|
version = $(shell xmllint --xpath 'string(/addon/@version)' addon.xml)
|
|
|
|
git_branch = $(shell git rev-parse --abbrev-ref HEAD)
|
|
|
|
git_hash = $(shell git rev-parse --short HEAD)
|
|
|
|
zip_name = $(name)-$(version)-$(git_branch)-$(git_hash).zip
|
2020-03-22 15:37:15 +01:00
|
|
|
include_files = addon_entry.py addon.xml CHANGELOG.md LICENSE README.md service_entry.py resources/
|
2020-03-19 16:45:31 +01:00
|
|
|
include_paths = $(patsubst %,$(name)/%,$(include_files))
|
|
|
|
exclude_files = \*.new \*.orig \*.pyc \*.pyo
|
|
|
|
|
|
|
|
all: check test build
|
|
|
|
zip: build
|
|
|
|
|
|
|
|
check: check-pylint check-tox check-translations
|
|
|
|
|
|
|
|
check-pylint:
|
|
|
|
@echo ">>> Running pylint checks"
|
|
|
|
@pylint *.py resources/ test/
|
|
|
|
|
|
|
|
check-tox:
|
|
|
|
@echo ">>> Running tox checks"
|
|
|
|
@tox -q
|
|
|
|
|
|
|
|
check-translations:
|
|
|
|
@echo ">>> Running translation checks"
|
|
|
|
@msgcmp resources/language/resource.language.nl_nl/strings.po resources/language/resource.language.en_gb/strings.po
|
|
|
|
|
|
|
|
check-addon: clean build
|
|
|
|
@echo ">>> Running addon checks"
|
|
|
|
$(eval TMPDIR := $(shell mktemp -d))
|
|
|
|
@unzip ../${zip_name} -d ${TMPDIR}
|
|
|
|
cd ${TMPDIR} && kodi-addon-checker --branch=leia
|
|
|
|
@rm -rf ${TMPDIR}
|
|
|
|
|
|
|
|
test: test-unit
|
|
|
|
|
|
|
|
test-unit:
|
|
|
|
@echo ">>> Running unit tests"
|
2020-03-23 19:58:55 +01:00
|
|
|
ifdef GITHUB_ACTIONS
|
2020-03-19 16:45:31 +01:00
|
|
|
@coverage run -m unittest discover
|
2020-03-23 19:58:55 +01:00
|
|
|
@coverage xml
|
2020-03-19 16:45:31 +01:00
|
|
|
else
|
|
|
|
@python -m unittest discover -v -b -f
|
|
|
|
endif
|
|
|
|
|
|
|
|
clean:
|
|
|
|
@find . -name '*.pyc' -type f -delete
|
|
|
|
@find . -name '*.pyo' -type f -delete
|
|
|
|
@find . -name '__pycache__' -type d -delete
|
|
|
|
@rm -rf .pytest_cache/ .tox/ test/cdm test/userdata/temp
|
|
|
|
@rm -f *.log .coverage
|
|
|
|
|
|
|
|
build: clean
|
|
|
|
@echo ">>> Building package"
|
|
|
|
@rm -f ../$(zip_name)
|
|
|
|
cd ..; zip -r $(zip_name) $(include_paths) -x $(exclude_files)
|
|
|
|
@echo "Successfully wrote package as: ../$(zip_name)"
|
|
|
|
|
|
|
|
release: build
|
|
|
|
rm -rf ../repo-plugins/plugin.video.viervijfzes/*
|
|
|
|
unzip ../$(zip_name) -d ../repo-plugins/
|
|
|
|
|
|
|
|
run:
|
|
|
|
@echo ">>> Run CLI"
|
|
|
|
python test/run.py /
|
|
|
|
|
|
|
|
.PHONY: check test
|