| Index: third_party/protobuf/objectivec/generate_well_known_types.sh
|
| diff --git a/third_party/protobuf/objectivec/generate_descriptors_proto.sh b/third_party/protobuf/objectivec/generate_well_known_types.sh
|
| similarity index 53%
|
| rename from third_party/protobuf/objectivec/generate_descriptors_proto.sh
|
| rename to third_party/protobuf/objectivec/generate_well_known_types.sh
|
| index 84ba07380f3154778464a71570de8e611257f5cf..36c346031c85d0deef969973b98961cf5dee46a8 100755
|
| --- a/third_party/protobuf/objectivec/generate_descriptors_proto.sh
|
| +++ b/third_party/protobuf/objectivec/generate_well_known_types.sh
|
| @@ -1,9 +1,9 @@
|
| #!/bin/bash
|
|
|
| -# Run this script to regenerate descriptor.pbobjc.{h,m} after the protocol
|
| -# compiler changes.
|
| +# Run this script to regenerate *.pbobjc.{h,m} for the well known types after
|
| +# the protocol compiler changes.
|
|
|
| -# HINT: Flags passed to generate_descriptor_proto.sh will be passed directly
|
| +# HINT: Flags passed to generate_well_known_types.sh will be passed directly
|
| # to make when building protoc. This is particularly useful for passing
|
| # -j4 to run 4 jobs simultaneously.
|
|
|
| @@ -12,6 +12,13 @@ set -eu
|
| readonly ScriptDir=$(dirname "$(echo $0 | sed -e "s,^\([^/]\),$(pwd)/\1,")")
|
| readonly ProtoRootDir="${ScriptDir}/.."
|
|
|
| +# Flag for continuous integration to check that everything is current.
|
| +CHECK_ONLY=0
|
| +if [[ $# -ge 1 && ( "$1" == "--check-only" ) ]] ; then
|
| + CHECK_ONLY=1
|
| + shift
|
| +fi
|
| +
|
| pushd "${ProtoRootDir}" > /dev/null
|
|
|
| if test ! -e src/google/protobuf/stubs/common.h; then
|
| @@ -37,7 +44,6 @@ make $@ protoc
|
| declare -a RUNTIME_PROTO_FILES=( \
|
| google/protobuf/any.proto \
|
| google/protobuf/api.proto \
|
| - google/protobuf/descriptor.proto \
|
| google/protobuf/duration.proto \
|
| google/protobuf/empty.proto \
|
| google/protobuf/field_mask.proto \
|
| @@ -47,4 +53,24 @@ declare -a RUNTIME_PROTO_FILES=( \
|
| google/protobuf/type.proto \
|
| google/protobuf/wrappers.proto)
|
|
|
| -./protoc --objc_out="${ProtoRootDir}/objectivec" ${RUNTIME_PROTO_FILES[@]}
|
| +# Generate to a temp directory to see if they match.
|
| +TMP_DIR=$(mktemp -d)
|
| +trap "rm -rf ${TMP_DIR}" EXIT
|
| +./protoc --objc_out="${TMP_DIR}" ${RUNTIME_PROTO_FILES[@]}
|
| +set +e
|
| +diff -r "${TMP_DIR}/google" "${ProtoRootDir}/objectivec/google" > /dev/null
|
| +if [[ $? -eq 0 ]] ; then
|
| + echo "Generated source for WellKnownTypes is current."
|
| + exit 0
|
| +fi
|
| +set -e
|
| +
|
| +# If check only mode, error out.
|
| +if [[ "${CHECK_ONLY}" == 1 ]] ; then
|
| + echo "ERROR: The WKTs need to be regenerated! Run $0"
|
| + exit 1
|
| +fi
|
| +
|
| +# Copy them over.
|
| +echo "Copying over updated WellKnownType sources."
|
| +cp -r "${TMP_DIR}/google/." "${ProtoRootDir}/objectivec/google/"
|
|
|