diff options
Diffstat (limited to 'setup.py')
-rwxr-xr-x | setup.py | 88 |
1 files changed, 23 insertions, 65 deletions
@@ -2,90 +2,49 @@ # -*- coding: utf-8 -*- # Copyright (c) 2012-2013 Raphaël Barrois -from distutils.core import setup -from distutils import cmd import os import re import sys +from setuptools import setup + root_dir = os.path.abspath(os.path.dirname(__file__)) -def get_version(): - version_re = re.compile(r"^__version__ = '([\w_.-]+)'$") - with open(os.path.join(root_dir, 'src', 'semantic_version', '__init__.py')) as f: +def get_version(package_name): + version_re = re.compile(r"^__version__ = [\"']([\w_.-]+)[\"']$") + package_components = package_name.split('.') + path_components = package_components + ['__init__.py'] + with open(os.path.join(root_dir, *path_components)) as f: for line in f: match = version_re.match(line[:-1]) if match: return match.groups()[0] - return '0.0.0' - - -class test(cmd.Command): - """Run the tests for this package.""" - command_name = 'test' - description = 'run the tests associated with the package' - - user_options = [ - ('test-suite=', None, "A test suite to run (defaults to 'tests')"), - ] - - DEFAULT_TEST_SUITE = 'tests' - - def initialize_options(self): - self.test_runner = None - self.test_suite = None - - def finalize_options(self): - self.ensure_string('test_suite', self.DEFAULT_TEST_SUITE) + return '0.1.0' - def run(self): - """Run the test suite.""" - try: - import unittest2 as unittest - except ImportError: - import unittest - if self.verbose: - verbosity=1 - else: - verbosity=0 - - ex_path = sys.path - sys.path.insert(0, os.path.join(root_dir, 'src')) - loader = unittest.defaultTestLoader - suite = unittest.TestSuite() - - if self.test_suite == self.DEFAULT_TEST_SUITE: - for test_module in loader.discover('.'): - suite.addTest(test_module) - else: - suite.addTest(loader.loadTestsFromName(self.test_suite)) - - result = unittest.TextTestRunner(verbosity=verbosity).run(suite) - sys.path = ex_path - - if not result.wasSuccessful(): - sys.exit(1) +PACKAGE = 'semantic_version' setup( - name="semantic_version", - version=get_version(), + name=PACKAGE, + version=get_version(PACKAGE), author="Raphaël Barrois", author_email="raphael.barrois+semver@polytechnique.org", - description=("A library implementing the 'SemVer' scheme."), - license="BSD", + description="A library implementing the 'SemVer' scheme.", + license='BSD', keywords=['semantic version', 'versioning', 'version'], - url="http://github.com/rbarrois/python-semanticversion", - download_url="http://pypi.python.org/pypi/semantic_version/", - package_dir={'': 'src'}, + url='https://github.com/rbarrois/python-semanticversion', + download_url='http://pypi.python.org/pypi/semantic_version/', packages=['semantic_version'], + setup_requires=[ + 'setuptools>=0.8', + ], classifiers=[ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "License :: OSI Approved :: BSD License", - "Topic :: Software Development :: Libraries :: Python Modules", + 'Development Status :: 5 - Production/Stable', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: BSD License', + 'Topic :: Software Development :: Libraries :: Python Modules', 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 2', @@ -96,6 +55,5 @@ setup( 'Programming Language :: Python :: 3.3', 'Topic :: Software Development :: Libraries :: Python Modules' ], - cmdclass={'test': test}, + test_suite='tests', ) - |