mirror of
https://github.com/jazzband/django-axes.git
synced 2026-03-16 22:30:23 +00:00
- Makefile based on https://github.com/aclark4life/project-makefile - Reqs (requirements.txt) facilitate "make install"
216 lines
5.6 KiB
Makefile
216 lines
5.6 KiB
Makefile
# https://github.com/aclark4life/project-makefile
|
|
#
|
|
# The MIT License (MIT)
|
|
#
|
|
# Copyright (c) 2016 Alex Clark
|
|
#
|
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
# of this software and associated documentation files (the "Software"), to deal
|
|
# in the Software without restriction, including without limitation the rights
|
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
# copies of the Software, and to permit persons to whom the Software is
|
|
# furnished to do so, subject to the following conditions:
|
|
#
|
|
# The above copyright notice and this permission notice shall be included in all
|
|
# copies or substantial portions of the Software.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
# SOFTWARE.
|
|
|
|
.DEFAULT_GOAL=git-commit-edit-push
|
|
|
|
APP=app
|
|
MESSAGE="Update"
|
|
PROJECT=project
|
|
TMP:=$(shell echo `tmp`)
|
|
|
|
commit: git-commit-auto-push
|
|
co: git-checkout-branches
|
|
db: django-migrate django-su
|
|
db-clean: django-db-clean-postgres
|
|
django-start: django-init
|
|
fe-init: npm-init npm-install grunt-init grunt-serve
|
|
fe: npm-install grunt-serve
|
|
freeze: python-pip-freeze
|
|
heroku: heroku-push
|
|
install: python3.5-virtualenv python-pip-install
|
|
lint: python-flake python-yapf python-wc
|
|
migrate: django-migrate
|
|
push: git-push
|
|
plone-start: plone-init
|
|
readme: python-package-readme-test
|
|
release: python-package-release
|
|
releasetest: python-package-release-test
|
|
serve: python-serve
|
|
sphinx-start: sphinx-init
|
|
static: django-static
|
|
test: django-test
|
|
vm: vagrant-up
|
|
vm-down: vagrant-suspend
|
|
|
|
|
|
# Django
|
|
django-db-clean-postgres:
|
|
-dropdb $(PROJECT)-$(APP)
|
|
-createdb $(PROJECT)-$(APP)
|
|
django-db-clean-sqlite:
|
|
-rm -f $(PROJECT)-$(APP).sqlite3
|
|
django-init:
|
|
-mkdir -p $(PROJECT)/$(APP)
|
|
-django-admin startproject $(PROJECT) .
|
|
-django-admin startapp $(APP) $(PROJECT)/$(APP)
|
|
django-install:
|
|
$(MAKE) python-virtualenv
|
|
bin/pip install Django
|
|
django-migrate:
|
|
python manage.py migrate
|
|
django-migrations:
|
|
python manage.py makemigrations $(APP)
|
|
django-migrations-clean:
|
|
rm -rf $(PROJECT)/$(APP)/migrations
|
|
$(MAKE) django-migrations
|
|
django-serve:
|
|
python manage.py runserver
|
|
django-test:
|
|
python manage.py test
|
|
django-shell:
|
|
python manage.py shell
|
|
django-static:
|
|
python manage.py collectstatic --noinput
|
|
django-su:
|
|
python manage.py createsuperuser
|
|
|
|
# Git
|
|
REMOTE_BRANCHES=`git branch -a |\
|
|
grep remote |\
|
|
grep -v HEAD |\
|
|
grep -v master`
|
|
git-checkout-branches:
|
|
-for i in $(REMOTE_BRANCHES) ; do \
|
|
git checkout -t $$i ; done
|
|
git-commit-auto-push:
|
|
git commit -a -m $(MESSAGE)
|
|
$(MAKE) git-push
|
|
git-commit-edit-push:
|
|
git commit -a
|
|
$(MAKE) git-push
|
|
git-push:
|
|
git push
|
|
|
|
# Heroku
|
|
heroku-debug-on:
|
|
heroku config:set DEBUG=1
|
|
heroku-debug-off:
|
|
heroku config:unset DEBUG
|
|
heroku-push:
|
|
git push heroku
|
|
heroku-shell:
|
|
heroku run bash
|
|
|
|
# Misc
|
|
help:
|
|
@echo "\nPlease run \`make\` with one of these targets:\n"
|
|
@$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F:\
|
|
'/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}'\
|
|
| sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$' | xargs | tr ' ' '\n' | awk\
|
|
'{print " - "$$0}'
|
|
@echo "\n"
|
|
review:
|
|
open -a "Sublime Text 2" `find $(PROJECT) -name \*.py | grep -v __init__.py`\
|
|
`find $(PROJECT) -name \*.html`
|
|
|
|
# Node
|
|
npm-init:
|
|
npm init
|
|
npm-install:
|
|
npm install
|
|
grunt-init:
|
|
npm install grunt
|
|
grunt-init Gruntfile
|
|
grunt-serve:
|
|
grunt serve
|
|
|
|
# Plone
|
|
plone-heroku:
|
|
-@createuser -s plone > /dev/null 2>&1
|
|
-@createdb -U plone plone > /dev/null 2>&1
|
|
@export PORT=8080 && \
|
|
export USERNAME=admin && \
|
|
export PASSWORD=admin && \
|
|
bin/buildout -c heroku.cfg
|
|
plone-init:
|
|
plock --force --no-cache --no-virtualenv .
|
|
plone-install:
|
|
$(MAKE) install
|
|
bin/buildout
|
|
plone-db-sync:
|
|
bin/buildout -c database.cfg
|
|
plone-serve:
|
|
@echo "Zope about to handle requests here:\n\n\thttp://localhost:8080\n"
|
|
@bin/plone fg
|
|
|
|
# Python
|
|
python-clean-pyc:
|
|
find . -name \*.pyc | xargs rm -v
|
|
python-flake:
|
|
-flake8 *.py
|
|
-flake8 $(PROJECT)/*.py
|
|
-flake8 $(PROJECT)/$(APP)/*.py
|
|
python-package-check:
|
|
check-manifest
|
|
pyroma .
|
|
python-package-readme-test:
|
|
rst2html.py README.rst > readme.html; open readme.html
|
|
python-package-release:
|
|
python setup.py sdist --format=gztar,zip upload
|
|
python-package-release-test:
|
|
python setup.py sdist --format=gztar,zip upload -r test
|
|
python-package-test:
|
|
python setup.py test
|
|
python-pip-freeze:
|
|
bin/pip freeze | sort > $(TMP)/requirements.txt
|
|
mv -f $(TMP)/requirements.txt .
|
|
python-pip-install:
|
|
bin/pip install -r requirements.txt
|
|
python-serve:
|
|
@echo "\n\tServing HTTP on http://0.0.0.0:8000\n"
|
|
python -m SimpleHTTPServer
|
|
python-virtualenv:
|
|
virtualenv .
|
|
python-yapf:
|
|
-yapf -i *.py
|
|
-yapf -i -e $(PROJECT)/urls.py $(PROJECT)/*.py
|
|
-yapf -i $(PROJECT)/$(APP)/*.py
|
|
python-wc:
|
|
-wc -l *.py
|
|
-wc -l $(PROJECT)/*.py
|
|
-wc -l $(PROJECT)/$(APP)/*.py
|
|
|
|
# Sphinx
|
|
sphinx-init:
|
|
sphinx-quickstart -q -p "Python Project" -a "Alex Clark" -v 0.0.1 doc
|
|
sphinx-serve:
|
|
@echo "\nServing HTTP on http://0.0.0.0:8085 ...\n"
|
|
pushd _build/html; python -m SimpleHTTPServer 8085; popd
|
|
|
|
# Vagrant
|
|
vagrant-box-update:
|
|
vagrant box update
|
|
vagrant-clean:
|
|
vagrant destroy
|
|
vagrant-down:
|
|
vagrant suspend
|
|
vagrant-init:
|
|
vagrant init ubuntu/trusty64
|
|
vagrant up --provider virtualbox
|
|
vagrant-up:
|
|
vagrant up --provision
|
|
|
|
# Django-axes
|
|
python3.5-virtualenv:
|
|
virtualenv-3.5 .
|