diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b8181d4d..50927c6a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -233,6 +233,7 @@ black: fdroidserver/readmeta.py fdroidserver/signindex.py fdroidserver/tail.py + setup.py tests/build.TestCase tests/deploy.TestCase tests/exception.TestCase diff --git a/setup.py b/setup.py index b0274361..61d66657 100755 --- a/setup.py +++ b/setup.py @@ -1,17 +1,18 @@ #!/usr/bin/env python3 -from setuptools import Command -from setuptools import setup import os import re import subprocess import sys +from setuptools import Command +from setuptools import setup from setuptools.command.install import install class VersionCheckCommand(Command): """Make sure git tag and version match before uploading""" + user_options = [] def initialize_options(self): @@ -22,10 +23,16 @@ class VersionCheckCommand(Command): def run(self): version = self.distribution.get_version() - version_git = subprocess.check_output(['git', 'describe', '--tags', '--always']).rstrip().decode('utf-8') + version_git = ( + subprocess.check_output(['git', 'describe', '--tags', '--always']) + .rstrip() + .decode('utf-8') + ) if version != version_git: - print('ERROR: Release version mismatch! setup.py (%s) does not match git (%s)' - % (version, version_git)) + print( + 'ERROR: Release version mismatch! setup.py (%s) does not match git (%s)' + % (version, version_git) + ) sys.exit(1) print('Upload using: twine upload --sign dist/fdroidserver-%s.tar.gz' % version) @@ -33,6 +40,7 @@ class VersionCheckCommand(Command): class InstallWithCompile(install): def run(self): from babel.messages.frontend import compile_catalog + compiler = compile_catalog(self.distribution) option_dict = self.distribution.get_option_dict('compile_catalog') compiler.domain = [option_dict['domain'][1]] @@ -52,82 +60,84 @@ def get_data_files(): with open('MANIFEST.in') as fp: data = fp.read() - data_files.append((data_prefix + '/share/doc/fdroidserver/examples', - ['buildserver/config.buildserver.yml', ] - + re.findall(r'include (examples/.*)', data))) + data_files.append( + ( + data_prefix + '/share/doc/fdroidserver/examples', + ['buildserver/config.buildserver.yml'] + + re.findall(r'include (examples/.*)', data), + ) + ) - for f in re.findall(r'include (locale/[a-z][a-z][a-zA-Z_]*/LC_MESSAGES/fdroidserver\.)po', data): + for f in re.findall( + r'include (locale/[a-z][a-z][a-zA-Z_]*/LC_MESSAGES/fdroidserver\.)po', data + ): f += 'mo' d = os.path.join(data_prefix, 'share', os.path.dirname(f)) - data_files.append((d, [f, ])) + data_files.append((d, [f])) return data_files with open("README.md", "r") as fh: long_description = fh.read() -setup(name='fdroidserver', - version='2.1a0', - description='F-Droid Server Tools', - long_description=long_description, - long_description_content_type='text/markdown', - author='The F-Droid Project', - author_email='team@f-droid.org', - url='https://f-droid.org', - license='AGPL-3.0', - packages=['fdroidserver', 'fdroidserver.asynchronousfilereader'], - scripts=['makebuildserver'], - entry_points={ - 'console_scripts': ['fdroid=fdroidserver.__main__:main'] - }, - data_files=get_data_files(), - python_requires='>=3.5', - cmdclass={ - 'versioncheck': VersionCheckCommand, - 'install': InstallWithCompile, - }, - setup_requires=[ - 'babel', - ], - install_requires=[ - 'androguard >= 3.1.0rc2, != 3.3.0, != 3.3.1, != 3.3.2', - 'clint', - 'defusedxml', - 'GitPython', - 'paramiko', - 'Pillow', - 'apache-libcloud >= 0.14.1', - 'pyasn1 >=0.4.1, < 0.5.0', - 'pyasn1-modules >= 0.2.1, < 0.3', - 'python-vagrant', - 'PyYAML', - 'qrcode', - 'ruamel.yaml >= 0.15', - 'requests >= 2.5.2, != 2.11.0, != 2.12.2, != 2.18.0', - 'yamllint', - ], - extras_require={ - 'test': [ - 'pyjks', - 'html5print' - ], - 'docs': [ - 'sphinx', - 'numpydoc', - 'pydata_sphinx_theme', - 'pydocstyle', - ] - }, - classifiers=[ - 'Development Status :: 4 - Beta', - 'Intended Audience :: Developers', - 'Intended Audience :: Information Technology', - 'Intended Audience :: System Administrators', - 'Intended Audience :: Telecommunications Industry', - 'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)', - 'Operating System :: POSIX', - 'Operating System :: MacOS :: MacOS X', - 'Operating System :: Unix', - 'Topic :: Utilities', - ], - ) +setup( + name='fdroidserver', + version='2.1a0', + description='F-Droid Server Tools', + long_description=long_description, + long_description_content_type='text/markdown', + author='The F-Droid Project', + author_email='team@f-droid.org', + url='https://f-droid.org', + license='AGPL-3.0', + packages=['fdroidserver', 'fdroidserver.asynchronousfilereader'], + scripts=['makebuildserver'], + entry_points={'console_scripts': ['fdroid=fdroidserver.__main__:main']}, + data_files=get_data_files(), + python_requires='>=3.5', + cmdclass={ + 'versioncheck': VersionCheckCommand, + 'install': InstallWithCompile, + }, + setup_requires=[ + 'babel', + ], + install_requires=[ + 'androguard >= 3.1.0rc2, != 3.3.0, != 3.3.1, != 3.3.2', + 'clint', + 'defusedxml', + 'GitPython', + 'paramiko', + 'Pillow', + 'apache-libcloud >= 0.14.1', + 'pyasn1 >=0.4.1, < 0.5.0', + 'pyasn1-modules >= 0.2.1, < 0.3', + 'python-vagrant', + 'PyYAML', + 'qrcode', + 'ruamel.yaml >= 0.15', + 'requests >= 2.5.2, != 2.11.0, != 2.12.2, != 2.18.0', + 'yamllint', + ], + extras_require={ + 'test': ['pyjks', 'html5print'], + 'docs': [ + 'sphinx', + 'numpydoc', + 'pydata_sphinx_theme', + 'pydocstyle', + ], + }, + classifiers=[ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: Information Technology', + 'Intended Audience :: System Administrators', + 'Intended Audience :: Telecommunications Industry', + 'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)', + 'Operating System :: POSIX', + 'Operating System :: MacOS :: MacOS X', + 'Operating System :: Unix', + 'Topic :: Utilities', + ], +)