##// END OF EJS Templates
diffs: use whole chunk diff to calculate if it's oversized or not....
diffs: use whole chunk diff to calculate if it's oversized or not. - This fixes an issue if a file is added that has very large number of small lines. In this case the time to detect if the diff should be limited was very very long and CPU intensive.

File last commit:

r2043:338dc54d default
r2070:7939c6bf default
Show More
setup.py
261 lines | 7.8 KiB | text/x-python | PythonLexer
project: added all source files and assets
r1 # -*- coding: utf-8 -*-
license: updated copyright year to 2017
r1271 # Copyright (C) 2010-2017 RhodeCode GmbH
packaging: restructured setup.py file....
r1234 #
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License, version 3
# (only), as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# This program is dual-licensed. If you wish to learn more about the
# RhodeCode Enterprise Edition, including its added features, Support services,
# and proprietary license terms, please see https://rhodecode.com/licenses/
project: added all source files and assets
r1 # Import early to make sure things are patched up properly
from setuptools import setup, find_packages
import os
import sys
packaging: restructured setup.py file....
r1234 import pkgutil
project: added all source files and assets
r1 import platform
dependencies: organized test requirements....
r1222 from pip.download import PipSession
from pip.req import parse_requirements
packaging: restructured setup.py file....
r1234 from codecs import open
dependencies: organized test requirements....
r1222
project: added all source files and assets
r1 if sys.version_info < (2, 7):
raise Exception('RhodeCode requires Python 2.7 or later')
dependencies: organized test requirements....
r1222 here = os.path.abspath(os.path.dirname(__file__))
project: added all source files and assets
r1
packaging: restructured setup.py file....
r1234 # defines current platform
__platform__ = platform.system()
__license__ = 'AGPLv3, and Commercial License'
__author__ = 'RhodeCode GmbH'
__url__ = 'https://code.rhodecode.com'
is_windows = __platform__ in ('Windows',)
project: added all source files and assets
r1
packaging: restructured setup.py file....
r1234 def _get_requirements(req_filename, exclude=None, extras=None):
extras = extras or []
exclude = exclude or []
project: added all source files and assets
r1
packaging: restructured setup.py file....
r1234 try:
parsed = parse_requirements(
os.path.join(here, req_filename), session=PipSession())
except TypeError:
# try pip < 6.0.0, that doesn't support session
parsed = parse_requirements(os.path.join(here, req_filename))
project: added all source files and assets
r1
packaging: restructured setup.py file....
r1234 requirements = []
for ir in parsed:
if ir.req and ir.name not in exclude:
requirements.append(str(ir.req))
return requirements + extras
project: added all source files and assets
r1
packaging: restructured setup.py file....
r1234 # requirements extract
setup_requirements = ['PasteScript', 'pytest-runner']
install_requirements = _get_requirements(
'requirements.txt', exclude=['setuptools'])
test_requirements = _get_requirements(
'requirements_test.txt', extras=['configobj'])
project: added all source files and assets
r1
packaging: restructured setup.py file....
r1234 install_requirements = [
project: added all source files and assets
r1 'Babel',
'Beaker',
'FormEncode',
'Mako',
'Markdown',
'MarkupSafe',
'MySQL-python',
'Paste',
'PasteDeploy',
'PasteScript',
'Pygments',
libraries: bumped ipython to 5.10, bumped ipdb to 0.10.1
r1104 'pygments-markdown-lexer',
project: added all source files and assets
r1 'Pylons',
'Routes',
'SQLAlchemy',
'Tempita',
'URLObject',
'WebError',
'WebHelpers',
'WebHelpers2',
'WebOb',
'WebTest',
'Whoosh',
'alembic',
'amqplib',
'anyjson',
'appenlight-client',
'authomatic',
dependencies: added css select into required libraries.
r1528 'cssselect',
project: added all source files and assets
r1 'celery',
packaging: added channelstream and gevent back into CE....
r525 'channelstream',
project: added all source files and assets
r1 'colander',
'decorator',
dan
forms: add deform for integration settings forms
r518 'deform',
project: added all source files and assets
r1 'docutils',
packaging: added channelstream and gevent back into CE....
r525 'gevent',
dependencies: Add gunicorn...
r9 'gunicorn',
project: added all source files and assets
r1 'infrae.cache',
'ipython',
'iso8601',
'kombu',
dependencies: bumped lxml and made it a dependency.
r1525 'lxml',
project: added all source files and assets
r1 'msgpack-python',
jupyter-rendering: add required packaging to handle rendering of jupyter notebooks....
r1488 'nbconvert',
project: added all source files and assets
r1 'packaging',
'psycopg2',
setup:added missing py-gfm
r322 'py-gfm',
project: added all source files and assets
r1 'pycrypto',
'pycurl',
'pyparsing',
'pyramid',
'pyramid-debugtoolbar',
'pyramid-mako',
'pyramid-beaker',
'pysqlite',
'python-dateutil',
'python-ldap',
'python-memcached',
'python-pam',
'recaptcha-client',
'repoze.lru',
'requests',
'simplejson',
users: added SSH key management for user admin pages
r1993 'sshpubkeys',
Martin Bornhold
nix: Add subprocess32 to build inputs....
r1006 'subprocess32',
project: added all source files and assets
r1 'waitress',
'zope.cachedescriptors',
setup: require dogpile.cache and core
r320 'dogpile.cache',
packaging: restructured setup.py file....
r1234 'dogpile.core',
'psutil',
'py-bcrypt',
project: added all source files and assets
r1 ]
packaging: restructured setup.py file....
r1234 def get_version():
version = pkgutil.get_data('rhodecode', 'VERSION')
return version.strip()
project: added all source files and assets
r1
# additional files that goes into package itself
packaging: restructured setup.py file....
r1234 package_data = {
'': ['*.txt', '*.rst'],
'configs': ['*.ini'],
'rhodecode': ['VERSION', 'i18n/*/LC_MESSAGES/*.mo', ],
}
project: added all source files and assets
r1
packaging: restructured setup.py file....
r1234 description = 'Source Code Management Platform'
project: added all source files and assets
r1 keywords = ' '.join([
packaging: restructured setup.py file....
r1234 'rhodecode', 'mercurial', 'git', 'svn',
'code review',
'repo groups', 'ldap', 'repository management', 'hgweb',
'hgwebdir', 'gitweb', 'serving hgweb',
project: added all source files and assets
r1 ])
packaging: restructured setup.py file....
r1234
# README/DESCRIPTION generation
readme_file = 'README.rst'
changelog_file = 'CHANGES.rst'
project: added all source files and assets
r1 try:
packaging: restructured setup.py file....
r1234 long_description = open(readme_file).read() + '\n\n' + \
open(changelog_file).read()
except IOError as err:
project: added all source files and assets
r1 sys.stderr.write(
packaging: restructured setup.py file....
r1234 "[WARNING] Cannot find file specified as long_description (%s)\n "
"or changelog (%s) skipping that file" % (readme_file, changelog_file))
project: added all source files and assets
r1 long_description = description
setup(
name='rhodecode-enterprise-ce',
packaging: restructured setup.py file....
r1234 version=get_version(),
project: added all source files and assets
r1 description=description,
long_description=long_description,
keywords=keywords,
license=__license__,
author=__author__,
author_email='marcin@rhodecode.com',
url=__url__,
packaging: restructured setup.py file....
r1234 setup_requires=setup_requirements,
install_requires=install_requirements,
project: added all source files and assets
r1 tests_require=test_requirements,
packaging: restructured setup.py file....
r1234 zip_safe=False,
packages=find_packages(exclude=["docs", "tests*"]),
package_data=package_data,
project: added all source files and assets
r1 include_package_data=True,
packaging: restructured setup.py file....
r1234 classifiers=[
'Development Status :: 6 - Mature',
'Environment :: Web Environment',
'Intended Audience :: Developers',
'Operating System :: OS Independent',
'Topic :: Software Development :: Version Control',
'License :: OSI Approved :: Affero GNU General Public License v3 or later (AGPLv3+)',
'Programming Language :: Python :: 2.7',
],
project: added all source files and assets
r1 message_extractors={
'rhodecode': [
('**.py', 'python', None),
i18n: added JS extractors to work with the standard extract_messages command.
r326 ('**.js', 'javascript', None),
project: added all source files and assets
r1 ('templates/**.mako', 'mako', {'input_encoding': 'utf-8'}),
('templates/**.html', 'mako', {'input_encoding': 'utf-8'}),
('public/**', 'ignore', None),
]
},
paster_plugins=['PasteScript', 'Pylons'],
entry_points={
'enterprise.plugins1': [
'crowd=rhodecode.authentication.plugins.auth_crowd:plugin_factory',
authn: Renamed auth_container -> auth_headers
r59 'headers=rhodecode.authentication.plugins.auth_headers:plugin_factory',
project: added all source files and assets
r1 'jasig_cas=rhodecode.authentication.plugins.auth_jasig_cas:plugin_factory',
'ldap=rhodecode.authentication.plugins.auth_ldap:plugin_factory',
'pam=rhodecode.authentication.plugins.auth_pam:plugin_factory',
'rhodecode=rhodecode.authentication.plugins.auth_rhodecode:plugin_factory',
authn: Add rhodecode token auth plugin to setup.py
r80 'token=rhodecode.authentication.plugins.auth_token:plugin_factory',
project: added all source files and assets
r1 ],
'paste.app_factory': [
'main=rhodecode.config.middleware:make_pyramid_app',
'pylons=rhodecode.config.middleware:make_app',
],
'paste.app_install': [
'main=pylons.util:PylonsInstaller',
'pylons=pylons.util:PylonsInstaller',
],
packaging: restructured setup.py file....
r1234 'paste.global_paster_command': [
'make-config=rhodecode.lib.paster_commands.make_config:Command',
'setup-rhodecode=rhodecode.lib.paster_commands.setup_rhodecode:Command',
'ishell=rhodecode.lib.paster_commands.ishell:Command',
'upgrade-db=rhodecode.lib.dbmigrate:UpgradeDb',
'celeryd=rhodecode.lib.celerypylons.commands:CeleryDaemonCommand',
],
core: expose pshell as ipython with RhodeCode imports....
r2006 'pyramid.pshell_runner': [
'ipython = rhodecode.lib.pyramid_shell:ipython_shell_runner',
],
project: added all source files and assets
r1 'pytest11': [
'pylons=rhodecode.tests.pylons_plugin',
'enterprise=rhodecode.tests.plugin',
],
'console_scripts': [
'rcserver=rhodecode.rcserver:main',
core: added two new commands rcsetup-app and rcupgrade-db that will...
r2007 'rcsetup-app=rhodecode.lib.rc_commands.setup_rc:main',
'rcupgrade-db=rhodecode.lib.rc_commands.upgrade_db:main',
ssh: embedded ssh support...
r2043 'rcssh-wrapper=rhodecode.apps.ssh_support.lib.ssh_wrapper:main',
project: added all source files and assets
r1 ],
'beaker.backends': [
'memorylru_base=rhodecode.lib.memory_lru_debug:MemoryLRUNamespaceManagerBase',
'memorylru_debug=rhodecode.lib.memory_lru_debug:MemoryLRUNamespaceManagerDebug'
]
},
)