summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'setup.py')
-rwxr-xr-xsetup.py78
1 files changed, 78 insertions, 0 deletions
diff --git a/setup.py b/setup.py
index e69de29..a4346fd 100755
--- a/setup.py
+++ b/setup.py
@@ -0,0 +1,78 @@
+#!/usr/bin/env python
+# coding: utf-8
+# Copyright (c) 2012 Raphaël Barrois
+
+from distutils.core import setup
+from distutils import cmd
+import os
+import re
+import sys
+
+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', 'semver', '__init__.py')) as f:
+ for line in f:
+ match = version_re.match(line[:-1])
+ if match:
+ return match.groups()[0]
+ return '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')"),
+ ]
+
+ def initialize_options(self):
+ self.test_runner = None
+ self.test_suite = None
+
+ def finalize_options(self):
+ self.ensure_string('test_suite', 'tests')
+
+ def run(self):
+ """Run the test suite."""
+ import unittest
+ if self.verbose:
+ verbosity=1
+ else:
+ verbosity=0
+
+ ex_path = sys.path
+ sys.path.insert(0, os.path.join(root_dir, 'src'))
+ suite = unittest.TestLoader().loadTestsFromName(self.test_suite)
+
+ unittest.TextTestRunner(verbosity=verbosity).run(suite)
+ sys.path = ex_path
+
+
+setup(
+ name="semantic_version",
+ version=get_version(),
+ author="Raphaël Barrois",
+ author_email="raphael.barrois@polytechnique.org",
+ description=("A library implementing the 'SemVer' scheme."),
+ license="BSD",
+ keywords=['semantic version', 'versioning', 'version'],
+ url="http://github.com/rbarrois/python-semantic_version",
+ download_url="http://pypi.python.org/pypi/semantic_version/",
+ package_dir={'': 'src'},
+ packages=['semantic_version'],
+ classifiers=[
+ "Development Status :: 3 - Alpha",
+ "Intended Audience :: Developers",
+ "License :: OSI Approved :: BSD License",
+ "Topic :: Software Development :: Libraries :: Python Modules",
+ 'Operating System :: OS Independent',
+ 'Programming Language :: Python',
+ ],
+ cmdclass={'test': test},
+)
+