Index: third_party/protobuf/objectivec/DevTools/check_version_stamps.sh |
diff --git a/third_party/protobuf/objectivec/DevTools/check_version_stamps.sh b/third_party/protobuf/objectivec/DevTools/check_version_stamps.sh |
index 325b71dd9a296cbd7ac91e5c66cf51f478fdff19..1acbe2a2b7670ef8d47a4bc4ba9a588087bd9ec1 100755 |
--- a/third_party/protobuf/objectivec/DevTools/check_version_stamps.sh |
+++ b/third_party/protobuf/objectivec/DevTools/check_version_stamps.sh |
@@ -1,4 +1,4 @@ |
-#!/bin/bash |
+#!/bin/bash -eu |
# This script checks that the runtime version number constant in the compiler |
# source and in the runtime source is the same. |
@@ -8,8 +8,6 @@ |
# builds would break. At the same time, we don't want the runtime source |
# depending on the compiler sources; so two copies of the constant are needed. |
-set -eu |
- |
readonly ScriptDir=$(dirname "$(echo $0 | sed -e "s,^\([^/]\),$(pwd)/\1,")") |
readonly ProtoRootDir="${ScriptDir}/../.." |
@@ -18,39 +16,40 @@ die() { |
exit 1 |
} |
-readonly ConstantName=GOOGLE_PROTOBUF_OBJC_GEN_VERSION |
- |
-# Collect version from plugin sources. |
- |
-readonly PluginSrc="${ProtoRootDir}/src/google/protobuf/compiler/objectivec/objectivec_file.cc" |
-readonly PluginVersion=$( \ |
- cat "${PluginSrc}" \ |
- | sed -n -e "s:const int32 ${ConstantName} = \([0-9]*\);:\1:p" |
-) |
- |
-if [[ -z "${PluginVersion}" ]] ; then |
- die "Failed to find ${ConstantName} in the plugin source (${PluginSrc})." |
-fi |
- |
-# Collect version from runtime sources. |
- |
+readonly GeneratorSrc="${ProtoRootDir}/src/google/protobuf/compiler/objectivec/objectivec_file.cc" |
readonly RuntimeSrc="${ProtoRootDir}/objectivec/GPBBootstrap.h" |
-readonly RuntimeVersion=$( \ |
- cat "${RuntimeSrc}" \ |
- | sed -n -e "s:#define ${ConstantName} \([0-9]*\):\1:p" |
-) |
- |
-if [[ -z "${RuntimeVersion}" ]] ; then |
- die "Failed to find ${ConstantName} in the runtime source (${RuntimeSrc})." |
-fi |
- |
-# Compare them. |
-if [[ "${PluginVersion}" != "${RuntimeVersion}" ]] ; then |
- die "Versions don't match! |
- Plugin: ${PluginVersion} from ${PluginSrc} |
- Runtime: ${RuntimeVersion} from ${RuntimeSrc} |
+check_constant() { |
+ local ConstantName="$1" |
+ |
+ # Collect version from generator sources. |
+ local GeneratorVersion=$( \ |
+ cat "${GeneratorSrc}" \ |
+ | sed -n -e "s:const int32 ${ConstantName} = \([0-9]*\);:\1:p" |
+ ) |
+ if [[ -z "${GeneratorVersion}" ]] ; then |
+ die "Failed to find ${ConstantName} in the generator source (${GeneratorSrc})." |
+ fi |
+ |
+ # Collect version from runtime sources. |
+ local RuntimeVersion=$( \ |
+ cat "${RuntimeSrc}" \ |
+ | sed -n -e "s:#define ${ConstantName} \([0-9]*\):\1:p" |
+ ) |
+ if [[ -z "${RuntimeVersion}" ]] ; then |
+ die "Failed to find ${ConstantName} in the runtime source (${RuntimeSrc})." |
+ fi |
+ |
+ # Compare them. |
+ if [[ "${GeneratorVersion}" != "${RuntimeVersion}" ]] ; then |
+ die "${ConstantName} values don't match! |
+ Generator: ${GeneratorVersion} from ${GeneratorSrc} |
+ Runtime: ${RuntimeVersion} from ${RuntimeSrc} |
" |
-fi |
+ fi |
+} |
+ |
+# Do the check. |
+check_constant GOOGLE_PROTOBUF_OBJC_VERSION |
# Success |