- Style fixups in the code. - map<> serialization fixes and more tests. - Autocreation of map<> fields (to match repeated fields). - @@protoc_insertion_point(global_scope|imports). - Fixup proto2 syntax extension support. - Move all startup code to +initialize so it happen on class usage and not app startup. - Have generated headers use forward declarations and move imports into generated code, reduces what is need at compile time to speed up compiled and avoid pointless rippling of rebuilds.
55 lines
1.4 KiB
Bash
Executable File
55 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Run this script to regenerate descriptor.pbobjc.{h,m} after the protocol
|
|
# compiler changes.
|
|
|
|
# HINT: Flags passed to generate_descriptor_proto.sh will be passed directly
|
|
# to make when building protoc. This is particularly useful for passing
|
|
# -j4 to run 4 jobs simultaneously.
|
|
|
|
set -eu
|
|
|
|
readonly ScriptDir=$(dirname "$(echo $0 | sed -e "s,^\([^/]\),$(pwd)/\1,")")
|
|
readonly ProtoRootDir="${ScriptDir}/.."
|
|
readonly ProtoC="${ProtoRootDir}/src/protoc"
|
|
|
|
pushd "${ProtoRootDir}" > /dev/null
|
|
|
|
if test ! -e src/google/protobuf/stubs/common.h; then
|
|
cat >&2 << __EOF__
|
|
Could not find source code. Make sure you are running this script from the
|
|
root of the distribution tree.
|
|
__EOF__
|
|
exit 1
|
|
fi
|
|
|
|
if test ! -e src/Makefile; then
|
|
cat >&2 << __EOF__
|
|
Could not find src/Makefile. You must run ./configure (and perhaps
|
|
./autogen.sh) first.
|
|
__EOF__
|
|
exit 1
|
|
fi
|
|
|
|
# Make sure the compiler is current.
|
|
cd src
|
|
make $@ google/protobuf/stubs/pbconfig.h
|
|
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 \
|
|
google/protobuf/source_context.proto \
|
|
google/protobuf/struct.proto \
|
|
google/protobuf/timestamp.proto \
|
|
google/protobuf/type.proto \
|
|
google/protobuf/wrappers.proto)
|
|
|
|
./protoc --objc_out="${ProtoRootDir}/objectivec" ${RUNTIME_PROTO_FILES[@]}
|
|
|
|
popd > /dev/null
|