compass-core/setup.py
Xicheng Chang f4aa063a56 Use setup.py to install config data to python library
data under conf/ will be used by all test cases as the general
config data. Each unittest will override config data under this
dir with their specific attributes. This CL is to include config
data in the python lib.

Change-Id: I53b55591c7a70fd0a9f6634d509df6bfdeb604bd
2014-12-18 14:33:53 -08:00

111 lines
3.2 KiB
Python

#!/usr/bin/python
#
# Copyright 2014 Huawei Technologies Co. Ltd
#
# 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.
"""Bootstrap setuptools installation
If you want to use setuptools in your package's setup.py, just include this
file in the same directory with it, and add this to the top of your setup.py::
from ez_setup import use_setuptools
use_setuptools()
If you want to require a specific version of setuptools, set a download
mirror, or use an alternate download directory, you can do so by supplying
the appropriate options to ``use_setuptools()``.
This file can also be run as a script to install or upgrade setuptools.
"""
"""setup script."""
try:
from setuptools import find_packages
except ImportError:
from ez_setup import use_setuptools
use_setuptools()
from setuptools.command.test import test as TestCommand
from setuptools import setup
import os
import sys
class Tox(TestCommand):
"""Tox to do the setup."""
def finalize_options(self):
TestCommand.finalize_options(self)
self.test_args = []
self.test_suite = True
def run_tests(self):
import tox
errno = tox.cmdline(self.test_args)
sys.exit(errno)
INSTALL_REQUIRES_DIR = os.path.join(
os.path.dirname(__file__), 'requirements.txt')
with open(INSTALL_REQUIRES_DIR, 'r') as requires_file:
REQUIREMENTS = [line.strip() for line in requires_file if line != '\n']
DATA_FILES_DIR = os.path.join(
os.path.dirname(__file__), 'conf')
DATA_FILES = []
for parent_dir, sub_dirs, files in os.walk(DATA_FILES_DIR):
if files == []:
pass
for file in files:
DATA_FILES.append((parent_dir, [os.path.join(parent_dir, file)]))
setup(
name='compass',
version='0.1.0',
# general info
description='Open Deployment System for zero touch installation',
long_description='Open Deployment System for zero touch installation',
author='Compass Dev Group, Huawei Cloud',
author_email='shuo.yang@huawei.com',
url='https://github.com/stackforge/compass-core',
download_url='',
# dependency
install_requires=REQUIREMENTS,
packages=find_packages(exclude=['compass.tests']),
include_package_data=True,
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Console',
'Intended Audience :: Developers',
'Intended Audience :: Information Technology',
'Intended Audience :: System Administrators',
'License :: OSI Approved :: Apache Software License',
'Operating System :: POSIX :: Linux',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
],
# data
data_files=DATA_FILES,
# test,
tests_require=['tox'],
cmdclass={'test': Tox},
)