31 lines
		
	
	
		
			855 B
		
	
	
	
		
			Bash
		
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			855 B
		
	
	
	
		
			Bash
		
	
	
	
#!/bin/bash
 | 
						||
set -x
 | 
						||
 | 
						||
# 设置目录
 | 
						||
PROTO_DIR="src/proto"
 | 
						||
PYTHON_OUT="src/proto"
 | 
						||
GO_OUT="src/proto"
 | 
						||
 | 
						||
# 生成Python代码
 | 
						||
python3 -m grpc_tools.protoc -I${PROTO_DIR} \
 | 
						||
    --python_out=${PYTHON_OUT} \
 | 
						||
    --grpc_python_out=${PYTHON_OUT} \
 | 
						||
    ${PROTO_DIR}/docreader.proto
 | 
						||
 | 
						||
# 生成Go代码
 | 
						||
protoc -I${PROTO_DIR} --go_out=${GO_OUT} \
 | 
						||
    --go_opt=paths=source_relative \
 | 
						||
    --go-grpc_out=${GO_OUT} \
 | 
						||
    --go-grpc_opt=paths=source_relative \
 | 
						||
    ${PROTO_DIR}/docreader.proto
 | 
						||
 | 
						||
# 修复Python导入问题(MacOS兼容版本)
 | 
						||
if [ "$(uname)" == "Darwin" ]; then
 | 
						||
    # MacOS版本
 | 
						||
    sed -i '' 's/import docreader_pb2/from . import docreader_pb2/g' ${PYTHON_OUT}/docreader_pb2_grpc.py
 | 
						||
else
 | 
						||
    # Linux版本
 | 
						||
    sed -i 's/import docreader_pb2/from . import docreader_pb2/g' ${PYTHON_OUT}/docreader_pb2_grpc.py
 | 
						||
fi
 | 
						||
 | 
						||
echo "Proto files generated successfully!" |