diff options
| author | Étienne Loks <etienne.loks@proxience.com> | 2015-02-01 16:48:52 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@proxience.com> | 2015-02-01 16:48:52 +0100 | 
| commit | b13531ff2d00911f653c9c2804319177332d9481 (patch) | |
| tree | 07521e277204f8b4fac75ff403e83e0262586e27 | |
| parent | 25de58fa4006105f41f3d33c4f03b5243e3ec6da (diff) | |
| download | Ishtar-b13531ff2d00911f653c9c2804319177332d9481.tar.bz2 Ishtar-b13531ff2d00911f653c9c2804319177332d9481.zip  | |
Add makefile sample
| -rw-r--r-- | Makefile.example | 79 | 
1 files changed, 79 insertions, 0 deletions
diff --git a/Makefile.example b/Makefile.example new file mode 100644 index 000000000..e1dfcd606 --- /dev/null +++ b/Makefile.example @@ -0,0 +1,79 @@ +SHELL := /bin/bash + +# if a virtualenv is used put the full python path +# e.g.: PYTHON=$$HOME/.virtualenvs/ishtar/bin/python +PYTHON=python +# put name of your current project +project=example_project +# list used apps +apps="ishtar_common" "archaeological_operations" "archaeological_context_records" "archaeological_files" "archaeological_finds" "archaeological_warehouse" +default_data='fr' +url='ishtar.example.com' +project_name='Test' + +clean: +	-rm -rf *~* +	-find . -name '*.pyc' -exec rm {} \; +	-find . -name '.*.swp' -exec rm {} \; + +test: clean +	cd $(project); $(PYTHON) manage.py test + +pep8: +	pep8.py --filename=*.py --ignore=W --exclude="manage.py,settings.py" --statistics --repeat . + +pylint: +	pylint . --max-public-methods=50 --include-ids=y --ignored-classes=Item.Meta --method-rgx='[a-z_][a-z0-9_]{2,40}$$' + +fresh_syncdb: +	cd $(project); $(PYTHON) ./manage.py syncdb --noinput 2> /dev/null > /dev/null +	cd $(project); $(PYTHON) ./manage.py migrate ishtar_common 2> /dev/null > /dev/null +	if [[ '$(apps)' == *archaeological_files* ]]; then cd $(project); $(PYTHON) ./manage.py migrate archaeological_files 0013 2> /dev/null > /dev/null; fi +	if [[ '$(apps)' == *archaeological_operations* ]]; then cd $(project); $(PYTHON) ./manage.py migrate archaeological_operations 2> /dev/null > /dev/null; fi +	if [[ '$(apps)' == *archaeological_files* ]]; then cd $(project); $(PYTHON) ./manage.py migrate archaeological_files 2> /dev/null > /dev/null; fi +	cd $(project); $(PYTHON) ./manage.py migrate 2> /dev/null > /dev/null +	echo "* load default data" +	# data migrations have created some default data - return to a clean state +	cd $(project); $(PYTHON) ./manage.py flush --noinput 2> /dev/null +	cd $(project); $(PYTHON) ./manage.py loaddata \ +    '../fixtures/initial_data-auth-'$(default_data)'.json' 2> /dev/null +	cd $(project); $(PYTHON) ./manage.py loaddata \ +    '../ishtar_common/fixtures/initial_data-'$(default_data)'.json' 2> /dev/null +	cd $(project); $(PYTHON) ./manage.py loaddata \ +    '../ishtar_common/fixtures/initial_towns-'$(default_data)'.json' 2> /dev/null +	if [[ '$(apps)' == *archaeological_operations* ]]; then cd $(project); $(PYTHON) ./manage.py loaddata \ +    '../archaeological_operations/fixtures/initial_data-'$(default_data)'.json' 2> /dev/null; fi +	if [[ '$(apps)' == *archaeological_files* ]]; then cd $(project); $(PYTHON) ./manage.py loaddata \ +    '../archaeological_files/fixtures/initial_data-'$(default_data)'.json' 2> /dev/null; fi +	if [[ '$(apps)' == *archaeological_context_records* ]]; then cd $(project); $(PYTHON) ./manage.py loaddata \ +    '../archaeological_context_records/fixtures/initial_data-'$(default_data)'.json' 2> /dev/null; fi +	if [[ '$(apps)' == *archaeological_finds* ]]; then cd $(project); $(PYTHON) ./manage.py loaddata \ +    '../archaeological_finds/fixtures/initial_data-'$(default_data)'.json' 2> /dev/null; fi +	if [[ '$(apps)' == *archaeological_warehouse* ]]; then cd $(project); $(PYTHON) ./manage.py loaddata \ +    '../archaeological_warehouse/fixtures/initial_data-'$(default_data)'.json' 2> /dev/null; fi +	echo "* create superuser" +	cd $(project); $(PYTHON) ./manage.py createsuperuser +	# "de-flush" migrations +	$(PYTHON) ./manage.py migrate --fake 2> /dev/null > /dev/null +	# add a default site +	echo '[{"pk":null, "model": "sites.site", "fields": {"domain": "'$(URL)'", "name": "'$(PROJECT_NAME)'"}}]' > \ +    /tmp/site.json +	cd $(project); $(PYTHON) ./manage.py loaddata /tmp/site.json +	rm /tmp/site.json + +syncdb: +	cd $(project); $(PYTHON) manage.py syncdb --noinput +	cd $(project); $(PYTHON) manage.py migrate + +shell: +	cd $(project);$(PYTHON) manage.py shell + +run: +	cd $(project); $(PYTHON) manage.py runserver 0.0.0.0:8000 + +compilemessages: +	for DIR in $(apps); do \ +		echo $(CURDIR)/$$DIR; \ +		cd $(CURDIR)/$$DIR; \ +		django-admin compilemessages; \ +	done  | 
