tools/docgen.cmd (70 lines of code) (raw):
@REM Copyright (c) Microsoft. All rights reserved.
@REM Licensed under the MIT license. See LICENSE file in the project root for full license information.
@setlocal EnableExtensions EnableDelayedExpansion
@echo off
set current-path=%~dp0
rem // remove trailing slash
set current-path=%current-path:~0,-1%
set build_root=%current-path%\..
:args-loop
if "%1" equ "" goto :args-done
if "%1" equ "--xtrace" goto :arg-trace
if "%1" equ "-x" goto :arg-trace
goto :usage
:args-continue
shift
goto :args-loop
:usage
echo docgen.cmd [options]
echo options:
echo -x --xtrace print a trace of each command.
exit /b 1
:arg-trace
echo on
goto :args-continue
:args-done
goto :main
rem
rem generate docs
rem
:generate_docs
pushd %build_root%\docs
call :generate_doc_for_service opc-publisher
call :generate_doc_for_service web-api
set service=
set convert=
popd
goto :eof
rem
rem generate doc
rem
:generate_doc_for_service
set service=%1
pushd %service%
if not exist openapi.json goto :eof
if exist security.md move security.md security_save.md
echo swagger2markup.markupLanguage=MARKDOWN > config.properties
echo swagger2markup.generatedExamplesEnabled=false >> config.properties
echo swagger2markup.pathsGroupedBy=TAGS >> config.properties
echo swagger2markup.inlineSchemaEnabled=true >> config.properties
echo swagger2markup.lineSeparator=WINDOWS >> config.properties
echo swagger2markup.pathSecuritySectionEnabled=true >> config.properties
echo swagger2markup.flatBodyEnabled=false >> config.properties
echo swagger2markup.interDocumentCrossReferencesEnabled=true >> config.properties
rem echo swagger2markup.overviewDocument=overview >> config.properties
echo swagger2markup.separatedDefinitionsEnabled=false >> config.properties
echo swagger2markup.separatedOperationsEnabled=false >> config.properties
docker run --rm --mount type=bind,source=%cd%,target=/opt swagger2markup/swagger2markup:1.3.1 convert -i /opt/openapi.json -d /opt -c /opt/config.properties
if exist security_save.md move security_save.md security.md
if exist paths.md type paths.md > api.md
if exist paths.md del /f paths.md
if exist overview.md del /f overview.md
if exist config.properties del /f config.properties
popd
goto :eof
@rem
@rem Main
@rem
:main
call :generate_docs
endlocal