aboutsummaryrefslogtreecommitdiff
path: root/maintainer-scripts
diff options
context:
space:
mode:
Diffstat (limited to 'maintainer-scripts')
-rwxr-xr-xmaintainer-scripts/update_web_docs_git.py81
1 files changed, 0 insertions, 81 deletions
diff --git a/maintainer-scripts/update_web_docs_git.py b/maintainer-scripts/update_web_docs_git.py
deleted file mode 100755
index f3f5995..0000000
--- a/maintainer-scripts/update_web_docs_git.py
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/usr/bin/env python3
-
-# Generate documentation from Sphinx files.
-
-import argparse
-import os
-import shutil
-import subprocess
-import tempfile
-from pathlib import Path
-
-GITROOT = '/git/gcc.git'
-BUGURL = 'https://gcc.gnu.org/bugs/'
-
-parser = argparse.ArgumentParser(description='Update web documentation.')
-parser.add_argument('output_folder', help='Output folder')
-parser.add_argument('--gitrepo', help=f'Git repository (default: {GITROOT})',
- default=GITROOT)
-parser.add_argument('--sphinx-build', help='Path to sphinx-build binary')
-parser.add_argument('-v', '--verbose', action='store_true',
- help='Verbose output')
-args = parser.parse_args()
-
-
-def find_configs():
- for root, _, files in os.walk('.'):
- for f in files:
- full = os.path.join(root, f)
- if f == 'conf.py':
- # find name of the documentation
- lines = open(full).read().splitlines()
- docname = None
- for line in lines:
- if line.startswith('name = '):
- docname = line.split()[-1].strip("'")
- break
- assert docname
- yield (Path(root).resolve(), docname)
-
-
-with tempfile.TemporaryDirectory() as folder:
- print(f'Using {folder} as temporary directory')
- os.chdir(folder)
- subprocess.check_output(f'git clone {args.gitrepo} --depth=1', shell=True)
- os.chdir('gcc')
- configs = list(find_configs())
-
- # Prepare folders
- output = Path(args.output_folder)
- if not output.exists():
- output.mkdir()
-
- temp = Path('tmp').resolve()
- temp.mkdir()
-
- # Prepare default env. variables
- childenv = os.environ.copy()
- childenv['BUGURL'] = BUGURL
-
- # Build and copy the documentation
- for i, (config_folder, docname) in enumerate(sorted(configs)):
- print(f'=== building {i + 1}/{len(configs)}: {docname} ===')
-
- # Build HTML
- cmd = f'make -C doc html SOURCEDIR={config_folder} BUILDDIR={temp}/{docname}'
- if args.sphinx_build:
- cmd += f' SPHINXBUILD={args.sphinx_build}'
- subprocess.run(cmd, shell=True, env=childenv, check=True,
- capture_output=not args.verbose)
- os.unlink(f'{temp}/{docname}/html/.buildinfo')
- shutil.copytree(f'{temp}/{docname}/html', f'{output}/{docname}',
- dirs_exist_ok=True)
-
- # Build PDF
- cmd = f'make -C doc latexpdf SOURCEDIR={config_folder} BUILDDIR={temp}/pdf/{docname}'
- if args.sphinx_build:
- cmd += f' SPHINXBUILD={args.sphinx_build}'
- subprocess.run(cmd, shell=True, env=childenv, check=True,
- capture_output=not args.verbose)
- shutil.copyfile(f'{temp}/pdf/{docname}/latex/{docname}.pdf',
- f'{output}/{docname}.pdf')