aboutsummaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorMarcin Kuzminski <marcin@python-works.com>2012-09-02 21:19:54 +0200
committerMarcin Kuzminski <marcin@python-works.com>2012-09-02 21:19:54 +0200
commit39b3e37caee03e86823694f1f8706e937e4c7c0c (patch)
treee81ddcf0759306951012cff7be39b587907d2d90 /setup.py
parent9db094e33c53fd77360b54ac99db2d76d403f710 (diff)
parentebf543dc52a96b70c16ff008c7142e38feb0b158 (diff)
Merge beta branch into stable
--HG-- rename : rhodecode/lib/backup_manager.py => rhodecode/bin/rhodecode_backup.py
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py79
1 files changed, 71 insertions, 8 deletions
diff --git a/setup.py b/setup.py
index 6df00df8..ed833608 100644
--- a/setup.py
+++ b/setup.py
@@ -1,12 +1,71 @@
+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 __py_version__ < (2, 5):
+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)
+
+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 @@ packages = find_packages(exclude=['ez_setup'])
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 @@ setup(
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 @@ setup(
[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