##// END OF EJS Templates
packages: normalize package emails.
marcink -
r2952:9e092ab1 default
parent child Browse files
Show More
@@ -1,189 +1,189 b''
1 1 # -*- coding: utf-8 -*-
2 2
3 3 # Copyright (C) 2010-2018 RhodeCode GmbH
4 4 #
5 5 # This program is free software: you can redistribute it and/or modify
6 6 # it under the terms of the GNU Affero General Public License, version 3
7 7 # (only), as published by the Free Software Foundation.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU Affero General Public License
15 15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
16 16 #
17 17 # This program is dual-licensed. If you wish to learn more about the
18 18 # RhodeCode Enterprise Edition, including its added features, Support services,
19 19 # and proprietary license terms, please see https://rhodecode.com/licenses/
20 20
21 21 # Import early to make sure things are patched up properly
22 22 from setuptools import setup, find_packages
23 23
24 24 import os
25 25 import sys
26 26 import pkgutil
27 27 import platform
28 28 import codecs
29 29
30 30 try: # for pip >= 10
31 31 from pip._internal.req import parse_requirements
32 32 except ImportError: # for pip <= 9.0.3
33 33 from pip.req import parse_requirements
34 34
35 35 try: # for pip >= 10
36 36 from pip._internal.download import PipSession
37 37 except ImportError: # for pip <= 9.0.3
38 38 from pip.download import PipSession
39 39
40 40
41 41 if sys.version_info < (2, 7):
42 42 raise Exception('RhodeCode requires Python 2.7 or later')
43 43
44 44 here = os.path.abspath(os.path.dirname(__file__))
45 45
46 46 # defines current platform
47 47 __platform__ = platform.system()
48 48 __license__ = 'AGPLv3, and Commercial License'
49 49 __author__ = 'RhodeCode GmbH'
50 50 __url__ = 'https://code.rhodecode.com'
51 51 is_windows = __platform__ in ('Windows',)
52 52
53 53
54 54 def _get_requirements(req_filename, exclude=None, extras=None):
55 55 extras = extras or []
56 56 exclude = exclude or []
57 57
58 58 try:
59 59 parsed = parse_requirements(
60 60 os.path.join(here, req_filename), session=PipSession())
61 61 except TypeError:
62 62 # try pip < 6.0.0, that doesn't support session
63 63 parsed = parse_requirements(os.path.join(here, req_filename))
64 64
65 65 requirements = []
66 66 for ir in parsed:
67 67 if ir.req and ir.name not in exclude:
68 68 requirements.append(str(ir.req))
69 69 return requirements + extras
70 70
71 71
72 72 # requirements extract
73 73 setup_requirements = ['PasteScript', 'pytest-runner']
74 74 install_requirements = _get_requirements(
75 75 'requirements.txt', exclude=['setuptools', 'entrypoints'])
76 76 test_requirements = _get_requirements(
77 77 'requirements_test.txt', extras=['configobj'])
78 78
79 79
80 80 def get_version():
81 81 version = pkgutil.get_data('rhodecode', 'VERSION')
82 82 return version.strip()
83 83
84 84
85 85 # additional files that goes into package itself
86 86 package_data = {
87 87 '': ['*.txt', '*.rst'],
88 88 'configs': ['*.ini'],
89 89 'rhodecode': ['VERSION', 'i18n/*/LC_MESSAGES/*.mo', ],
90 90 }
91 91
92 92 description = 'Source Code Management Platform'
93 93 keywords = ' '.join([
94 94 'rhodecode', 'mercurial', 'git', 'svn',
95 95 'code review',
96 96 'repo groups', 'ldap', 'repository management', 'hgweb',
97 97 'hgwebdir', 'gitweb', 'serving hgweb',
98 98 ])
99 99
100 100
101 101 # README/DESCRIPTION generation
102 102 readme_file = 'README.rst'
103 103 changelog_file = 'CHANGES.rst'
104 104 try:
105 105 long_description = codecs.open(readme_file).read() + '\n\n' + \
106 106 codecs.open(changelog_file).read()
107 107 except IOError as err:
108 108 sys.stderr.write(
109 109 "[WARNING] Cannot find file specified as long_description (%s)\n "
110 110 "or changelog (%s) skipping that file" % (readme_file, changelog_file))
111 111 long_description = description
112 112
113 113
114 114 setup(
115 115 name='rhodecode-enterprise-ce',
116 116 version=get_version(),
117 117 description=description,
118 118 long_description=long_description,
119 119 keywords=keywords,
120 120 license=__license__,
121 121 author=__author__,
122 author_email='marcin@rhodecode.com',
122 author_email='support@rhodecode.com',
123 123 url=__url__,
124 124 setup_requires=setup_requirements,
125 125 install_requires=install_requirements,
126 126 tests_require=test_requirements,
127 127 zip_safe=False,
128 128 packages=find_packages(exclude=["docs", "tests*"]),
129 129 package_data=package_data,
130 130 include_package_data=True,
131 131 classifiers=[
132 132 'Development Status :: 6 - Mature',
133 133 'Environment :: Web Environment',
134 134 'Intended Audience :: Developers',
135 135 'Operating System :: OS Independent',
136 136 'Topic :: Software Development :: Version Control',
137 137 'License :: OSI Approved :: Affero GNU General Public License v3 or later (AGPLv3+)',
138 138 'Programming Language :: Python :: 2.7',
139 139 ],
140 140 message_extractors={
141 141 'rhodecode': [
142 142 ('**.py', 'python', None),
143 143 ('**.js', 'javascript', None),
144 144 ('templates/**.mako', 'mako', {'input_encoding': 'utf-8'}),
145 145 ('templates/**.html', 'mako', {'input_encoding': 'utf-8'}),
146 146 ('public/**', 'ignore', None),
147 147 ]
148 148 },
149 149 paster_plugins=['PasteScript'],
150 150 entry_points={
151 151 'enterprise.plugins1': [
152 152 'crowd=rhodecode.authentication.plugins.auth_crowd:plugin_factory',
153 153 'headers=rhodecode.authentication.plugins.auth_headers:plugin_factory',
154 154 'jasig_cas=rhodecode.authentication.plugins.auth_jasig_cas:plugin_factory',
155 155 'ldap=rhodecode.authentication.plugins.auth_ldap:plugin_factory',
156 156 'pam=rhodecode.authentication.plugins.auth_pam:plugin_factory',
157 157 'rhodecode=rhodecode.authentication.plugins.auth_rhodecode:plugin_factory',
158 158 'token=rhodecode.authentication.plugins.auth_token:plugin_factory',
159 159 ],
160 160 'paste.app_factory': [
161 161 'main=rhodecode.config.middleware:make_pyramid_app',
162 162 ],
163 163 'paste.global_paster_command': [
164 164 'ishell=rhodecode.lib.paster_commands.ishell:Command',
165 165 'upgrade-db=rhodecode.lib.paster_commands.upgrade_db:UpgradeDb',
166 166
167 167 'setup-rhodecode=rhodecode.lib.paster_commands.deprecated.setup_rhodecode:Command',
168 168 'celeryd=rhodecode.lib.paster_commands.deprecated.celeryd:Command',
169 169 ],
170 170 'pyramid.pshell_runner': [
171 171 'ipython = rhodecode.lib.pyramid_shell:ipython_shell_runner',
172 172 ],
173 173 'pytest11': [
174 174 'pylons=rhodecode.tests.pylons_plugin',
175 175 'enterprise=rhodecode.tests.plugin',
176 176 ],
177 177 'console_scripts': [
178 178 'rc-server=rhodecode.rcserver:main',
179 179 'rc-setup-app=rhodecode.lib.rc_commands.setup_rc:main',
180 180 'rc-upgrade-db=rhodecode.lib.rc_commands.upgrade_db:main',
181 181 'rc-ishell=rhodecode.lib.rc_commands.ishell:main',
182 182 'rc-ssh-wrapper=rhodecode.apps.ssh_support.lib.ssh_wrapper:main',
183 183 ],
184 184 'beaker.backends': [
185 185 'memorylru_base=rhodecode.lib.memory_lru_dict:MemoryLRUNamespaceManagerBase',
186 186 'memorylru_debug=rhodecode.lib.memory_lru_dict:MemoryLRUNamespaceManagerDebug'
187 187 ]
188 188 },
189 189 )
General Comments 0
You need to be logged in to leave comments. Login now