#!/usr/bin/env python3
+from setuptools import Command
from setuptools import setup
import os
import re
import sys
+class VersionCheckCommand(Command):
+ """Make sure git tag and version match before uploading"""
+ user_options = []
+
+ def initialize_options(self):
+ """Abstract method that is required to be overwritten"""
+
+ def finalize_options(self):
+ """Abstract method that is required to be overwritten"""
+
+ def run(self):
+ version = self.distribution.get_version()
+ 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))
+ sys.exit(1)
+ print('Upload using: twine upload dist/fdroidserver*.tar.gz*')
+
+
def get_data_files():
# workaround issue on OSX or --user installs, where sys.prefix is not an installable location
if os.access(sys.prefix, os.W_OK | os.X_OK):
readme = ''
setup(name='fdroidserver',
- version='0.9',
+ version='1.0.2',
description='F-Droid Server Tools',
long_description=readme,
author='The F-Droid Project',
url='https://f-droid.org',
license='AGPL-3.0',
packages=['fdroidserver', 'fdroidserver.asynchronousfilereader'],
- scripts=['fdroid', 'fd-commit', 'makebuildserver'],
+ scripts=['fdroid', 'makebuildserver'],
data_files=get_data_files(),
python_requires='>=3.4',
+ cmdclass={'versioncheck': VersionCheckCommand},
+ setup_requires=[
+ 'babel',
+ ],
install_requires=[
'clint',
'GitPython',
'pyasn1-modules',
'python-vagrant',
'PyYAML',
+ 'qrcode',
'ruamel.yaml >= 0.13',
'requests >= 2.5.2, != 2.11.0, != 2.12.2, != 2.18.0',
'docker-py >= 1.9, < 2.0',