公司的几个项目中大都为混编,虽然有比较老旧的Objective-C代码,但普遍已经开始使用Swift作为新功能开发语言了。有时新增接口使用新的proto还需要重新生成编译为相对应语言pb文件,为了方便就写到一个脚本里。
把以下代码块复制出来,保存为一个.sh后缀的文件。与需要编译的proto文件放在同一文件夹下,赋予执行权限(例如: 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