|
1 |
| -PYTHON=python3 |
2 |
| - |
3 |
| -PIP=venv/bin/python -m pip |
4 |
| -FLAKE=venv/bin/flake8 |
5 |
| -PYTEST=venv/bin/py.test |
6 |
| -DJANGOMANAGER=venv/bin/python project_test/manage.py |
7 |
| - |
8 |
| -.PHONY: help clean delpyc install install-dev tests flake quality runserver |
| 1 | +PYTHON_INTERPRETER=python3 |
| 2 | +VENV_PATH=.venv |
| 3 | +PACKAGE_NAME=django-icomoon |
| 4 | +PACKAGE_SLUG=`echo $(PACKAGE_NAME) | tr '-' '_'` |
| 5 | +APPLICATION_NAME=icomoon |
| 6 | +PIP=$(VENV_PATH)/bin/pip |
| 7 | +FLAKE=$(VENV_PATH)/bin/flake8 |
| 8 | +PYTEST=$(VENV_PATH)/bin/pytest |
| 9 | +TWINE=$(VENV_PATH)/bin/twine |
| 10 | +DJANGO_MANAGE=$(VENV_PATH)/bin/python sandbox/manage.py |
| 11 | +SPHINX_RELOAD=$(VENV_PATH)/bin/python sphinx_reload.py |
9 | 12 |
|
10 | 13 | help:
|
11 | 14 | @echo "Please use \`make <target>' where <target> is one of"
|
12 | 15 | @echo
|
13 |
| - @echo " delpyc -- to remove all *.pyc files, this is recursive from the current directory" |
14 |
| - @echo " clean -- to clean local repository from all stuff created during development" |
15 |
| - @echo |
16 |
| - @echo " install -- to install as develop package" |
17 |
| - @echo " install-dev -- to install as develop package with every for development" |
18 |
| - @echo |
19 |
| - @echo " flake -- to launch Flake8 checking on boussole code (not the tests)" |
20 |
| - @echo " tests -- to launch tests using py.test" |
21 |
| - @echo " quality -- to launch Flake8 checking and tests with py.test" |
22 |
| - @echo |
23 |
| - @echo " runserver -- to launch a Django instance on 0.0.0.0:8001" |
| 16 | + @echo " install -- to install this project with virtualenv and Pip" |
| 17 | + @echo "" |
| 18 | + @echo " clean -- to clean EVERYTHING (Warning)" |
| 19 | + @echo " clean-pycache -- to remove all __pycache__, this is recursive from current directory" |
| 20 | + @echo " clean-statics -- to clean static stuff from sandbox" |
| 21 | + @echo " clean-install -- to clean Python side installation" |
| 22 | + @echo "" |
| 23 | + @echo " run -- to run Django development server" |
| 24 | + @echo " migrate -- to apply demo database migrations" |
| 25 | + @echo " superuser -- to create a superuser for Django admin" |
| 26 | + @echo " icomoon -- to deploy an icon font map on demo from an Icomoon snapshot (icomoon.zip)" |
| 27 | + @echo "" |
| 28 | + @echo " livedocs -- to run livereload server to rebuild documentation on source changes" |
| 29 | + @echo "" |
| 30 | + @echo " flake -- to launch Flake8 checking" |
| 31 | + @echo " tests -- to launch base test suite using Pytest" |
| 32 | + @echo " quality -- to launch Flake8 checking and every tests suites" |
| 33 | + @echo "" |
| 34 | + @echo " release -- to release package for latest version on PyPi (once release has been pushed to repository)" |
24 | 35 | @echo
|
25 | 36 |
|
26 |
| -delpyc: |
| 37 | +clean-pycache: |
| 38 | + rm -Rf .pytest_cache |
| 39 | + find . -type d -name "__pycache__"|xargs rm -Rf |
27 | 40 | find . -name "*\.pyc"|xargs rm -f
|
| 41 | +.PHONY: clean-pycache |
| 42 | + |
| 43 | +clean-statics: |
| 44 | + rm -Rf sandbox/static |
| 45 | +.PHONY: clean-statics |
28 | 46 |
|
29 |
| -clean: delpyc |
30 |
| - rm -Rf venv dist .tox django_icomoon.egg-info .cache project_test/.cache/ project_test/__pycache__/ project_test/tests/__pycache__/ |
| 47 | +clean-install: |
| 48 | + rm -Rf $(VENV_PATH) |
| 49 | + rm -Rf $(PACKAGE_SLUG).egg-info |
| 50 | +.PHONY: clean-install |
| 51 | + |
| 52 | +clean: clean-install clean-pycache clean-statics |
| 53 | +.PHONY: clean |
31 | 54 |
|
32 | 55 | venv:
|
33 |
| - $(PYTHON) -m venv venv |
| 56 | + virtualenv -p $(PYTHON_INTERPRETER) $(VENV_PATH) |
| 57 | + # This is required for those ones using old distribution |
| 58 | + $(PIP) install --upgrade pip |
| 59 | + $(PIP) install --upgrade setuptools |
| 60 | +.PHONY: venv |
| 61 | + |
| 62 | +create-var-dirs: |
| 63 | + @mkdir -p data/db |
| 64 | + @mkdir -p data/static/css |
| 65 | + @mkdir -p sandbox/media |
| 66 | + @mkdir -p sandbox/static/css |
| 67 | +.PHONY: create-var-dirs |
| 68 | + |
| 69 | +migrate: |
| 70 | + @DJANGO_SECRET_KEY=$(DEMO_DJANGO_SECRET_KEY) \ |
| 71 | + $(DJANGO_MANAGE) migrate |
| 72 | +.PHONY: migrate |
| 73 | + |
| 74 | +superuser: |
| 75 | + @DJANGO_SECRET_KEY=$(DEMO_DJANGO_SECRET_KEY) \ |
| 76 | + $(DJANGO_MANAGE) createsuperuser |
| 77 | +.PHONY: superuser |
| 78 | + |
| 79 | +install: venv create-var-dirs |
| 80 | + $(PIP) install -e .[dev] |
| 81 | + ${MAKE} migrate |
| 82 | +.PHONY: install |
| 83 | + |
| 84 | +run: |
| 85 | + @DJANGO_SECRET_KEY=$(DEMO_DJANGO_SECRET_KEY) \ |
| 86 | + $(DJANGO_MANAGE) runserver 0.0.0.0:8001 |
| 87 | +.PHONY: run |
34 | 88 |
|
35 |
| -install: venv |
36 |
| - $(PIP) install -e . |
| 89 | +icomoon: |
| 90 | + $(DJANGO_MANAGE) icomoon_deploy |
| 91 | +.PHONY: icomoon |
37 | 92 |
|
38 |
| -install-dev: install |
39 |
| - $(PIP) install -r requirements/dev.txt |
| 93 | +livedocs: |
| 94 | + $(SPHINX_RELOAD) |
| 95 | +.PHONY: livedocs |
40 | 96 |
|
41 | 97 | flake:
|
42 |
| - $(FLAKE) --show-source icomoon |
| 98 | + $(FLAKE) --show-source $(APPLICATION_NAME) |
| 99 | + $(FLAKE) --show-source tests |
| 100 | +.PHONY: flake |
43 | 101 |
|
44 | 102 | tests:
|
45 |
| - $(PYTEST) -vv project_test/ |
| 103 | + $(PYTEST) -vv tests/ |
| 104 | +.PHONY: tests |
46 | 105 |
|
47 | 106 | quality: tests flake
|
| 107 | +.PHONY: quality |
48 | 108 |
|
49 |
| -runserver: |
50 |
| - @if [ ! -e project_test/db.sqlite3 ]; then $(DJANGOMANAGER) migrate --settings=project.settings.development; fi; |
51 |
| - $(DJANGOMANAGER) runserver 0.0.0.0:8001 --settings=project.settings.development |
| 109 | +release: |
| 110 | + rm -Rf dist |
| 111 | + $(VENV_PATH)/bin/python setup.py sdist |
| 112 | + $(TWINE) upload dist/* |
| 113 | +.PHONY: release |
0 commit comments