Permalink
Cannot retrieve contributors at this time
228 lines (196 sloc)
6 KB
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@ECHO OFF | |
REM Command file for Sphinx documentation | |
setlocal | |
pushd %~dp0 | |
if "%PYTHON%" == "" ( | |
set PYTHON=py -3 | |
) | |
if not defined SPHINXLINT ( | |
%PYTHON% -c "import sphinxlint" > nul 2> nul | |
if errorlevel 1 ( | |
echo Installing sphinx-lint with %PYTHON% | |
rem Should have been installed with Sphinx earlier | |
%PYTHON% -m pip install "sphinx-lint<1" | |
if errorlevel 1 exit /B | |
) | |
set SPHINXLINT=%PYTHON% -m sphinxlint | |
) | |
set BUILDDIR=_build | |
set SPHINXOPTS=-W --keep-going -n | |
set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . | |
if NOT "%PAPER%" == "" ( | |
set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% | |
) | |
if "%1" == "check" goto check | |
if "%1" == "" goto help | |
if "%1" == "help" ( | |
:help | |
echo.Please use `make ^<target^>` where ^<target^> is one of | |
echo. html to make standalone HTML files | |
echo. htmlview to open the index page built by the html target in your browser | |
echo. dirhtml to make HTML files named index.html in directories | |
echo. singlehtml to make a single large HTML file | |
echo. pickle to make pickle files | |
echo. json to make JSON files | |
echo. htmlhelp to make HTML files and a HTML help project | |
echo. qthelp to make HTML files and a qthelp project | |
echo. devhelp to make HTML files and a Devhelp project | |
echo. epub to make an epub | |
echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter | |
echo. text to make text files | |
echo. man to make manual pages | |
echo. changes to make an overview over all changed/added/deprecated items | |
echo. linkcheck to check all external links for integrity | |
echo. doctest to run all doctests embedded in the documentation if enabled | |
echo. check to check for stylistic and formal issues using sphinx-lint | |
goto end | |
) | |
if "%1" == "clean" ( | |
for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i | |
del /q /s %BUILDDIR%\* | |
goto end | |
) | |
rem Targets other than "clean", "check", "help", or "" need the | |
rem Sphinx build command, which the user may define via SPHINXBUILD. | |
if not defined SPHINXBUILD ( | |
rem If it is not defined, we build in a virtual environment | |
if not exist venv ( | |
echo. Setting up the virtual environment | |
%PYTHON% -m venv venv | |
echo. Installing requirements | |
venv\Scripts\python -m pip install -r requirements.txt | |
) | |
set PYTHON=venv\Scripts\python | |
set SPHINXBUILD=venv\Scripts\sphinx-build | |
) | |
if "%1" == "html" ( | |
%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished. The HTML pages are in %BUILDDIR%/html. | |
goto end | |
) | |
if "%1" == "htmlview" ( | |
cmd /C %this% html | |
if EXIST "%BUILDDIR%\html\index.html" ( | |
echo.Opening "%BUILDDIR%\html\index.html" in the default web browser... | |
start "" "%BUILDDIR%\html\index.html" | |
) | |
goto end | |
) | |
if "%1" == "dirhtml" ( | |
%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. | |
goto end | |
) | |
if "%1" == "singlehtml" ( | |
%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. | |
goto end | |
) | |
if "%1" == "pickle" ( | |
%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished; now you can process the pickle files. | |
goto end | |
) | |
if "%1" == "json" ( | |
%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished; now you can process the JSON files. | |
goto end | |
) | |
if "%1" == "htmlhelp" ( | |
%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished; now you can run HTML Help Workshop with the ^ | |
.hhp project file in %BUILDDIR%/htmlhelp. | |
goto end | |
) | |
if "%1" == "qthelp" ( | |
%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished; now you can run "qcollectiongenerator" with the ^ | |
.qhcp project file in %BUILDDIR%/qthelp, like this: | |
echo.^> qcollectiongenerator %BUILDDIR%\qthelp\PythonDevelopersGuide.qhcp | |
echo.To view the help file: | |
echo.^> assistant -collectionFile %BUILDDIR%\qthelp\PythonDevelopersGuide.ghc | |
goto end | |
) | |
if "%1" == "devhelp" ( | |
%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished. | |
goto end | |
) | |
if "%1" == "epub" ( | |
%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished. The epub file is in %BUILDDIR%/epub. | |
goto end | |
) | |
if "%1" == "latex" ( | |
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. | |
goto end | |
) | |
if "%1" == "text" ( | |
%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished. The text files are in %BUILDDIR%/text. | |
goto end | |
) | |
if "%1" == "man" ( | |
%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished. The manual pages are in %BUILDDIR%/man. | |
goto end | |
) | |
if "%1" == "changes" ( | |
%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.The overview file is in %BUILDDIR%/changes. | |
goto end | |
) | |
if "%1" == "linkcheck" ( | |
%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Link check complete; look for any errors in the above output ^ | |
or in %BUILDDIR%/linkcheck/output.txt. | |
goto end | |
) | |
if "%1" == "doctest" ( | |
%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Testing of doctests in the sources finished, look at the ^ | |
results in %BUILDDIR%/doctest/output.txt. | |
goto end | |
) | |
:check | |
rem Ignore the tools and venv dirs and check that the default role is not used. | |
cmd /S /C "%SPHINXLINT% -i tools -i venv --enable default-role" | |
goto end | |
:serve | |
echo.The serve target was removed, use htmlview instead ^ | |
(see https://github.com/python/cpython/issues/80510) | |
goto end | |
:end | |
popd | |
endlocal |