Source

wheezy.caching / Makefile

Andriy Kornatsky… c703888 

Andriy Kornatsky… 85b25f2 
Andriy Kornatsky… 434c610 
Andriy Kornatsky… 85b25f2 
Andriy Kornatsky… e1933c8 
Andriy Kornatsky… 85b25f2 




Andriy Kornatsky… fbd3371 
Andriy Kornatsky… 85b25f2 
Andriy Kornatsky… f79420f 
Andriy Kornatsky… 85b25f2 

Andriy Kornatsky… fbd3371 

Andriy Kornatsky… 85b25f2 

Andriy Kornatsky… fbd3371 
Andriy Kornatsky… 85b25f2 
Andriy Kornatsky… 8b0d691 
Andriy Kornatsky… 85b25f2 





Andriy Kornatsky… e100e1a 

Andriy Kornatsky… 85b25f2 

Andriy Kornatsky… fff6e9f 





Andriy Kornatsky… 85b25f2 
Andriy Kornatsky… f543f65 
Andriy Kornatsky… 85b25f2 
Andriy Kornatsky… 83e5da9 





Andriy Kornatsky… 85b25f2 




Andriy Kornatsky… 127bdf0 
Andriy Kornatsky… 85b25f2 



Andriy Kornatsky… e1933c8 

Andriy Kornatsky… 96c88f3 
Andriy Kornatsky… e1933c8 


Andriy Kornatsky… 554bf35 


Andriy Kornatsky… e1933c8 






Andriy Kornatsky… c703888 





Andriy Kornatsky… 85b25f2 
Andriy Kornatsky… 8b0d691 
Andriy Kornatsky… 85b25f2 

Andriy Kornatsky… 8b0d691 
Andriy Kornatsky… 85b25f2 

Andriy Kornatsky… 8b0d691 
Andriy Kornatsky… 85b25f2 

Andriy Kornatsky… 8b0d691 
Andriy Kornatsky… 85b25f2 

Andriy Kornatsky… 8b0d691 
Andriy Kornatsky… 85b25f2 


Andriy Kornatsky… 8b0d691 
Andriy Kornatsky… 85b25f2 




.SILENT: clean env doctest-cover qa test doc release upload
.PHONY: clean env doctest-cover qa test doc release upload

VERSION=2.7
PYPI=http://pypi.python.org/simple
DIST_DIR=dist

PYTHON=env/bin/python$(VERSION)
EASY_INSTALL=env/bin/easy_install-$(VERSION)
PYTEST=env/bin/py.test-$(VERSION)
NOSE=env/bin/nosetests-$(VERSION)
SPHINX=/usr/bin/python /usr/bin/sphinx-build

all: clean doctest-cover test release

debian:
	apt-get -y update
	apt-get -y dist-upgrade
	# How to Compile Python from Source
	# http://mindref.blogspot.com/2011/09/compile-python-from-source.html
	apt-get -y install libbz2-dev build-essential python \
		python-dev python-setuptools python-virtualenv \
		python-sphinx mercurial memcached libmemcached-dev

env:
	PYTHON_EXE=/usr/local/bin/python$(VERSION); \
	if [ ! -x $$PYTHON_EXE ]; then \
		PYTHON_EXE=/usr/bin/python$(VERSION); \
	fi;\
	VIRTUALENV_USE_SETUPTOOLS=1; \
	export VIRTUALENV_USE_SETUPTOOLS; \
	virtualenv --python=$$PYTHON_EXE \
		--no-site-packages env
	if [ "$$(echo $(VERSION) | sed 's/\.//')" -ge 30 ]; then \
		echo -n 'Upgrading distribute...'; \
		$(EASY_INSTALL) -i $(PYPI) -U -O2 distribute \
			> /dev/null 2>/dev/null; \
		echo 'done.'; \
	fi
	$(EASY_INSTALL) -i $(PYPI) -O2 coverage nose pytest \
		pytest-pep8 pytest-cov mock
	# The following packages available for python < 3.0
	if [ "$$(echo $(VERSION) | sed 's/\.//')" -lt 30 ]; then \
		$(EASY_INSTALL) -i $(PYPI) -U -O2 python-memcached; \
		if [ "$$(echo $(VERSION) | sed 's/\.//')" -gt 24 ]; then \
			$(EASY_INSTALL) -i $(PYPI) -U -O2 pylibmc; \
		fi; \
	fi;
	$(PYTHON) setup.py develop -i $(PYPI)

clean:
	find src/ -type d -name __pycache__ | xargs rm -rf
	find src/ -name '*.py[co]' -delete
	rm -rf dist/ build/ MANIFEST src/*.egg-info .cache .coverage

release:
	$(PYTHON) setup.py -q bdist_egg

upload:
	REV=$$(hg head --template '{rev}');\
	sed -i "s/'0.1'/'0.1.$$REV'/" src/wheezy/caching/__init__.py ; \
	if [ "$$(echo $(VERSION) | sed 's/\.//')" -eq 27 ]; then \
		$(PYTHON) setup.py -q egg_info --tag-build .$$REV \
			sdist register upload; \
		$(EASY_INSTALL) -i $(PYPI) sphinx; \
		$(PYTHON) env/bin/sphinx-build -D release=0.1.$$REV \
			-a -b html doc/ doc/_build/;\
		python setup.py upload_docs; \
	fi; \
	$(PYTHON) setup.py -q egg_info --tag-build .$$REV \
		bdist_egg --dist-dir=$(DIST_DIR) \
		rotate --match=$(VERSION).egg --keep=1 --dist-dir=$(DIST_DIR) \
		upload;

qa:
	if [ "$$(echo $(VERSION) | sed 's/\.//')" -eq 27 ]; then \
		flake8 --max-complexity 10 doc src setup.py && \
		pep8 doc src setup.py ; \
	fi

test:
	memcached -s /tmp/memcached.sock -d
	$(PYTEST) -q -x --pep8 --doctest-modules \
		src/wheezy/caching
	killall -u $(USER) -s 3 memcached

doctest-cover:
	memcached -s /tmp/memcached.sock -d
	$(NOSE) --stop --with-doctest --detailed-errors \
		--with-coverage --cover-package=wheezy.caching
	killall -u $(USER) -s 3 memcached

test-cover:
	memcached -s /tmp/memcached.sock -d
	$(PYTEST) -q --cov wheezy.caching \
		--cov-report term-missing \
		src/wheezy/caching/tests
	killall -u $(USER) -s 3 memcached

doc:
	$(SPHINX) -a -b html doc/ doc/_build/

test-demos:
	$(PYTEST) -q -x --pep8 demos/