diff setup.py @ 2776:63e58ef80ef1

Merge beta branch into stable
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 02 Sep 2012 21:19:54 +0200
parents 533a126dc9ab d4f6dc38d625
children 23851216ac1e
line wrap: on
line diff
--- a/setup.py	Sat May 19 14:54:50 2012 +0200
+++ b/setup.py	Sun Sep 02 21:19:54 2012 +0200
@@ -1,11 +1,70 @@
+import os
 import sys
-from rhodecode import get_version
-from rhodecode import __license__
-from rhodecode import __py_version__
-from rhodecode import requirements
+import platform
+
+if sys.version_info < (2, 5):
+    raise Exception('RhodeCode requires python 2.5 or later')
+
+
+here = os.path.abspath(os.path.dirname(__file__))
+
+
+def _get_meta_var(name, data, callback_handler=None):
+    import re
+    matches = re.compile(r'(?:%s)\s*=\s*(.*)' % name).search(data)
+    if matches:
+        if not callable(callback_handler):
+            callback_handler = lambda v: v
+
+        return callback_handler(eval(matches.groups()[0]))
+
+_meta = open(os.path.join(here, 'rhodecode', '__init__.py'), 'rb')
+_metadata = _meta.read()
+_meta.close()
+
+callback = lambda V: ('.'.join(map(str, V[:3])) + '.'.join(V[3:]))
+__version__ = _get_meta_var('VERSION', _metadata, callback)
+__license__ = _get_meta_var('__license__', _metadata)
+__author__ = _get_meta_var('__author__', _metadata)
+__url__ = _get_meta_var('__url__', _metadata)
+# defines current platform
+__platform__ = platform.system()
+
+is_windows = __platform__ in _get_meta_var('PLATFORM_WIN', _metadata)
 
-if __py_version__ < (2, 5):
-    raise Exception('RhodeCode requires python 2.5 or later')
+requirements = [
+    "waitress==0.8.1",
+    "webob==1.0.8",
+    "Pylons==1.0.0",
+    "Beaker==1.6.4",
+    "WebHelpers==1.3",
+    "formencode==1.2.4",
+    "SQLAlchemy==0.7.8",
+    "Mako==0.7.2",
+    "pygments>=1.5",
+    "whoosh>=2.4.0,<2.5",
+    "celery>=2.2.5,<2.3",
+    "babel",
+    "python-dateutil>=1.5.0,<2.0.0",
+    "dulwich>=0.8.5,<0.9.0",
+    "markdown==2.1.1",
+    "docutils==0.8.1",
+    "simplejson==2.5.2",
+    "mock",
+]
+
+if sys.version_info < (2, 6):
+    requirements.append("pysqlite")
+
+if sys.version_info < (2, 7):
+    requirements.append("unittest2")
+
+if is_windows:
+    requirements.append("mercurial>=2.3.0,<2.4")
+else:
+    requirements.append("py-bcrypt")
+    requirements.append("mercurial>=2.3.0,<2.4")
+
 
 dependency_links = [
 ]
@@ -62,15 +121,15 @@
 
 setup(
     name='RhodeCode',
-    version=get_version(),
+    version=__version__,
     description=description,
     long_description=long_description,
     keywords=keywords,
     license=__license__,
-    author='Marcin Kuzminski',
+    author=__author__,
     author_email='marcin@python-works.com',
     dependency_links=dependency_links,
-    url='http://rhodecode.org',
+    url=__url__,
     install_requires=requirements,
     classifiers=classifiers,
     setup_requires=["PasteScript>=1.6.3"],
@@ -87,6 +146,9 @@
     zip_safe=False,
     paster_plugins=['PasteScript', 'Pylons'],
     entry_points="""
+    [console_scripts]
+    rhodecode-api =  rhodecode.bin.rhodecode_api:main
+
     [paste.app_factory]
     main = rhodecode.config.middleware:make_app
 
@@ -95,6 +157,7 @@
 
     [paste.global_paster_command]
     setup-rhodecode=rhodecode.config.setup_rhodecode:SetupCommand
+    cleanup-repos=rhodecode.lib.cleanup:CleanupCommand
     make-index=rhodecode.lib.indexers:MakeIndex
     make-rcext=rhodecode.config.rcextensions.make_rcextensions:MakeRcExt
     upgrade-db=rhodecode.lib.dbmigrate:UpgradeDb