Skip to content

Instantly share code, notes, and snippets.

@turtlebender
Created August 22, 2012 13:54
Show Gist options
  • Save turtlebender/3425775 to your computer and use it in GitHub Desktop.
Save turtlebender/3425775 to your computer and use it in GitHub Desktop.
gearbox makefile
VIRTUALENV_URL=https://raw.github.com/pypa/virtualenv/master/virtualenv.py
DOWNLOAD_CACHE=vendor/cache
SRC_DIR=src
COVER_PACKAGE=ns
TEST_OUTPUT_DIR=test_results
TEST_DIR=tests
PHONY: clean
clean_all:
rm -r vendor/python
PHONY: test
test: install_libs $(TEST_OUTPUT_DIR) vendor/python/bin/nosetests
if [ -f test-requirements ] ; then PIP_DOWNLOAD_CACHE=vendor/cache vendor/python/bin/pip install -r test-requirements.txt ; fi
vendor/python/bin/nosetests --with-coverage --cover-xml --cover-xml-file=../$(TEST_OUTPUT_DIR)/coverage.xml --cover-package=$(COVER_PACKAGE) -w $(TEST_DIR) --with-xunit --xunit-file=$(TEST_OUTPUT_DIR)/nosetests.xml
./vendor/python/bin/nosetests: ./vendor/python/bin/python
curl -L -o vendor/nosetests-master.tar.gz https://github.com/nose-devs/nose/tarball/master
vendor/python/bin/pip install ./vendor/nosetests-master.tar.gz
vendor/python/bin/pip install coverage
$(TEST_OUTPUT_DIR):
mkdir $(TEST_OUTPUT_DIR)
PHONY: install_libs
install_libs: ./vendor/python/bin/python
PIP_DOWNLOAD_CACHE=vendor/cache pip install -r requirements.txt
./vendor/python/bin/python: vendor/virtualenv.py
python vendor/virtualenv.py --distribute vendor/python
./vendor/virtualenv.py: vendor
curl -o vendor/virtualenv.py $(VIRTUALENV_URL)
./vendor:
mkdir vendor
09:27 ~/src/ldap-auth $ make `pwd`/vendor/python/bin/nosetests
make: Nothing to be done for `/home/trhowe/src/ldap-auth/vendor/python/bin/nosetests'.
09:27 ~/src/ldap-auth $ make test
python vendor/virtualenv.py --distribute vendor/python
Using real prefix '/usr'
New python executable in vendor/python/bin/python
Installing distribute..................................................................................................................................................................................................done.
Installing pip.............done.
PIP_DOWNLOAD_CACHE=vendor/cache pip install -r requirements.txt
Requirement already satisfied (use --upgrade to upgrade): python-ldap==2.4.10 in /home/trhowe/boto/lib/python2.7/site-packages (from -r requirements.txt (line 1))
Requirement already satisfied (use --upgrade to upgrade): distribute in /home/trhowe/boto/lib/python2.7/site-packages/distribute-0.6.27-py2.7.egg (from python-ldap==2.4.10->-r requirements.txt (line 1))
Cleaning up...
echo "install nosetests"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment