mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
40 lines
1.0 KiB
Python
Executable File
40 lines
1.0 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import shutil
|
|
import subprocess
|
|
from pathlib import Path
|
|
|
|
SPHINX_ROOT = Path(__file__).resolve().parent.parent
|
|
TEST_JS_FIXTURES = SPHINX_ROOT / 'tests' / 'js' / 'fixtures'
|
|
TEST_JS_ROOTS = [
|
|
directory
|
|
for directory in (SPHINX_ROOT / 'tests' / 'js' / 'roots').iterdir()
|
|
if (directory / 'conf.py').exists()
|
|
]
|
|
|
|
|
|
def build(srcdir: Path) -> None:
|
|
cmd = (
|
|
'sphinx-build',
|
|
'--fresh-env',
|
|
'--quiet',
|
|
*('--builder', 'html'),
|
|
f'{srcdir}',
|
|
f'{srcdir}/_build',
|
|
)
|
|
subprocess.run(cmd, check=True, capture_output=True)
|
|
|
|
|
|
for directory in TEST_JS_ROOTS:
|
|
searchindex = directory / '_build' / 'searchindex.js'
|
|
destination = TEST_JS_FIXTURES / directory.name / 'searchindex.js'
|
|
|
|
print(f'Building {directory} ... ', end='')
|
|
build(directory)
|
|
print('done')
|
|
|
|
print(f'Copying {searchindex} to {destination} ... ', end='')
|
|
destination.parent.mkdir(exist_ok=True, parents=True)
|
|
shutil.copy2(searchindex, destination)
|
|
print('done')
|