-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
48 lines (40 loc) · 1.4 KB
/
Makefile
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
NAME=db_migration
VERSION=$(shell changelog release version)
BUILD_DIR=build
YELLOW=\033[1m\033[93m
CYAN=\033[1m\033[96m
CLEAR=\033[0m
help:
@echo "$(CYAN)init$(CLEAR) Build virtualenv"
@echo "$(CYAN)clean$(CLEAR) Clean generated files"
@echo "$(CYAN)check$(CLEAR) Check Python code"
@echo "$(CYAN)test$(CLEAR) Run unit tests"
@echo "$(CYAN)package$(CLEAR) Build package"
@echo "$(CYAN)release$(CLEAR) Release project"
init:
@echo "$(YELLOW)Building virtualenv$(CLEAR)"
rm -rf venv
virtualenv venv
. venv/bin/activate && pip install -r etc/requirements.txt
clean:
@echo "$(YELLOW)Cleaning generated files$(CLEAR)"
rm -rf $(BUILD_DIR)
rm -f `find $(NAME) -name "*.pyc"`
check:
@echo "$(YELLOW)Checking Python code$(CLEAR)"
. venv/bin/activate && pylint --rcfile=etc/pylint.cfg $(NAME) $(NAME).test
test: check
@echo "$(YELLOW)Running unit tests$(CLEAR)"
. venv/bin/activate && python -m $(NAME).test.test_mysql_$(NAME)
package: test clean
@echo "$(YELLOW)Building package$(CLEAR)"
mkdir -p $(BUILD_DIR)
cp etc/setup.py $(BUILD_DIR)/
sed -i -e "s/VERSION/$(VERSION)/" $(BUILD_DIR)/setup.py
pandoc -f markdown -t rst README.md > $(BUILD_DIR)/README.rst
cp -r LICENSE.txt etc/MANIFEST.in $(NAME) $(BUILD_DIR)/
cd $(BUILD_DIR) && python setup.py sdist -d .
release: package
@echo "$(YELLOW)Releasing project$(CLEAR)"
cd $(BUILD_DIR) && python setup.py sdist -d . register upload
release