diff options
-rw-r--r-- | scripts/setupcommon.py | 18 | ||||
-rwxr-xr-x | setup.py | 14 |
2 files changed, 32 insertions, 0 deletions
diff --git a/scripts/setupcommon.py b/scripts/setupcommon.py index 89ab8e81c..7ecd331d8 100644 --- a/scripts/setupcommon.py +++ b/scripts/setupcommon.py @@ -92,6 +92,24 @@ def write_git_file(): f.write(gitstr) +def patch_docgen(cls): + """Class decorator to patch a setuptool command to generate docs. + + Based on: + http://www.niteoweb.com/blog/setuptools-run-custom-code-during-install + """ + + orig_run = cls.run + + def run(*args, **kwargs): + from scripts import asciidoc2html + asciidoc2html.main(colors=False) + return orig_run(*args, **kwargs) + + cls.run = run + return cls + + setupdata = { 'name': 'qutebrowser', 'version': '.'.join(map(str, _get_constant('version_info'))), @@ -29,6 +29,11 @@ from scripts import setupcommon as common from scripts import ez_setup ez_setup.use_setuptools() import setuptools +from setuptools.command.sdist import sdist as cmd_sdist +from setuptools.command.bdist_rpm import bdist_rpm as cmd_bdist_rpm +from setuptools.command.bdist_wininst import bdist_wininst as cmd_bdist_wininst +from setuptools.command.bdist_egg import bdist_egg as cmd_bdist_egg +from setuptools.command.develop import develop as cmd_develop try: @@ -37,6 +42,14 @@ except NameError: BASEDIR = None +command_classes = {} +command_classes['sdist'] = common.patch_docgen(cmd_sdist) +command_classes['bdist_rpm'] = common.patch_docgen(cmd_bdist_rpm) +command_classes['bdist_wininst'] = common.patch_docgen(cmd_bdist_wininst) +command_classes['bdist_egg'] = common.patch_docgen(cmd_bdist_egg) +command_classes['develop'] = common.patch_docgen(cmd_develop) + + try: common.write_git_file() setuptools.setup( @@ -50,6 +63,7 @@ try: extras_require={'nice-debugging': ['colorlog', 'colorama'], 'checks': ['flake8', 'pylint', 'check-manifest', 'pyroma']}, + cmdclass=command_classes, **common.setupdata ) finally: |