Start patching setuptools commands

This commit is contained in:
Florian Bruhin 2014-09-22 07:07:09 +02:00
parent def417b8a5
commit 42e8e800aa
2 changed files with 32 additions and 0 deletions

View File

@ -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'))),

View File

@ -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: