diff --git a/Makefile b/Makefile index afac36e..42ecf89 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,80 @@ +ASSESTS=requirements static +DEV_REQUIREMENTS=requirements/development.txt +DJANGO_SETTINGS_MODULE="kasu.settings" +EXCLUDE_FILES=*.pyc PROJECT_PATH=$(CURDIR) +PYTHON=${VENV_PATH}/bin/python3 +REQUIREMENTS=requirements/base.txt +SRC_PATH=${PROJECT_PATH}/src +MANAGE_PY=${PYTHON} -Wa ${SRC_PATH}/manage.py +SSH_LOGIN=kasu@kasu.at VENV_PATH=$(PROJECT_PATH)/venv +.PHONY: clean venv -.PHONY: venv -venv: ## create venv for this Django Project - python3.5 -m venv --clear $(VENV_PATH) - ( \ - source $(VENV_PATH)/bin/activate; \ - pip --upgrade pip; \ - pip install -r $(PROJECT_PATH)/requirements/development.txt; \ - ) +all: cleanup migrate testserver + +venv: $(VENV_PATH)/bin/activate +$(VENV_PATH)/bin/activate: + @test -d $(VENV_PATH) || python3.5 -m venv --clear $(VENV_PATH) + +dev-requirements: venv ${DEV_REQUIREMENTS} + ${PYTHON} -m pip install -qU pip + ${PYTHON} -m pip install -qUr ${DEV_REQUIREMENTS} + +requirements: venv ${REQUIREMENTS} + ${PYTHON} -m pip install -qU pip + ${PYTHON} -m pip install -qUr ${REQUIREMENTS} + +grunt: + -grunt + +requirements_remote: + @echo "Installing requirements" + ssh ${SSH_LOGIN} "virtualenv/bin/pip install -qUr ${REQUIREMENTS}" + +sync_assets: + @echo "Syncing project assets ..." + rsync -qr --copy-links --delete ${ASSESTS} ${SSH_LOGIN}:~/ + +sync_src: + @echo "Syncing Sourcecode ..." + find . -name EXCLUDE_FILES -exec rm -rf {} \; + rsync -qr --copy-links --delete ${SRC_PATH} ${SSH_LOGIN}:~/ --exclude 'src/kasu/local_settings.py' + +restart_remote: + @echo "Rebuild and reload django..." + ssh ${SSH_LOGIN} "~/virtualenv/bin/python ~/src/manage.py collectstatic -l --noinput -v0" + ssh ${SSH_LOGIN} "~/init/kasu restart" + +sync: sync_assets requirements_remote sync_src restart_remote + +testserver: venv + ${MANAGE_PY} runserver 127.0.0.1:8000 + +messages: venv + @echo "aktualisiere Übersetzungen..." + @(for d in ${SRC_PATH}/*; do \ + test -d $$d/locale && cd $$d && ${VENV_PATH}/bin/django-admin.py makemessages -l de;\ + done) + ${MANAGE_PY} compilemessages -v0 + +cleanup-pyc: + @echo "lösche den Python Compiler Cache..." + find ${SRC_PATH} -name ${EXCLUDE_FILES} -exec rm -rf {} \; + +collectstatic: venv + @echo "aktualisiere Statics" + ${MANAGE_PY} collectstatic --noinput -c -v0 + +thumbnails: venv + @echo "Erstelle Vorschaubilder" + ${MANAGE_PY} thumbnail_cleanup + +cleanup: requirements messages cleanup-pyc collectstatic thumbnails + +migrate: venv + ${MANAGE_PY} migrate + +migrations: venv + ${MANAGE_PY} makemigrations diff --git a/bin/cleanup.sh b/bin/cleanup.sh deleted file mode 100755 index 994e3d3..0000000 --- a/bin/cleanup.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -export DJANGO_SETTINGS_MODULE=kasu.settings -source venv/bin/activate - -echo "aktualisiere Übersetzungen..." -cd src -unset DJANGO_SETTINGS_MODULE -for dir in * -do - if [ -d ${dir}/locale ] - then - echo -n "$dir: " - cd ${dir} - django-admin.py makemessages -l de - cd .. - fi -done -sleep 5s -export DJANGO_SETTINGS_MODULE=kasu.settings -./manage.py compilemessages -echo "lösche den Python Compiler Cache..." -find . -name "*.pyc" -exec rm -rf {} \; -echo "Aktualisiere Statics" -./manage.py collectstatic --noinput -c -echo "Erstelle Vorschaubilder" -./manage.py thumbnail_cleanup -touch kasu/wsgi.py diff --git a/bin/sync.sh b/bin/sync.sh deleted file mode 100755 index 5777e9c..0000000 --- a/bin/sync.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -SSH_LOGIN="kasu@kasu.at" -SYNC_ASSESTS="requirements static" -SYNC_SOURCECODE="src" -EXCLUDE_FILES="*.pyc" - -grunt - -echo "Syncing project assets ..." -rsync -r --copy-links --delete ${SYNC_ASSESTS} ${SSH_LOGIN}:~/ - -echo "Installing dependecies" -ssh ${SSH_LOGIN} "virtualenv/bin/pip install --upgrade -r requirements/base.txt" - -echo "Syncing Sourcecode ..." -find . -name "*.pyc" -exec rm -rf {} \; -rsync -r --copy-links --delete ${SYNC_SOURCECODE} ${SSH_LOGIN}:~/ --exclude 'src/kasu/local_settings.py' - -echo "Rebuild and reload django..." -ssh ${SSH_LOGIN} "rm src/kasu/settings/development.*" -ssh ${SSH_LOGIN} "~/virtualenv/bin/python ~/src/manage.py collectstatic -l --noinput -v1" -ssh ${SSH_LOGIN} "~/init/kasu restart" diff --git a/bin/testserver.sh b/bin/testserver.sh deleted file mode 100755 index 4bbe565..0000000 --- a/bin/testserver.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -export DJANGO_SETTINGS_MODULE=kasu.settings -source venv/bin/activate -./manage.py runserver 0.0.0.0:8000 -