ProtocolBuffers の自動ドキュメント作成について

時間がないのでメモ的にですが残しておきます。

ProtocolBuffers の .proto ファイルから、ドキュメントを自動生成する方法について見つけました。

taktak.jp

上記に記載がありますが、ちょこっと変えてフォルダ内の全ファイルに対して自動生成するようなスクリプトにしてみました。

set PROTOC="%USERPROFILE%\.nuget\packages\google.protobuf.tools\3.6.0\tools\windows_x86\protoc.exe"
set OUT_FILENAME=index.md
set OUT_DIR=doc
set PLUGIN_PROTOC_GEN_DOC=.\protoc-gen-doc.exe
set PROTOC_FILE=ConnectionStatusDto.proto
mkdir %OUT_DIR%

for /f "usebackq tokens=* delims=0123456789 eol=" %%i in (`dir /B /S *.proto`) do (
    call %PROTOC% -I=%%~dpi --doc_out=html,%%~ni.html:%OUT_DIR% "%%i" --plugin=protoc-gen-doc="%PLUGIN_PROTOC_GEN_DOC%"
)

しかし、実行フォルダに半角スペースが入っているとエラーになります。
たぶんこれは元の protoc.exe の仕様なのかな?ちょっとハマったので、一応注意として残しておきます。


ちなみにこのドキュメント自動生成ツールの本家です↓

github.com

こちらから Windows 用の実行ファイルをダウンロードできます。

コメント

タイトルとURLをコピーしました