summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/setupcommon.py18
-rwxr-xr-xsetup.py14
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'))),
diff --git a/setup.py b/setup.py
index 2c553b71f..a20daae03 100755
--- a/setup.py
+++ b/setup.py
@@ -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: