在Bat下生成protobuff协议

protobuff版本3.14.0 传送门:https://github.com/protocolbuffers/protobuf/releases

以下为bat代码

@echo off

@setlocal enabledelayedexpansion

set platform=win64

set cwd=%~dp0

set protoc=%cwd%/%platform%/bin/protoc.exe

set SRC_DIR=%cwd%src

set DST_DIR=%cwd%runtime

set output_cs=%DST_DIR%\cs

set output_cpp=%DST_DIR%\cpp

set output_java=%DST_DIR%\java

rem %protoc% -h

set cpp=1

set csharp=1

set java=1

set pb=1

cd %SRC_DIR%

if %cpp% gtr 0 (

call:compileProto "%output_cpp%" "--cpp_out=%output_cpp%"

)

if %csharp% gtr 0 (

call:compileProto "%output_cs%" "--csharp_out=%output_cs%"

)

if %java% gtr 0 (

call:compileProto "%output_java%" "--java_out=%output_java%"

)

if %pb% gtr 0 (

set files=

for %%i in (*.proto) do set files=!files! %%i

%protoc% --experimental_allow_proto3_optional -I=%SRC_DIR% -o%DST_DIR%\schema.pb !files!

)

cd %cwd%

goto complete

:: functions start

:compileProto

rem echo compile %1, %2

if not exist %1 (

md %1

)

for %%i in (*.proto) do (

%protoc% --experimental_allow_proto3_optional -I=%SRC_DIR% %2 %SRC_DIR%/%%i

)

goto:eof

:: functions end

:complete

echo export success

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容