libra/setup.py
David Shrewsbury ff97e0c82a Reorg code to separate out worker function.
This is in preparation to begin executing Gearman tasks in
a separate thread of control. This is needed so that the
code can act as both a Gearman worker AND client.

Change-Id: Ice33ff3dbf26cddaa753c59a5f9a38e1bbb239ce
2012-11-02 15:30:21 -04:00

80 lines
2.4 KiB
Python

# Copyright 2012 Hewlett-Packard Development Company, L.P.
#
# 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.
import sys
import setuptools
from setuptools.command.test import test as TestCommand
from libra.openstack.common import setup
requires = setup.parse_requirements()
tests_requires = setup.parse_requirements(['tools/test-requires'])
class PyTest(TestCommand):
def finalize_options(self):
TestCommand.finalize_options(self)
self.test_args = []
self.test_suite = True
def run_tests(self):
#import here, cause outside the eggs aren't loaded
import pytest
pytest.main(self.test_args)
ci_cmdclass = {}
try:
from sphinx.setup_command import BuildDoc
class local_BuildDoc(BuildDoc):
def run(self):
# too hard to build PDFs on Mac
builders = ['html', 'man']
if sys.platform != 'darwin':
builders.append('pdf')
for builder in builders:
self.builder = builder
self.finalize_options()
BuildDoc.run(self)
ci_cmdclass['build_sphinx'] = local_BuildDoc
except Exception:
pass
ci_cmdclass['test'] = PyTest
setup_reqs = ['Sphinx']
if sys.platform != 'darwin':
setup_reqs.append('rst2pdf')
setuptools.setup(
name="libra",
description="Python LBaaS Gearman Worker and Pool Manager",
version="1.0",
author="David Shrewsbury <shrewsbury.dave@gmail.com>, \
Andrew Hutchings <andrew@linuxjedi.co.uk>",
packages=setuptools.find_packages(exclude=["*.tests"]),
entry_points={
'console_scripts': [
'libra_worker = libra.worker.main:main',
'libra_pool_mgm = libra.mgm.mgm:main',
'libra_client = libra.client.client:main',
]
},
cmdclass=ci_cmdclass,
tests_require=tests_requires,
install_requires=requires,
setup_requires=setup_reqs
)