agones.dev/agones@v1.53.0/build/build-sdk-images/cpp/gen.sh (about) 1 #!/usr/bin/env bash 2 3 # Copyright 2019 Google LLC All Rights Reserved. 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 17 set -ex 18 19 header() { 20 cat /go/src/agones.dev/agones/build/boilerplate.go.txt ./$1 >> $2/$1 21 } 22 23 sdk=/go/src/agones.dev/agones/proto/sdk 24 googleapis=/go/src/agones.dev/agones/proto/googleapis 25 gatewaygrpc=/go/src/agones.dev/agones/proto/grpc-gateway 26 protoc_intermediate=/go/src/agones.dev/agones/sdks/cpp/.generated 27 protoc_destination=/go/src/agones.dev/agones/sdks/cpp 28 29 mkdir -p ${protoc_intermediate} 30 mkdir -p ${protoc_destination}/src/agones 31 mkdir -p ${protoc_destination}/src/google 32 mkdir -p ${protoc_destination}/src/protoc-gen-openapiv2 33 mkdir -p ${protoc_destination}/include/agones 34 mkdir -p ${protoc_destination}/include/google/api 35 mkdir -p ${protoc_destination}/include/protoc-gen-openapiv2/options 36 37 cd /go/src/agones.dev/agones/sdks/cpp 38 find -name '*.pb.*' -delete 39 cd /go/src/agones.dev/agones 40 protoc -I ${googleapis} -I ${gatewaygrpc} -I ${sdk} --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` --grpc_out=${protoc_intermediate} sdk.proto 41 protoc -I ${googleapis} -I ${gatewaygrpc} -I ${sdk} --cpp_out=dllexport_decl=AGONES_EXPORT:${protoc_intermediate} sdk.proto ${googleapis}/google/api/annotations.proto ${googleapis}/google/api/http.proto ${gatewaygrpc}/protoc-gen-openapiv2/options/annotations.proto ${gatewaygrpc}/protoc-gen-openapiv2/options/openapiv2.proto 42 43 cd ${protoc_intermediate} 44 header sdk.grpc.pb.cc ${protoc_destination}/src/agones 45 header sdk.pb.cc ${protoc_destination}/src/agones 46 header sdk.grpc.pb.h ${protoc_destination}/include/agones 47 header sdk.pb.h ${protoc_destination}/include/agones 48 49 cd ${protoc_intermediate}/google/api 50 header annotations.pb.cc ${protoc_destination}/src/google 51 header http.pb.cc ${protoc_destination}/src/google 52 header annotations.pb.h ${protoc_destination}/include/google/api 53 header http.pb.h ${protoc_destination}/include/google/api 54 55 cd ${protoc_intermediate}/protoc-gen-openapiv2/options 56 header annotations.pb.cc ${protoc_destination}/src/protoc-gen-openapiv2 57 header openapiv2.pb.cc ${protoc_destination}/src/protoc-gen-openapiv2 58 header annotations.pb.h ${protoc_destination}/include/protoc-gen-openapiv2/options 59 header openapiv2.pb.h ${protoc_destination}/include/protoc-gen-openapiv2/options 60 61 rm -r ${protoc_intermediate}