git-review/setup.py
Monty Taylor 3cf55f98ac Added tox support for testing pep8.
We'll process requirements.txt to install depends as needed.
Also include a hacking doc explaining what we expect.
Also, including argparse automatically breaks our automagic version
numbering, so import it in main() (slightly evil, but not terrible)

Change-Id: Ib3f65459fe2cd54ce531b7ae22935e24bd8f8920
2012-01-26 18:55:10 -05:00

74 lines
2.4 KiB
Python
Executable File

#!/usr/bin/python
# Copyright (c) 2010-2011 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.
from setuptools import setup
from distutils.command.install import install as du_install
from setuptools.command.install import install
# version comes from git-review.
savename = __name__
__name__ = "not-main"
exec(open("git-review", "r"))
__name__ = savename
class git_review_install(install):
# Force single-version-externally-managed
# This puts the manpage in the right location (instead of buried
# in an egg)
def run(self):
return du_install.run(self)
git_review_cmdclass = {'install': git_review_install}
def parse_requirements(file_name):
requirements = []
for line in open(file_name, 'r').read().split('\n'):
if re.match(r'(\s*#)|(\s*$)', line):
continue
if re.match(r'\s*-e\s+', line):
requirements.append(re.sub(r'\s*-e\s+.*#egg=(.*)$', r'\1', line))
elif re.match(r'\s*-f\s+', line):
pass
else:
requirements.append(line)
return requirements
def parse_dependency_links(file_name):
dependency_links = []
for line in open(file_name, 'r').read().split('\n'):
if re.match(r'\s*-[ef]\s+', line):
dependency_links.append(re.sub(r'\s*-[ef]\s+', '', line))
return dependency_links
setup(
name='git-review',
version=version,
cmdclass=git_review_cmdclass,
description="Tool to submit code to Gerrit",
license='Apache License (2.0)',
classifiers=["Programming Language :: Python"],
keywords='git gerrit review',
author='OpenStack, LLC.',
author_email='openstack@lists.launchpad.net',
url='https://launchpad.net/git-review',
scripts=['git-review'],
data_files=[('share/man/man1', ['git-review.1'])],
install_requires=parse_requirements('requirements.txt'),
dependency_links=parse_dependency_links('requirements.txt'),
)