summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile56
1 files changed, 4 insertions, 52 deletions
diff --git a/Makefile b/Makefile
index d031ceb3..5c17032e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,81 +1,55 @@
VIRTUALENV=~/.venvs/pixua
-.PHONY: setup
+.PHONY: setup requirements install requirements_py install_py requirements_js install_js create_virtualenv
+.PHONY: test test_py test_js test_all linters linters_py linters_js coverage unit_tests_py unit_tests_js
+.PHONY: integration_tests_py functional_tests ensure_phantomjs_installed ensure_virtualenv_installed clean
+.PHONY: clean_all clean_py clean_js clean_cache remove_virtualenv remove_javascript_packages
setup: install
-.PHONY: requirements
requirements: requirements_py requirements_js
- @echo "Installed requirements"
-.PHONY: install
install: requirements install_py install_js
- @echo "Installed dependencies"
-.PHONY: requirements_py
requirements_py: create_virtualenv
- @echo "Upgrading pip and setuptools"
@. $(VIRTUALENV)/bin/activate;\
pip install --upgrade pip setuptools
-.PHONY: install_py
install_py: service/requirements.txt service/test_requirements.txt
- @echo "Installing python packages"
@. $(VIRTUALENV)/bin/activate;\
cd service;\
pip install pysqlcipher --upgrade --force-reinstall --install-option="--bundled";\
pip install --exists-action s -r requirements.txt -r test_requirements.txt
-.PHONY: requirements_js
requirements_js:
- @echo "Installing javascript npm and bower dependencies"
@cd web-ui;\
npm install;\
node_modules/.bin/bower install
-.PHONY: install_js
install_js:
- @echo "Building front-end and static files"
@cd web-ui;\
npm run build
-.PHONY: create_virtualenv
create_virtualenv: ensure_virtualenv_installed
@if [ ! -e $(VIRTUALENV)/bin/activate ]; then\
echo "Pixelated virtualenv doesn't exist, creating now";\
virtualenv --python=python2 $(VIRTUALENV);\
- else\
- echo "Pixelated virtualenv already exists, moving on";\
fi
-.PHONY: test
test: test_py test_js coverage
-
-.PHONY: test_py
test_py: clean requirements install coverage linters_py unit_tests_py integration_tests_py
-
-.PHONY: test_js
test_js: clean requirements_js install_js linters_js unit_tests_js
-
-.PHONY: test_all
test_all: test functional_tests
-
-.PHONY: linters
linters: clean requirements install linters_py linters_js
-.PHONY: linters_py
linters_py:
- @echo "Running pep8"
@. $(VIRTUALENV)/bin/activate;\
cd service;\
pep8 --ignore=E501 pixelated test
-.PHONY: linters_js
linters_js:
- @echo "Running jshint"
@cd web-ui;\
npm run jshint
-.PHONY: coverage
coverage:
@. $(VIRTUALENV)/bin/activate;\
cd service;\
@@ -84,80 +58,58 @@ coverage:
coverage combine;\
coverage html
-.PHONY: unit_tests_py
unit_tests_py:
- @echo "Running python unit tests"
@. $(VIRTUALENV)/bin/activate;\
cd service;\
trial --reporter=text test.unit
-.PHONY: unit_tests_js
unit_tests_js:
- @echo "Running javascript unit tests"
@cd web-ui;\
npm run test
-.PHONY: integration_tests_py
integration_tests:
- @echo "Running integration tests"
@. $(VIRTUALENV)/bin/activate;\
cd service;\
trial -j`grep -c "^processor" /proc/cpuinfo || sysctl -n hw.logicalcpu` --reporter=text test.integration
-.PHONY: functional_tests
functional_tests: clean requirements install ensure_phantomjs_installed
- @echo "Running behave functional tests"
@. $(VIRTUALENV)/bin/activate;\
cd service;\
behave --tags ~@wip --tags ~@smoke test/functional/features
-.PHONY: ensure_phantomjs_installed
ensure_phantomjs_installed:
@if [ ! `which phantomjs` ]; then\
echo "You need phantomJS to run these tests";\
exit 1;\
fi
-.PHONY: ensure_virtualenv_installed
ensure_virtualenv_installed:
@if [ ! `which virtualenv` ]; then\
echo "Virtualenv must be installed";\
exit 1;\
- else\
- echo "Virtualenv located at "`which virtualenv`;\
fi
-.PHONY: clean
clean: clean_py clean_js clean_cache
- @echo "Cleaning temporary files and the caches"
-
-.PHONY: clean_all
clean_all: clean remove_javascript_packages remove_virtualenv
- @echo "Cleaning temporary files, the caches and the virtualenv"
-.PHONY: clean_py
clean_py:
rm -rf service/_trial_temp
find . -name "*.pyc" -delete
rm -rf service/.coverage
rm -rf service/htmlcov
-.PHONY: clean_js
clean_js:
rm -rf web-ui/dist
rm -rf web-ui/.sass-cache
-.PHONY: clean_cache
clean_cache:
rm -rf ~/.config/leap
rm -rf ~/.leap
rm -rf service/ghostdriver.log
-.PHONY: remove_virtualenv
remove_virtualenv:
rm -rf $(VIRTUALENV)
-.PHONY: remove_javascript_packages
remove_javascript_packages:
rm -rf web-ui/node_modules
rm -rf web-ui/app/bower_components