コーヒー飲みながら仕事したい

仕事で使う技術的なことの備忘録とか


Wordpress に引っ越しました!

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 用の実行ファイルをダウンロードできます。