|
|
|
.PHONY: clean_env init_env clean_virtualenv install_packages clean install run all schema_seminar.pdf schema_all.pdf
|
|
|
|
PYTHON=python2.7
|
|
|
|
VE_VER=12.0.7
|
|
|
|
LOCAL_PYTHON=bin/python
|
|
|
|
|
|
|
|
all: install
|
|
|
|
|
|
|
|
clean: clean_env
|
|
|
|
|
|
|
|
veryclean: clean clean_virtualenv
|
|
|
|
|
|
|
|
install: virtualenv bin/python install_packages
|
|
|
|
|
|
|
|
|
|
|
|
# phony, but depends on file
|
|
|
|
make_env: ${LOCAL_PYTHON}
|
|
|
|
|
|
|
|
# phony, but fast repeated execution
|
|
|
|
install_packages: make_env
|
|
|
|
bin/pip install -r requirements.txt
|
|
|
|
|
|
|
|
# phony
|
|
|
|
clean_env:
|
|
|
|
rm -rf bin/ include/ lib/ local/ share/
|
|
|
|
rm -f pip-selfcheck.json
|
|
|
|
rm -f schema_seminar.pdf schema_all.pdf
|
|
|
|
|
|
|
|
# binary name representing set-up env
|
|
|
|
${LOCAL_PYTHON}: virtualenv
|
|
|
|
${PYTHON} virtualenv/virtualenv.py .
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# directory name
|
|
|
|
virtualenv:
|
|
|
|
curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-${VE_VER}.tar.gz
|
|
|
|
tar xvfz virtualenv-${VE_VER}.tar.gz
|
|
|
|
mv virtualenv-${VE_VER} virtualenv
|
|
|
|
rm virtualenv-${VE_VER}.tar.gz
|
|
|
|
|
|
|
|
# phony
|
|
|
|
clean_virtualenv:
|
|
|
|
rm -rf virtualenv/
|
|
|
|
|
|
|
|
run:
|
|
|
|
./manage.py runserver_plus
|
|
|
|
|
|
|
|
test:
|
|
|
|
./manage.py test -v2 seminar mamweb
|
|
|
|
|
|
|
|
# DB schemata
|
|
|
|
|
|
|
|
schema: schema_seminar.pdf schema_all.pdf
|
|
|
|
|
|
|
|
schema_seminar.pdf:
|
|
|
|
./manage.py graph_models seminar | dot -Tpdf > schema_seminar.pdf
|
|
|
|
|
|
|
|
schema_all.pdf:
|
|
|
|
./manage.py graph_models -a -g | dot -Tpdf > schema_all.pdf
|
|
|
|
|
|
|
|
# Deploy to current *mamweb-test* directory
|
|
|
|
deploy_test:
|
|
|
|
@if [[ `pwd` != "/akce/MaM/WWW/mamweb-test" ]]; then echo "Only possible in /akce/MaM/WWW/mamweb-test"; exit 1; fi
|
|
|
|
@echo "Installing version from origin/master ..."
|
|
|
|
git pull origin master
|
|
|
|
git clean -f
|
|
|
|
make install
|
|
|
|
./manage.py migrate
|
|
|
|
./manage.py collectstatic --noinput
|
|
|
|
(chown -Rf :mam . || true )
|
|
|
|
(chmod -Rf g+rwX . || true )
|
|
|
|
(chmod -Rf o+r . || true )
|
|
|
|
touch mamweb/wsgi.py
|
|
|
|
@echo Done.
|
|
|
|
|
|
|
|
# Deploy to current *mamweb-prod* directory
|
|
|
|
deploy_prod:
|
|
|
|
@if [[ `pwd` != "/akce/MaM/WWW/mamweb-prod" ]]; then echo "Only possible in /akce/MaM/WWW/mamweb-prod"; exit 1; fi
|
|
|
|
@echo "Backing up production DB ..."
|
|
|
|
( cd .. && ./backup_prod_db.sh )
|
|
|
|
@echo "Installing version from origin/stable ..."
|
|
|
|
git pull origin stable
|
|
|
|
git clean -f
|
|
|
|
make install
|
|
|
|
./manage.py migrate
|
|
|
|
./manage.py collectstatic --noinput
|
|
|
|
(chown -Rf :mam . || true )
|
|
|
|
(chmod -Rf g+rwX . || true )
|
|
|
|
touch mamweb/wsgi.py
|
|
|
|
@echo Done.
|
|
|
|
|