Parsing of all a make flags in loop #104541

Open
Iliya Katushenock wants to merge 3 commits from mod_moder/blender-manual:support_custom_port into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.

116
make.bat
View File

@ -1,18 +1,72 @@
@ECHO OFF @ECHO OFF
REM Command file for Sphinx documentation if "%1" == "" (
set LIVEHTML=1
)
REM Persing of all the flags
:argv_loop
if NOT "%1" == "" (
if "%1" == "help" (
goto hepl
)
if "%1" == "sphinx" (
set SPHINXBUILD=%2
shift
) else if "%1" == "lang" (
set BF_LANG=%2
shift
) else if "%1" == "port" (
set PORT=%2
shift
) else if "%1" == "livehtml" (
set LIVEHTML=1
) else if "%1" == "-latexpdf" (
set LATEXPDF=1
) else if "%1" == "check_syntax" (
set CHECK_SINTAX=1
) else if "%1" == "checkout_locale" (
set CHECKOUT_LOCALE=1
) else if "%1" == "update_po" (
set UPDATE_PO=1
) else if "%1" == "report_po_progress" (
set REPORT_PO_PROGRESS=1
) else if "%1" == "check_spelling" (
set CHECK_SPELLING=1
) else if "%1" == "check_structure" (
set CHECK_STRUCTURE=1
) else if "%1" == "update" (
set UPDATE=1
) else (
echo Command unknown: "%1"!
exit /b 1
)
shift
goto argv_loop
)
REM Command file for Sphinx documentation
if "%SPHINXBUILD%" == "" ( if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build set SPHINXBUILD=sphinx-build
) )
if "%BF_LANG%" == "" (
set BF_LANG=en
)
if "%PORT%" == "" (
set PORT=8000
)
set SOURCEDIR=.\manual set SOURCEDIR=.\manual
set BUILDDIR=build set BUILDDIR=build
if "%BF_LANG%" == "" set BF_LANG=en
set SPHINXOPTS=-j auto -D language=%BF_LANG% set SPHINXOPTS=-j auto -D language=%BF_LANG%
REM Check if sphinx-build is available and fallback to Python version if any REM Check if sphinx-build is available and fallback to Python version if any
%SPHINXBUILD% 1>NUL 2>NUL %SPHINXBUILD% 1>NUL 2>NUL
if errorlevel 9009 goto sphinx_python if errorlevel 9009 (
goto sphinx_python
)
goto sphinx_ok goto sphinx_ok
:sphinx_python :sphinx_python
@ -32,13 +86,7 @@ if errorlevel 9009 (
exit /b 1 exit /b 1
) )
:sphinx_ok :hepl
REM Default to livehtml
if "%1" == "" (
goto livehtml
)
if "%1" == "help" ( if "%1" == "help" (
echo. echo.
echo Sphinx echo Sphinx
@ -71,61 +119,57 @@ if "%1" == "help" (
goto EOF goto EOF
) )
if "%1" == "livehtml" ( :sphinx_ok
:livehtml
sphinx-autobuild --open-browser --delay 0 "%SOURCEDIR%" "%BUILDDIR%\html" %SPHINXOPTS% %O% if "%LIVEHTML%" == "1" (
if errorlevel 1 exit /b 1 sphinx-autobuild --open-browser --delay 0 "%SOURCEDIR%" "%BUILDDIR%\html" %SPHINXOPTS% %O% --port %PORT%
if errorlevel 1 (
exit /b 1
)
goto EOF goto EOF
) )
if "%1" == "latexpdf" ( if "%LATEXPDF%" == "1" (
%SPHINXBUILD% -b latex %SPHINXOPTS% %O% "%SOURCEDIR%" "%BUILDDIR%\latex" %SPHINXBUILD% -b latex %SPHINXOPTS% %O% "%SOURCEDIR%" "%BUILDDIR%\latex"
cd "%BUILDDIR%\latex" cd "%BUILDDIR%\latex"
make all-pdf make all-pdf
cd %~dp0 cd %~dp0
echo To view, run: echo To view, run:
echo start "%BUILDDIR%\html\blender_manual.pdf" echo start "%BUILDDIR%\html\blender_manual.pdf"
goto EOF goto EOF
) )
if "%1" == "check_syntax" ( if "%CHECK_SINTAX%" == "1" (
python tools_rst\rst_check_syntax.py --kbd --long python tools_rst\rst_check_syntax.py --kbd --long
goto EOF
) )
if "%1" == "checkout_locale" ( if "%CHECKOUT_LOCALE%" == "1" (
python tools_make\checkout_locale.py python tools_make\checkout_locale.py
goto EOF
) )
if "%1" == "update_po" ( if "%UPDATE_PO%" == "1" (
python tools_maintenance\update_po.py python tools_maintenance\update_po.py
goto EOF
) )
if "%1" == "report_po_progress" ( if "%REPORT_PO_PROGRESS%" == "1" (
IF NOT EXIST %cd%\locale GOTO MISSING_LOCALE IF NOT EXIST %cd%\locale GOTO MISSING_LOCALE
python tools_report\report_translation_progress.py locale\%2 --quiet python tools_report\report_translation_progress.py locale\%2 --quiet
goto EOF
) )
if "%1" == "check_spelling" ( if "%CHECK_SINTAX%" == "1" (
python tools_rst\rst_check_spelling.py python tools_rst\rst_check_spelling.py
goto EOF
) )
if "%1" == "check_structure" ( if "%CHECK_SINTAX%" == "1" (
python tools_rst\rst_check_images.py python tools_rst\rst_check_images.py
goto EOF )
if "%1" == "update" ( if "%UPDATE%" == "1" (
python tools_make\make_update.py python tools_make\make_update.py
goto EOF
) else ( ) else (
%SPHINXBUILD% -M %1 "%SOURCEDIR%" "%BUILDDIR%" %SPHINXOPTS% %O% REM %SPHINXBUILD% -M %1 "%SOURCEDIR%" "%BUILDDIR%" %SPHINXOPTS% %O%
goto EOF REM ???????????????????????????????????????????????????????????????
REM goto EOF
) )
:MISSING_LOCALE :MISSING_LOCALE
@ -133,8 +177,8 @@ echo.
echo The locale directory is missing. echo The locale directory is missing.
echo. echo.
echo To correct this, checkout one or more translation repositories. echo To correct this, checkout one or more translation repositories.
echo Details can be found at: echo Details can be found at:
echo https://docs.blender.org/manual/en/latest/about/contribute/translations/contribute.html echo https://docs.blender.org/manual/en/latest/about/contribute/translations/contribute.html
rem Exit with errorlevel 1 rem Exit with errorlevel 1
exit /b 1 exit /b 1