62 lines
2.5 KiB
Diff
62 lines
2.5 KiB
Diff
diff '--color=auto' -rupN fmt.orig/doc/build.py fmt/doc/build.py
|
|
--- fmt.orig/doc/build.py 2024-01-04 17:40:34.014213222 +0100
|
|
+++ fmt/doc/build.py 2024-01-04 17:41:48.775161340 +0100
|
|
@@ -11,34 +11,6 @@ versions = [
|
|
'7.1.3', '8.0.0', '8.0.1', '8.1.0', '8.1.1', '9.0.0', '9.1.0']
|
|
versions += ['10.0.0', '10.1.0', '10.1.1', '10.1.1', '10.2.0']
|
|
|
|
-class Pip:
|
|
- def __init__(self, venv_dir):
|
|
- self.path = os.path.join(venv_dir, 'bin', 'pip')
|
|
-
|
|
- def install(self, package, commit=None):
|
|
- "Install package using pip."
|
|
- if commit:
|
|
- package = 'git+https://github.com/{0}.git@{1}'.format(package, commit)
|
|
- print('Installing {0}'.format(package))
|
|
- check_call([self.path, 'install', package])
|
|
-
|
|
-def create_build_env(venv_dir='virtualenv'):
|
|
- # Create virtualenv.
|
|
- if not os.path.exists(venv_dir):
|
|
- check_call(['python3', '-m', 'venv', venv_dir])
|
|
- # Install Sphinx and Breathe. Require the exact version of Sphinx which is
|
|
- # compatible with Breathe.
|
|
- pip = Pip(venv_dir)
|
|
- pip.install('wheel')
|
|
- pip.install('six')
|
|
- # See: https://github.com/sphinx-doc/sphinx/issues/9777
|
|
- pip.install('docutils==0.17.1')
|
|
- # Jinja2 >= 3.1 incompatible with sphinx 3.3.0
|
|
- # See: https://github.com/sphinx-doc/sphinx/issues/10291
|
|
- pip.install('Jinja2<3.1')
|
|
- pip.install('sphinx==3.3.0')
|
|
- pip.install('michaeljones/breathe', 'v4.25.0')
|
|
-
|
|
def build_docs(version='dev', **kwargs):
|
|
doc_dir = kwargs.get('doc_dir', os.path.dirname(os.path.realpath(__file__)))
|
|
work_dir = kwargs.get('work_dir', '.')
|
|
@@ -103,13 +75,14 @@ def build_docs(version='dev', **kwargs):
|
|
|
|
html_dir = os.path.join(work_dir, 'html')
|
|
main_versions = reversed(versions[-3:])
|
|
- check_call([os.path.join(work_dir, 'virtualenv', 'bin', 'sphinx-build'),
|
|
+ check_call(['sphinx-build',
|
|
'-Dbreathe_projects.format=' + os.path.abspath(doxyxml_dir),
|
|
'-Dversion=' + version, '-Drelease=' + version,
|
|
'-Aversion=' + version, '-Aversions=' + ','.join(main_versions),
|
|
'-b', 'html', doc_dir, html_dir])
|
|
try:
|
|
- check_call(['lessc', '--verbose', '--clean-css',
|
|
+ check_call(['npm', 'install', 'less', 'less-plugin-clean-css'])
|
|
+ check_call(['npx', 'lessc', '--verbose', '--clean-css',
|
|
'--include-path=' + os.path.join(doc_dir, 'bootstrap'),
|
|
os.path.join(doc_dir, 'fmt.less'),
|
|
os.path.join(html_dir, '_static', 'fmt.css')])
|
|
@@ -122,5 +95,4 @@ def build_docs(version='dev', **kwargs):
|
|
return html_dir
|
|
|
|
if __name__ == '__main__':
|
|
- create_build_env()
|
|
build_docs(sys.argv[1])
|