forked from getsentry/sentry
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
105 lines (81 loc) · 2.9 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
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
95
96
97
98
99
100
101
102
103
104
105
VERSION = 2.0.0
NPM_ROOT = ./node_modules
STATIC_DIR = src/sentry/static/sentry
BOOTSTRAP_JS = ${STATIC_DIR}/scripts/lib/bootstrap.js
BOOTSTRAP_JS_MIN = ${STATIC_DIR}/scripts/lib/bootstrap.min.js
UGLIFY_JS ?= node_modules/uglify-js/bin/uglifyjs
JS_TESTS = tests/js/index.html
JS_REPORTER = dot
develop: update-submodules
npm install
pip install "setuptools>=0.9.8"
# order matters here, base package must install first
pip install -e .
pip install "file://`pwd`#egg=sentry[dev]"
pip install "file://`pwd`#egg=sentry[tests]"
make setup-git
dev-postgres:
pip install -e .
pip install "file://`pwd`#egg=sentry[dev]"
pip install "file://`pwd`#egg=sentry[postgres]"
dev-mysql:
pip install -e .
pip install "file://`pwd`#egg=sentry[dev]"
pip install "file://`pwd`#egg=sentry[mysql]"
dev-docs:
pip install -r docs/requirements.txt
setup-git:
git config branch.autosetuprebase always
cd .git/hooks && ln -sf ../../hooks/* ./
build: locale
clean:
rm -r src/sentry/static/CACHE
locale:
cd src/sentry && sentry makemessages -l en
cd src/sentry && sentry compilemessages
update-transifex:
pip install transifex-client
tx push -s
tx pull -a
compile-bootstrap-js:
@cat src/bootstrap/js/bootstrap-transition.js src/bootstrap/js/bootstrap-alert.js src/bootstrap/js/bootstrap-button.js src/bootstrap/js/bootstrap-carousel.js src/bootstrap/js/bootstrap-collapse.js src/bootstrap/js/bootstrap-dropdown.js src/bootstrap/js/bootstrap-modal.js src/bootstrap/js/bootstrap-tooltip.js src/bootstrap/js/bootstrap-popover.js src/bootstrap/js/bootstrap-scrollspy.js src/bootstrap/js/bootstrap-tab.js src/bootstrap/js/bootstrap-typeahead.js src/bootstrap/js/bootstrap-affix.js ${STATIC_DIR}/scripts/bootstrap-datepicker.js > ${BOOTSTRAP_JS}
${UGLIFY_JS} -nc ${BOOTSTRAP_JS} > ${BOOTSTRAP_JS_MIN};
update-submodules:
git submodule init
git submodule update
test: develop lint test-js test-python test-cli
testloop: develop
pip install pytest-xdist
py.test tests -f
test-cli:
@echo "Testing CLI"
rm -rf test_cli
mkdir test_cli
cd test_cli && sentry init test.conf
cd test_cli && sentry --config=test.conf upgrade --traceback --noinput
cd test_cli && sentry --config=test.conf help | grep start > /dev/null
rm -r test_cli
test-js:
@echo "Running JavaScript tests"
${NPM_ROOT}/.bin/mocha-phantomjs -p ${NPM_ROOT}/phantomjs/bin/phantomjs -R ${JS_REPORTER} ${JS_TESTS}
@echo ""
test-python:
@echo "Running Python tests"
python setup.py -q test || exit 1
@echo ""
lint: lint-python lint-js
lint-python:
@echo "Linting Python files"
PYFLAKES_NODOCTEST=1 flake8 src/sentry
@echo ""
lint-js:
@echo "Linting JavaScript files"
@${NPM_ROOT}/.bin/jshint src/sentry/ || exit 1
@echo ""
coverage: develop
py.test --cov=src/sentry --cov-report=html
run-uwsgi:
uwsgi --http 127.0.0.1:8000 --need-app --disable-logging --wsgi-file src/sentry/wsgi.py --processes 1 --threads 5
publish:
python setup.py sdist bdist_wheel upload
.PHONY: build publish