This project puts together the Morepath framework with related projects:
- The libraries developed together with Morepath:
- The extensions developed and supported within the Morepath organization on GitHub:
- The example applications developed and supported within the Morepath organization on GitHub:
-
Clone recursively this repository:
git clone --recursive git@github.com:taschini/morepath-umbrella.git cd morepath-umbrella
-
Use Buildout to check out all the project listed above:
mkdir env virtualenv --no-site-packages env/buildout ./env/buildout/bin/python bootstrap.py ./bin/buildout
-
Create as many virtual environments as the versions of Python you want to use for testing, at least two, one for Python 2.7 and one for Python 3.5:
virtualenv --no-site-packages -p python2.7 env/py27 virtualenv --no-site-packages -p python3.5 env/py35
-
Use Pip to install all the dependencies:
for k in ./env/py*; do $k/bin/pip install -r requirements.txt ; done
On some versions of OS X, you might have to ensure that the Cryptography library for Python is linked to a recent version of OpenSSL:
brew install openssl
export CRYPTOGRAPHY_OSX_NO_LINK_FLAGS=1
export LDFLAGS="$(brew --prefix openssl)/lib/libssl.a $(brew --prefix openssl)/lib/libcrypto.a"
export CFLAGS="-I$(brew --prefix openssl)/include"
for k in ./env/py*; do $k/bin/pip install cryptography --no-binary :all:
-
Run the tests using one of the virtual environments (say that for Python 3.5):
./env/py35/bin/py.test
-
Run the tests with coverage statistics:
./env/py35/bin/py.test --cov
-
Search for text in the projects under the umbrella using Ack:
ack text `cat ackdirs.txt`
-
Check status and branch names of all the projects under the umbrella:
make status