123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- #!/usr/bin/env python
- import semver as package
- from glob import glob
- from os import remove
- from os.path import dirname, join
- from setuptools import setup
- from setuptools.command.test import test as TestCommand
- from shlex import split
- from shutil import rmtree
- class Tox(TestCommand):
- user_options = [('tox-args=', 'a', "Arguments to pass to tox")]
- def initialize_options(self):
- TestCommand.initialize_options(self)
- self.tox_args = None
- def finalize_options(self):
- TestCommand.finalize_options(self)
- self.test_args = []
- self.test_suite = True
- def run_tests(self):
- from tox import cmdline
- args = self.tox_args
- if args:
- args = split(self.tox_args)
- errno = cmdline(args=args)
- exit(errno)
- class Clean(TestCommand):
- def run(self):
- delete_in_root = [
- 'build',
- '.cache',
- 'dist',
- '.eggs',
- '*.egg-info',
- '.tox',
- ]
- delete_everywhere = [
- '__pycache__',
- '*.pyc',
- ]
- for candidate in delete_in_root:
- rmtree_glob(candidate)
- for visible_dir in glob('[A-Za-z0-9]*'):
- for candidate in delete_everywhere:
- rmtree_glob(join(visible_dir, candidate))
- rmtree_glob(join(visible_dir, '*', candidate))
- def rmtree_glob(file_glob):
- for fobj in glob(file_glob):
- try:
- rmtree(fobj)
- print('%s/ removed ...' % fobj)
- except OSError:
- try:
- remove(fobj)
- print('%s removed ...' % fobj)
- except OSError:
- pass
- def read_file(filename):
- with open(join(dirname(__file__), filename)) as f:
- return f.read()
- setup(
- name=package.__name__,
- version=package.__version__,
- description=package.__doc__.strip(),
- long_description=read_file('README.rst'),
- author=package.__author__,
- author_email=package.__author_email__,
- url='https://github.com/k-bx/python-semver',
- download_url='https://github.com/k-bx/python-semver/downloads',
- py_modules=[package.__name__],
- include_package_data=True,
- license='BSD',
- classifiers=[
- 'Environment :: Web Environment',
- 'Intended Audience :: Developers',
- 'License :: OSI Approved :: BSD License',
- 'Operating System :: OS Independent',
- 'Programming Language :: Python',
- 'Programming Language :: Python :: 2',
- 'Programming Language :: Python :: 2.6',
- 'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.2',
- 'Programming Language :: Python :: 3.3',
- 'Programming Language :: Python :: 3.4',
- 'Programming Language :: Python :: 3.5',
- 'Topic :: Software Development :: Libraries :: Python Modules',
- ],
- tests_require=['tox', 'virtualenv<14.0.0'],
- cmdclass={
- 'clean': Clean,
- 'test': Tox,
- },
- )
|