diff options
| author | Monty Taylor <mordred@inaugust.com> | 2012-01-04 19:16:29 -0800 |
|---|---|---|
| committer | Monty Taylor <mordred@inaugust.com> | 2012-01-04 19:16:29 -0800 |
| commit | 1a8c7db488060483e788b4c03a5e05cc477aa79c (patch) | |
| tree | 5d0e1858da7bccb146aafd749e391cdf8c4dee05 /tools | |
| parent | 1f08ca07531c8686811f88a4bdd8843036f566c1 (diff) | |
| download | oslo-1a8c7db488060483e788b4c03a5e05cc477aa79c.tar.gz oslo-1a8c7db488060483e788b4c03a5e05cc477aa79c.tar.xz oslo-1a8c7db488060483e788b4c03a5e05cc477aa79c.zip | |
Use nose and tox.
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/install_venv.py | 144 | ||||
| -rwxr-xr-x | tools/with_venv.sh | 4 |
2 files changed, 0 insertions, 148 deletions
diff --git a/tools/install_venv.py b/tools/install_venv.py deleted file mode 100644 index c73943f..0000000 --- a/tools/install_venv.py +++ /dev/null @@ -1,144 +0,0 @@ -# vim: tabstop=4 shiftwidth=4 softtabstop=4 - -# Copyright 2010 United States Government as represented by the -# Administrator of the National Aeronautics and Space Administration. -# All Rights Reserved. -# -# Copyright 2010 OpenStack LLC. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -""" -Installation script for openstack common's development virtualenv -""" - -import os -import subprocess -import sys - - -ROOT = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) -VENV = os.path.join(ROOT, '.openstack-common-venv') -PIP_REQUIRES = os.path.join(ROOT, 'tools', 'pip-requires') - - -def die(message, *args): - print >> sys.stderr, message % args - sys.exit(1) - - -def run_command(cmd, redirect_output=True, check_exit_code=True): - """ - Runs a command in an out-of-process shell, returning the - output of that command. Working directory is ROOT. - """ - if redirect_output: - stdout = subprocess.PIPE - else: - stdout = None - - proc = subprocess.Popen(cmd, cwd=ROOT, stdout=stdout) - output = proc.communicate()[0] - if check_exit_code and proc.returncode != 0: - die('Command "%s" failed.\n%s', ' '.join(cmd), output) - return output - - -HAS_EASY_INSTALL = bool(run_command(['which', 'easy_install'], - check_exit_code=False).strip()) -HAS_VIRTUALENV = bool(run_command(['which', 'virtualenv'], - check_exit_code=False).strip()) - - -def check_dependencies(): - """Make sure virtualenv is in the path.""" - - if not HAS_VIRTUALENV: - print 'not found.' - # Try installing it via easy_install... - if HAS_EASY_INSTALL: - print 'Installing virtualenv via easy_install...', - if not run_command(['which', 'easy_install']): - die('ERROR: virtualenv not found.\n\n' - 'Openstack development requires virtualenv, please install' - ' it using your favorite package management tool') - print 'done.' - print 'done.' - - -def create_virtualenv(venv=VENV): - """ - Creates the virtual environment and installs PIP only into the - virtual environment - """ - print 'Creating venv...', - run_command(['virtualenv', '-q', '--no-site-packages', VENV]) - print 'done.' - print 'Installing pip in virtualenv...', - if not run_command(['tools/with_venv.sh', 'easy_install', 'pip']).strip(): - die("Failed to install pip.") - print 'done.' - - -def install_package(venv=VENV): - print 'Installing packages (this can take a while)...' - venv_tool = 'tools/with_venv.sh' - run_command([venv_tool, 'pip', 'install', '-E', venv, '-e', ROOT], - redirect_output=False) - - # Tell the virtual env how to "import openstack-common" - py_ver = _detect_python_version(venv) - pthfile = os.path.join(venv, "lib", py_ver, "site-packages", - "openstack-common.pth") - f = open(pthfile, 'w') - f.write("%s\n" % ROOT) - - -def _detect_python_version(venv): - lib_dir = os.path.join(venv, "lib") - for pathname in os.listdir(lib_dir): - if pathname.startswith('python'): - return pathname - raise Exception('Unable to detect Python version') - - -def print_help(): - help = """ - Openstack-Common development environment setup is complete. - - Openstack-Common development uses virtualenv to track and manage Python - dependencies while in development and testing. - - To activate the Openstack-Common virtualenv for the extent of your - current shell session you can run: - - $ source .openstack-common-venv/bin/activate - - Or, if you prefer, you can run commands in the virtualenv on a case by case - basis by running: - - $ tools/with_venv.sh <your command> - - Also, make test will automatically use the virtualenv. - """ - print help - - -def main(argv): - check_dependencies() - create_virtualenv() - install_package() - print_help() - -if __name__ == '__main__': - main(sys.argv) diff --git a/tools/with_venv.sh b/tools/with_venv.sh deleted file mode 100755 index f42b577..0000000 --- a/tools/with_venv.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -TOOLS=`dirname $0` -VENV=$TOOLS/../.openstack-common-venv -source $VENV/bin/activate && $@ |
