diff options
author | Monty Taylor <mordred@inaugust.com> | 2012-05-26 14:58:14 -0400 |
---|---|---|
committer | Gabriel Hurley <gabriel@strikeawe.com> | 2012-05-26 14:36:19 -0700 |
commit | c93e7c06fdfbd357767d8bb14b4a4d6fd9693e1e (patch) | |
tree | 188bb19696462c9f925a62841f7f04b96981851f /setup.py | |
parent | 4f7ee81b5850b43a2c1eaba85d6bac8099600e19 (diff) | |
download | horizon-c93e7c06fdfbd357767d8bb14b4a4d6fd9693e1e.tar.gz |
Add ProjectTestingInterface to horizon.
Horizon is the last project that doesn't have support for the common
Project Testing Interface. This gets horizon up to speed with the
other bits, but shouldn't break any of the existing interfaces.
Change-Id: I464c3b10d9708a0b7b5ffd42c88cd3cf515ef6a7
Diffstat (limited to 'setup.py')
-rwxr-xr-x | setup.py | 61 |
1 files changed, 12 insertions, 49 deletions
@@ -21,60 +21,22 @@ import os import re -from setuptools import setup, find_packages +import setuptools from horizon import version +from horizon.openstack.common import setup -ROOT = os.path.dirname(__file__) -PIP_REQUIRES = os.path.join(ROOT, "tools", "pip-requires") -TEST_REQUIRES = os.path.join(ROOT, "tools", "test-requires") - - -def parse_requirements(*filenames): - """ - We generate our install_requires from the pip-requires and test-requires - files so that we don't have to maintain the dependency definitions in - two places. - """ - requirements = [] - for f in filenames: - for line in open(f, 'r').read().split('\n'): - # Comment lines. Skip. - if re.match(r'(\s*#)|(\s*$)', line): - continue - # Editable matches. Put the egg name into our reqs list. - if re.match(r'\s*-e\s+', line): - pkg = re.sub(r'\s*-e\s+.*#egg=(.*)$', r'\1', line) - requirements.append("%s" % pkg) - # File-based installs not supported/needed. Skip. - elif re.match(r'\s*-f\s+', line): - pass - else: - requirements.append(line) - return requirements - - -def parse_dependency_links(*filenames): - """ - We generate our dependency_links from the pip-requires and test-requires - files for the dependencies pulled from github (prepended with -e). - """ - dependency_links = [] - for f in filenames: - for line in open(f, 'r').read().split('\n'): - if re.match(r'\s*-[ef]\s+', line): - line = re.sub(r'\s*-[ef]\s+', '', line) - line = re.sub(r'\s*git\+https', 'http', line) - line = re.sub(r'\.git#', '/tarball/master#', line) - dependency_links.append(line) - return dependency_links +requires = setup.parse_requirements() +depend_links = setup.parse_dependency_links() +tests_require = setup.parse_requirements(['tools/test-requires']) +ROOT = os.path.dirname(__file__) def read(fname): return open(os.path.join(ROOT, fname)).read() -setup(name="horizon", +setuptools.setup(name="horizon", version=version.canonical_version_string(), url='https://github.com/openstack/horizon/', license='Apache 2.0', @@ -82,12 +44,13 @@ setup(name="horizon", long_description=read('README.rst'), author='OpenStack', author_email='horizon@lists.launchpad.net', - packages=find_packages(), + packages=setuptools.find_packages(), + cmdclass=setup.get_cmdclass(), include_package_data=True, + install_requires=requires, + tests_require=tests_require, + dependency_links=depend_links, zip_safe=False, - install_requires=parse_requirements(PIP_REQUIRES), - tests_require=parse_requirements(TEST_REQUIRES), - dependency_links=parse_dependency_links(PIP_REQUIRES, TEST_REQUIRES), classifiers=['Development Status :: 4 - Beta', 'Framework :: Django', 'Intended Audience :: Developers', |