blob: bdb5a6ffd3687d164c5353485e741169153f533e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# -*- coding: utf-8 -*-
# SPDX-License-Identifier: MIT
# Use bash even on Windows
SHELL := /bin/bash
# On Windows the activate script is stored in a different location.
ACTIVATE_SCRIPT := venv/bin/activate
ifeq ($(OS),Windows_NT)
ACTIVATE_SCRIPT := venv/Scripts/activate
endif
# How to invoke python
PYTHON := python
# How to invoke pytest
PYTEST := $(PYTHON) -m pytest -vvv
ACTIVATE=[[ -e $(ACTIVATE_SCRIPT) ]] && source $(ACTIVATE_SCRIPT);
.PHONY: clean
clean:
rm -rf dist *.egg-info
rm -rf ../../build ../../.egg*
rm -rf ryml/*.so ryml/ryml.py ryml/include ryml/lib
.PHONY: venv-clean
venv-clean:
rm -rf venv
$(ACTIVATE_SCRIPT): requirements.txt Makefile
make venv
@touch $(ACTIVATE_SCRIPT)
.PHONY: venv
venv:
virtualenv --python=python3 --always-copy venv
# Packaging tooling.
${ACTIVATE} pip install -U pip
# Setup requirements.
${ACTIVATE} pip install -v -r requirements.txt
${ACTIVATE} pip install -v -e ../..
@${ACTIVATE} $(PYTHON) -c "from ryml.version import version as v; print('Installed version:', v)"
.PHONY: build-sdist
build-sdist: | $(ACTIVATE_SCRIPT)
${ACTIVATE} (cd ../..; $(PYTHON) -m build --sdist --outdir $(PWD)/dist)
.PHONY: build-wheel
build-wheel: | $(ACTIVATE_SCRIPT)
rm -rf dist
$(MAKE) build-sdist
@ls -l dist/*.tar.gz
${ACTIVATE} pip wheel -v dist/*.tar.gz --wheel-dir $(PWD)/dist
.PHONY: build
build:
rm -rf build dist
$(MAKE) build-sdist
$(MAKE) build-wheel
# PYPI_TEST = --repository-url https://test.pypi.org/legacy/
PYPI_TEST = --repository testpypi
.PHONY: upload-test
upload-test: | $(ACTIVATE_SCRIPT)
make clean
make build-sdist
${ACTIVATE} twine upload ${PYPI_TEST} dist/*
.PHONY: upload
upload: | $(ACTIVATE_SCRIPT)
make clean
make build-sdist
${ACTIVATE} twine upload --verbose dist/*
.PHONY: check
check: | $(ACTIVATE_SCRIPT)
make clean
make build-wheel
${ACTIVATE} twine check dist/*.whl
.PHONY: install
install: | $(ACTIVATE_SCRIPT)
${ACTIVATE} $(PYTHON) setup.py install
.PHONY: test
test: | $(ACTIVATE_SCRIPT)
${ACTIVATE} $(PYTEST) tests
.PHONY: version
version: | $(ACTIVATE_SCRIPT)
${ACTIVATE} $(PYTHON) setup.py --version
|