公司的幾個項目中大都為混編,雖然有比較老舊的Objective-C代碼,但普遍已經開始使用Swift作為新功能開發(fā)語言了。有時新增接口使用新的proto還需要重新生成編譯為相對應語言pb文件,為了方便就寫到一個腳本里。
把以下代碼塊復制出來,保存為一個.sh后綴的文件。與需要編譯的proto文件放在同一文件夾下,賦予執(zhí)行權限(例如: chmod +x *.sh)即可運行。編譯出的pb文件也在同一目錄下。
當然,前提是安裝了Google-Protobuf、Swift-Protobuf編譯器等。腳本為簡單的遍歷出以.proto后綴的文件,加以編譯輸出。
#!/bin/bash
CMD_PATH=`dirname $0`
cd $CMD_PATH
for file in ${CMD_PATH}/*; do
if [[ ${file##*.} == "proto" ]]; then
protoc --proto_path=./ --swift_out=./ $(basename $file);
protoc -I=./ --objc_out=./ $(basename $file);
fi
done
exit 0