Merge commit '36bca61764984ff5395653cf8377ec5daa71b709' as 'libs/protobuf'
This commit is contained in:
35
libs/protobuf/php/generate_test_protos.sh
Executable file
35
libs/protobuf/php/generate_test_protos.sh
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
cd `dirname $0`/..
|
||||
|
||||
if [[ -z "${PROTOC}" ]]; then
|
||||
PROTOC=$(pwd)/protoc
|
||||
fi
|
||||
if [ ! -f $PROTOC ]; then
|
||||
bazel build -c opt //:protoc
|
||||
PROTOC=$(pwd)/bazel-bin/protoc
|
||||
fi
|
||||
|
||||
if [[ -d php/tmp && -z $(find php/tests/proto $PROTOC -newer php/tmp) ]]; then
|
||||
# Generated protos are already present and up to date, so we can skip protoc.
|
||||
#
|
||||
# Protoc is very fast, but sometimes it is not available (like if we haven't
|
||||
# built it in Docker). Skipping it helps us proceed in this case.
|
||||
echo "Test protos are up-to-date, skipping protoc."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
rm -rf php/tmp
|
||||
mkdir -p php/tmp
|
||||
|
||||
find php/tests/proto -type f -name "*.proto"| xargs $PROTOC --php_out=php/tmp -Isrc -Iphp/tests
|
||||
|
||||
if [ "$1" = "--aggregate_metadata" ]; then
|
||||
# Overwrite some of the files to use aggregation.
|
||||
AGGREGATED_FILES="tests/proto/test.proto tests/proto/test_include.proto tests/proto/test_import_descriptor_proto.proto"
|
||||
$PROTOC --php_out=aggregate_metadata=foo#bar:php/tmp -Isrc -Iphp/tests $AGGREGATED_FILES
|
||||
fi
|
||||
|
||||
echo "Generated test protos from tests/proto -> tmp"
|
||||
Reference in New Issue
Block a user