diff --git a/Makefile b/Makefile index 242723b..e70b954 100644 --- a/Makefile +++ b/Makefile @@ -4,16 +4,18 @@ SHELL = /bin/bash ROOT_DIR = $(shell pwd) BIN_DIR = $(ROOT_DIR)/bin DATA_DIR = $(ROOT_DIR)/var +VIRTUALENV_DIR = $(ROOT_DIR)/lib/virtualenv +PIP = $(VIRTUALENV_DIR)/bin/pip WGET = wget -PYTHON = $(shell which python) +PYTHON = $(VIRTUALENV_DIR)/bin/python PROJECT = $(shell $(PYTHON) -c "import setup; print setup.NAME") PACKAGE = $(shell $(PYTHON) -c "import setup; print setup.PACKAGES[0]") BUILDOUT_CFG = $(ROOT_DIR)/etc/buildout.cfg BUILDOUT_DIR = $(ROOT_DIR)/lib/buildout -BUILDOUT_VERSION = 1.7.0 +BUILDOUT_VERSION = 2.2.1 BUILDOUT_BOOTSTRAP_URL = https://raw.github.com/buildout/buildout/$(BUILDOUT_VERSION)/bootstrap/bootstrap.py BUILDOUT_BOOTSTRAP = $(BUILDOUT_DIR)/bootstrap.py -BUILDOUT_BOOTSTRAP_ARGS = -c $(BUILDOUT_CFG) --version=$(BUILDOUT_VERSION) --distribute buildout:directory=$(ROOT_DIR) +BUILDOUT_BOOTSTRAP_ARGS = -c $(BUILDOUT_CFG) --version=$(BUILDOUT_VERSION) buildout:directory=$(ROOT_DIR) BUILDOUT = $(BIN_DIR)/buildout BUILDOUT_ARGS = -N -c $(BUILDOUT_CFG) buildout:directory=$(ROOT_DIR) NOSE = $(BIN_DIR)/nosetests @@ -26,7 +28,11 @@ configure: develop: buildout -buildout: +virtualenv: + if [ ! -d $(VIRTUALENV_DIR)/bin/ ]; then virtualenv --no-site-packages $(VIRTUALENV_DIR); fi + $(PIP) install -r $(ROOT_DIR)/etc/virtualenv.cfg + +buildout: virtualenv if [ ! -d $(BUILDOUT_DIR) ]; then mkdir -p $(BUILDOUT_DIR); fi if [ ! -f $(BUILDOUT_BOOTSTRAP) ]; then wget -O $(BUILDOUT_BOOTSTRAP) $(BUILDOUT_BOOTSTRAP_URL); fi if [ ! -x $(BUILDOUT) ]; then $(PYTHON) $(BUILDOUT_BOOTSTRAP) $(BUILDOUT_BOOTSTRAP_ARGS); fi diff --git a/docs/dev.txt b/docs/dev.txt index 4a8a442..5e23e5a 100644 --- a/docs/dev.txt +++ b/docs/dev.txt @@ -44,12 +44,9 @@ Setup a development environment System requirements: -* `Python`_ version 2.7, available as ``python`` command. - - .. note:: +* `Python`_ version 2.7, available as ``python`` command - You may use `Virtualenv`_ to make sure the active ``python`` is the right - one. +* `Virtualenv`_ version >= 1.9.1, available as ``virtualenv`` command * make and wget to use the provided :file:`Makefile`. diff --git a/etc/buildout.cfg b/etc/buildout.cfg index 1281e0a..778adee 100644 --- a/etc/buildout.cfg +++ b/etc/buildout.cfg @@ -1,8 +1,8 @@ # Buildout configuration file to deploy a development environment. [buildout] -extensions = buildout-versions -versions = versions +# Version management. +show-picked-versions = true # Configure directories: put buildout generated files in lib/buildout instead # of in current directory. bin-directory = bin @@ -23,14 +23,14 @@ develop = ${buildout:directory}/ ${buildout:directory}/demo/ parts = - django-downloadview + scripts directories releaser activate omelette -[django-downloadview] -recipe = z3c.recipe.scripts +[scripts] +recipe = zc.recipe.egg eggs = django-downloadview-demo mock @@ -52,7 +52,7 @@ paths = var/test [releaser] -recipe = z3c.recipe.scripts +recipe = zc.recipe.egg eggs = zest.releaser [activate] @@ -60,29 +60,27 @@ recipe = evg.recipe.activate [omelette] recipe = collective.recipe.omelette -eggs = ${django-downloadview:eggs} +eggs = ${scripts:eggs} location = ${buildout:directory}/lib/omelette [versions] -bpython = 0.10.1 -buildout-versions = 1.7 +bpython = 0.12 collective.recipe.omelette = 0.16 -coverage = 3.6 -distribute = 0.6.34 -Django = 1.5 +coverage = 3.7 +Django = 1.6 django-nose = 1.2 -docutils = 0.10 +docutils = 0.11 evg.recipe.activate = 0.5 -Jinja2 = 2.6 +Jinja2 = 2.7.1 +MarkupSafe = 0.18 mock = 1.0.1 nose = 1.3.0 Pygments = 1.6 python-termstyle = 0.1.10 -rednose = 0.3 -requests = 1.2.0 +rednose = 0.4.1 +requests = 2.0.1 Sphinx = 1.1.3 -sphinxcontrib-testbuild = 0.1.1 -zc.recipe.egg = 1.3.2 -z3c.recipe.mkdir = 0.5 -z3c.recipe.scripts = 1.0.1 -zest.releaser = 3.45 +sphinxcontrib-testbuild = 0.1.3 +z3c.recipe.mkdir = 0.6 +zc.recipe.egg = 2.0.1 +zest.releaser = 3.47 diff --git a/etc/virtualenv.cfg b/etc/virtualenv.cfg new file mode 100644 index 0000000..a1ec101 --- /dev/null +++ b/etc/virtualenv.cfg @@ -0,0 +1,3 @@ +--index-url https://simple.crate.io +pip==1.4.1 +setuptools==1.3