|
|
define ALL |
|
|
update-requirements |
|
|
install-jython |
|
|
endef |
|
|
ALL:=$(shell echo $(ALL)) |
|
|
|
|
|
define REQUIREMENTS_FILES |
|
|
requirements/dev.txt |
|
|
requirements/docs.txt |
|
|
requirements/lint.txt |
|
|
requirements/test.txt |
|
|
requirements.txt |
|
|
endef |
|
|
REQUIREMENTS_FILES:=$(shell echo $(REQUIREMENTS_FILES)) |
|
|
|
|
|
define REQUIREMENTS_IN |
|
|
requirements.in |
|
|
endef |
|
|
REQUIREMENTS_IN:=$(shell echo $(REQUIREMENTS_IN)) |
|
|
|
|
|
define REQUIREMENTS_IN_TEST |
|
|
requirements/test.in |
|
|
requirements.in |
|
|
endef |
|
|
REQUIREMENTS_IN_TEST:=$(shell echo $(REQUIREMENTS_IN_TEST)) |
|
|
|
|
|
define REQUIREMENTS_IN_LINT |
|
|
requirements/lint.in |
|
|
endef |
|
|
REQUIREMENTS_IN_LINT:=$(shell echo $(REQUIREMENTS_IN_LINT)) |
|
|
|
|
|
define REQUIREMENTS_IN_DOCS |
|
|
requirements/docs.in |
|
|
endef |
|
|
REQUIREMENTS_IN_DOCS:=$(shell echo $(REQUIREMENTS_IN_DOCS)) |
|
|
|
|
|
define REQUIREMENTS_IN_DEV |
|
|
requirements/dev.in |
|
|
requirements/docs.in |
|
|
requirements/lint.in |
|
|
requirements/test.in |
|
|
requirements.in |
|
|
endef |
|
|
REQUIREMENTS_IN_DEV:=$(shell echo $(REQUIREMENTS_IN_DEV)) |
|
|
|
|
|
offline?=0 |
|
|
|
|
|
ifeq (1,$(offline)) |
|
|
PIP_NO_INDEX:=--no-index |
|
|
endif |
|
|
|
|
|
FIND_LINKS?= |
|
|
VENV := . .venv/bin/activate && |
|
|
|
|
|
|
|
|
.PHONY: all |
|
|
all: $(ALL) |
|
|
|
|
|
.PHONY: bootstrap |
|
|
bootstrap: |
|
|
[ -e bin/activate ] || virtualenv -p python2.7 . |
|
|
$(VENV) pip install -U setuptools pip wheel pip-tools |
|
|
make update-requirements |
|
|
$(VENV) buildout |
|
|
|
|
|
.PHONY: update-requirements |
|
|
update-requirements: $(REQUIREMENTS_FILES) |
|
|
$(VENV) pip-sync $(FIND_LINKS) $(PIP_NO_INDEX) requirements/dev.txt |
|
|
|
|
|
requirements.txt: $(REQUIREMENTS_IN) |
|
|
$(VENV) pip-compile $(FIND_LINKS) $(PIP_NO_INDEX) $(pip-compile-options) -o $@ $^ |
|
|
|
|
|
requirements/test.txt: $(REQUIREMENTS_IN_TEST) |
|
|
$(VENV) pip-compile $(FIND_LINKS) $(PIP_NO_INDEX) $(pip-compile-options) -o $@ $^ |
|
|
|
|
|
requirements/lint.txt: $(REQUIREMENTS_IN_LINT) |
|
|
$(VENV) pip-compile $(FIND_LINKS) $(PIP_NO_INDEX) $(pip-compile-options) -o $@ $^ |
|
|
|
|
|
requirements/docs.txt: $(REQUIREMENTS_IN_DOCS) |
|
|
$(VENV) pip-compile $(FIND_LINKS) $(PIP_NO_INDEX) $(pip-compile-options) -o $@ $^ |
|
|
|
|
|
requirements/dev.txt: $(REQUIREMENTS_IN_DEV) |
|
|
$(VENV) pip-compile $(FIND_LINKS) $(PIP_NO_INDEX) $(pip-compile-options) -o $@ $^ |
|
|
|
|
|
|
|
|
.PHONY: extract-messages |
|
|
extract-messages: |
|
|
$(VENV) python setup.py extract_messages --input-paths=pyhwp/hwp5/proc --output-file=pyhwp/hwp5/locale/hwp5proc.pot |
|
|
$(VENV) python setup.py extract_messages --input-paths=pyhwp/hwp5/hwp5html.py --output-file=pyhwp/hwp5/locale/hwp5html.pot |
|
|
$(VENV) python setup.py extract_messages --input-paths=pyhwp/hwp5/hwp5odt.py --output-file=pyhwp/hwp5/locale/hwp5odt.pot |
|
|
$(VENV) python setup.py extract_messages --input-paths=pyhwp/hwp5/hwp5txt.py --output-file=pyhwp/hwp5/locale/hwp5txt.pot |
|
|
$(VENV) python setup.py extract_messages --input-paths=pyhwp/hwp5/hwp5view.py --output-file=pyhwp/hwp5/locale/hwp5view.pot |
|
|
|
|
|
.PHONY: init-catalog |
|
|
init-catalog: |
|
|
$(VENV) python setup.py init_catalog --domain=hwp5proc --input-file=pyhwp/hwp5/locale/hwp5proc.pot --locale=ko |
|
|
$(VENV) python setup.py init_catalog --domain=hwp5html --input-file=pyhwp/hwp5/locale/hwp5html.pot --locale=ko |
|
|
$(VENV) python setup.py init_catalog --domain=hwp5odt --input-file=pyhwp/hwp5/locale/hwp5odt.pot --locale=ko |
|
|
$(VENV) python setup.py init_catalog --domain=hwp5txt --input-file=pyhwp/hwp5/locale/hwp5txt.pot --locale=ko |
|
|
$(VENV) python setup.py init_catalog --domain=hwp5view --input-file=pyhwp/hwp5/locale/hwp5view.pot --locale=ko |
|
|
|
|
|
.PHONY: update-catalog |
|
|
update-catalog: |
|
|
$(VENV) python setup.py update_catalog --domain=hwp5proc --input-file=pyhwp/hwp5/locale/hwp5proc.pot |
|
|
$(VENV) python setup.py update_catalog --domain=hwp5html --input-file=pyhwp/hwp5/locale/hwp5html.pot |
|
|
$(VENV) python setup.py update_catalog --domain=hwp5odt --input-file=pyhwp/hwp5/locale/hwp5odt.pot |
|
|
$(VENV) python setup.py update_catalog --domain=hwp5txt --input-file=pyhwp/hwp5/locale/hwp5txt.pot |
|
|
$(VENV) python setup.py update_catalog --domain=hwp5view --input-file=pyhwp/hwp5/locale/hwp5view.pot |
|
|
|
|
|
.PHONY: compile-catalog |
|
|
compile-catalog: |
|
|
$(VENV) python setup.py compile_catalog --domain=hwp5proc |
|
|
$(VENV) python setup.py compile_catalog --domain=hwp5html |
|
|
$(VENV) python setup.py compile_catalog --domain=hwp5odt |
|
|
$(VENV) python setup.py compile_catalog --domain=hwp5txt |
|
|
$(VENV) python setup.py compile_catalog --domain=hwp5view |
|
|
|
|
|
.PHONY: notebook |
|
|
notebook: |
|
|
$(VENV) jupyter notebook --notebook-dir=notebooks |
|
|
|
|
|
|
|
|
.PHONY: test |
|
|
test: |
|
|
$(VENV) tox --parallel 2 -e py27,py38 |
|
|
|
|
|
.PHONY: test-report |
|
|
test-report: |
|
|
$(VENV) coverage combine .tox/*/tmp |
|
|
$(VENV) coverage report |
|
|
$(VENV) coverage html |
|
|
$(VENV) coverage xml |
|
|
|
|
|
.PHONY: clitest |
|
|
clitest: |
|
|
$(VENV) env LANG=C clitest -1 --prefix 3 tests/cli_tests/hwp5proc.txt tests/cli_tests/hwp5odt.txt tests/cli_tests/hwp5html.txt tests/cli_tests/hwp5txt.txt |
|
|
|
|
|
|
|
|
.PHONY: install-jython |
|
|
install-jython: parts/jython2.7/bin/jython |
|
|
parts/jython2.7/bin/jython: |
|
|
rm -rf parts/jython2.7 |
|
|
mkdir -p parts |
|
|
$(VIRTUAL_ENV)/bin/jip install org.python:jython-installer:2.7.1 |
|
|
java -jar $(VIRTUAL_ENV)/javalib/jython-installer-2.7.1.jar -s -d $(PWD)/parts/jython2.7 |
|
|
|