Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: third_party/protobuf/objectivec/DevTools/check_version_stamps.sh

Issue 2495533002: third_party/protobuf: Update to HEAD (83d681ee2c) (Closed)
Patch Set: Make chrome settings proto generated file a component Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #!/bin/bash 1 #!/bin/bash -eu
2 2
3 # This script checks that the runtime version number constant in the compiler 3 # This script checks that the runtime version number constant in the compiler
4 # source and in the runtime source is the same. 4 # source and in the runtime source is the same.
5 # 5 #
6 # A distro can be made of the protobuf sources with only a subset of the 6 # A distro can be made of the protobuf sources with only a subset of the
7 # languages, so if the compiler depended on the Objective C runtime, those 7 # languages, so if the compiler depended on the Objective C runtime, those
8 # builds would break. At the same time, we don't want the runtime source 8 # builds would break. At the same time, we don't want the runtime source
9 # depending on the compiler sources; so two copies of the constant are needed. 9 # depending on the compiler sources; so two copies of the constant are needed.
10 10
11 set -eu
12
13 readonly ScriptDir=$(dirname "$(echo $0 | sed -e "s,^\([^/]\),$(pwd)/\1,")") 11 readonly ScriptDir=$(dirname "$(echo $0 | sed -e "s,^\([^/]\),$(pwd)/\1,")")
14 readonly ProtoRootDir="${ScriptDir}/../.." 12 readonly ProtoRootDir="${ScriptDir}/../.."
15 13
16 die() { 14 die() {
17 echo "Error: $1" 15 echo "Error: $1"
18 exit 1 16 exit 1
19 } 17 }
20 18
21 readonly ConstantName=GOOGLE_PROTOBUF_OBJC_GEN_VERSION 19 readonly GeneratorSrc="${ProtoRootDir}/src/google/protobuf/compiler/objectivec/o bjectivec_file.cc"
20 readonly RuntimeSrc="${ProtoRootDir}/objectivec/GPBBootstrap.h"
22 21
23 # Collect version from plugin sources. 22 check_constant() {
23 local ConstantName="$1"
24 24
25 readonly PluginSrc="${ProtoRootDir}/src/google/protobuf/compiler/objectivec/obje ctivec_file.cc" 25 # Collect version from generator sources.
26 readonly PluginVersion=$( \ 26 local GeneratorVersion=$( \
27 cat "${PluginSrc}" \ 27 cat "${GeneratorSrc}" \
28 | sed -n -e "s:const int32 ${ConstantName} = \([0-9]*\);:\1:p" 28 | sed -n -e "s:const int32 ${ConstantName} = \([0-9]*\);:\1:p"
29 ) 29 )
30 if [[ -z "${GeneratorVersion}" ]] ; then
31 die "Failed to find ${ConstantName} in the generator source (${GeneratorSr c})."
32 fi
30 33
31 if [[ -z "${PluginVersion}" ]] ; then 34 # Collect version from runtime sources.
32 die "Failed to find ${ConstantName} in the plugin source (${PluginSrc})." 35 local RuntimeVersion=$( \
33 fi 36 cat "${RuntimeSrc}" \
37 | sed -n -e "s:#define ${ConstantName} \([0-9]*\):\1:p"
38 )
39 if [[ -z "${RuntimeVersion}" ]] ; then
40 die "Failed to find ${ConstantName} in the runtime source (${RuntimeSrc}). "
41 fi
34 42
35 # Collect version from runtime sources. 43 # Compare them.
44 if [[ "${GeneratorVersion}" != "${RuntimeVersion}" ]] ; then
45 die "${ConstantName} values don't match!
46 Generator: ${GeneratorVersion} from ${GeneratorSrc}
47 Runtime: ${RuntimeVersion} from ${RuntimeSrc}
48 "
49 fi
50 }
36 51
37 readonly RuntimeSrc="${ProtoRootDir}/objectivec/GPBBootstrap.h" 52 # Do the check.
38 readonly RuntimeVersion=$( \ 53 check_constant GOOGLE_PROTOBUF_OBJC_VERSION
39 cat "${RuntimeSrc}" \
40 | sed -n -e "s:#define ${ConstantName} \([0-9]*\):\1:p"
41 )
42
43 if [[ -z "${RuntimeVersion}" ]] ; then
44 die "Failed to find ${ConstantName} in the runtime source (${RuntimeSrc})."
45 fi
46
47 # Compare them.
48
49 if [[ "${PluginVersion}" != "${RuntimeVersion}" ]] ; then
50 die "Versions don't match!
51 Plugin: ${PluginVersion} from ${PluginSrc}
52 Runtime: ${RuntimeVersion} from ${RuntimeSrc}
53 "
54 fi
55 54
56 # Success 55 # Success
OLDNEW
« no previous file with comments | « third_party/protobuf/objectivec/.gitignore ('k') | third_party/protobuf/objectivec/DevTools/compile_testing_protos.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698