forked from python/devguide
-
Notifications
You must be signed in to change notification settings - Fork 0
/
make.bat
112 lines (93 loc) · 3.09 KB
/
make.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
@ECHO OFF
REM Command file for Sphinx documentation
setlocal
pushd %~dp0
if "%PYTHON%" == "" (
set PYTHON=py -3
)
set BUILDDIR=_build
set SPHINXOPTS=--fail-on-warning --keep-going
set _ALL_SPHINX_OPTS=%SPHINXOPTS%
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
)
if "%1" == "versions" (
%PYTHON% _tools/generate_release_cycle.py
if errorlevel 1 exit /b 1
echo.
echo Release cycle data generated.
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
set SPHINXAUTOBUILD=venv\Scripts\sphinx-autobuild
)
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" == "htmllive" (
%SPHINXAUTOBUILD% --re-ignore="/\.idea/|/venv/" --open-browser --delay 0 --port 55301 . %BUILDDIR%/html
if errorlevel 1 exit /b 1
goto end
)
%SPHINXBUILD% -M %1 "." %BUILDDIR% %_ALL_SPHINX_OPTS%
goto end
:check
if not defined SPHINXLINT (
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 SPHINXLINT=%PYTHON% -m sphinxlint
)
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
:end
popd
endlocal