cookiecutter

Форк
0
/
Makefile 
115 строк · 2.5 Кб
1
PYPI_SERVER = pypitest
2

3
define BROWSER_PYSCRIPT
4
import os, webbrowser, sys
5
try:
6
	from urllib import pathname2url
7
except:
8
	from urllib.request import pathname2url
9

10
webbrowser.open("file://" + pathname2url(os.path.abspath(sys.argv[1])))
11
endef
12
export BROWSER_PYSCRIPT
13
BROWSER := python -c "$$BROWSER_PYSCRIPT"
14

15
.DEFAULT_GOAL := help
16

17

18
.PHONY: clean-tox
19
clean-tox: ## Remove tox testing artifacts
20
	@echo "+ $@"
21
	@rm -rf .tox/
22

23
.PHONY: clean-coverage
24
clean-coverage: ## Remove coverage reports
25
	@echo "+ $@"
26
	@rm -rf htmlcov/
27
	@rm -rf .coverage
28
	@rm -rf coverage.xml
29

30
.PHONY: clean-pytest
31
clean-pytest: ## Remove pytest cache
32
	@echo "+ $@"
33
	@rm -rf .pytest_cache/
34

35
.PHONY: clean-docs-build
36
clean-docs-build: ## Remove local docs
37
	@echo "+ $@"
38
	@rm -rf docs/_build
39

40
.PHONY: clean-build
41
clean-build: ## Remove build artifacts
42
	@echo "+ $@"
43
	@rm -fr build/
44
	@rm -fr dist/
45
	@rm -fr *.egg-info
46

47
.PHONY: clean-pyc
48
clean-pyc: ## Remove Python file artifacts
49
	@echo "+ $@"
50
	@find . -type d -name '__pycache__' -exec rm -rf {} +
51
	@find . -type f -name '*.py[co]' -exec rm -f {} +
52
	@find . -name '*~' -exec rm -f {} +
53

54
.PHONY: clean ## Remove all file artifacts
55
clean: clean-build clean-pyc clean-tox clean-coverage clean-pytest clean-docs-build
56

57
.PHONY: lint
58
lint: ## Check code style
59
	@echo "+ $@"
60
	@tox -e lint
61

62
.PHONY: test
63
test: ## Run tests quickly with the default Python
64
	@echo "+ $@"
65
	@tox -e py310
66

67
.PHONY: test-all
68
test-all: ## Run tests on every Python version
69
	@echo "+ $@"
70
	@tox
71

72
.PHONY: coverage
73
coverage: ## Check code coverage quickly with the default Python
74
	@echo "+ $@"
75
	@tox -e py310
76
	@$(BROWSER) htmlcov/index.html
77

78
.PHONY: docs
79
docs: ## Generate Sphinx HTML documentation, including API docs
80
	@echo "+ $@"
81
	@tox -e docs
82
	@$(BROWSER) docs/_build/html/index.html
83

84
.PHONY: servedocs
85
servedocs: ## Rebuild docs automatically
86
	@echo "+ $@"
87
	@tox -e servedocs
88

89
.PHONY: submodules
90
submodules: ## Pull and update git submodules recursively
91
	@echo "+ $@"
92
	@git pull --recurse-submodules
93
	@git submodule update --init --recursive
94

95
.PHONY: release
96
release: clean ## Package and upload release
97
	@echo "+ $@"
98
	@python -m build
99
	@twine upload -r $(PYPI_SERVER) dist/*
100

101
.PHONY: sdist
102
sdist: clean ## Build sdist distribution
103
	@echo "+ $@"
104
	@python -m build --sdist
105
	@ls -l dist
106

107
.PHONY: wheel
108
wheel: clean ## Build wheel distribution
109
	@echo "+ $@"
110
	@python -m build --wheel
111
	@ls -l dist
112

113
.PHONY: help
114
help:
115
	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-16s\033[0m %s\n", $$1, $$2}'
116

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.