diff options
Diffstat (limited to 'Firestore/Protos/build-protos.sh')
-rwxr-xr-x | Firestore/Protos/build-protos.sh | 47 |
1 files changed, 43 insertions, 4 deletions
diff --git a/Firestore/Protos/build-protos.sh b/Firestore/Protos/build-protos.sh index 4cfb12e..f5570cb 100755 --- a/Firestore/Protos/build-protos.sh +++ b/Firestore/Protos/build-protos.sh @@ -1,10 +1,13 @@ #!/bin/bash # Copyright 2017 Google +# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at +# # http://www.apache.org/licenses/LICENSE-2.0 +# # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -14,6 +17,31 @@ # Run this script from firebase-ios-sdk/Firestore/Protos to regnenerate the # Objective C files from the protos. +set -euo pipefail + +function StartCopyright() { + local filename="$1" + + cat > $filename <<EOF +/* + * Copyright 2017 Google + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +EOF +} + # pod update to install protoc and the gRPC plugin compiler. rm -rf Pods rm Podfile.lock @@ -22,10 +50,18 @@ pod update # Generate the objective C files from the protos. ./Pods/!ProtoCompiler/protoc --plugin=protoc-gen-grpc=Pods/\!ProtoCompiler-gRPCPlugin/grpc_objective_c_plugin -I protos --objc_out=objc --grpc_out=objc `find protos -name *.proto -print | xargs` -# CocoaPods does not like paths in library imports, flatten them. +# Adjust imports in the protos to make them compile for i in `find objc -name "*.[mh]"` ; do - perl -i -pe 's#import ".*/#import "#' $i; + StartCopyright $i.tmp + + sed ' + s,#import "\(.*\.pbobjc.h\),#import "Firestore/Protos/objc/\1,; + s,#import "\(.*\.pbrpc.h\),#import "Firestore/Protos/objc/\1,; + s, *$,, + ' $i >> $i.tmp + + mv $i.tmp $i done # Remove the unnecessary extensionRegistry functions. @@ -36,5 +72,8 @@ done # Remove non-buildable code from Annotations.pbobjc.*. -echo "static int annotations_stub __attribute__((unused,used)) = 0;" > objc/google/api/Annotations.pbobjc.m -echo "// Empty stub file" > objc/google/api/Annotations.pbobjc.h +StartCopyright objc/google/api/Annotations.pbobjc.m +echo "static int annotations_stub __attribute__((unused,used)) = 0;" >> objc/google/api/Annotations.pbobjc.m + +StartCopyright objc/google/api/Annotations.pbobjc.h +echo "// Empty stub file" >> objc/google/api/Annotations.pbobjc.h |