Home | History | Annotate | Download | only in csharp
      1 #!/bin/sh
      2 # Copyright 2015 gRPC authors.
      3 #
      4 # Licensed under the Apache License, Version 2.0 (the "License");
      5 # you may not use this file except in compliance with the License.
      6 # You may obtain a copy of the License at
      7 #
      8 #     http://www.apache.org/licenses/LICENSE-2.0
      9 #
     10 # Unless required by applicable law or agreed to in writing, software
     11 # distributed under the License is distributed on an "AS IS" BASIS,
     12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 # See the License for the specific language governing permissions and
     14 # limitations under the License.
     15 
     16 # Regenerates gRPC service stubs from proto files.
     17 set +e
     18 cd $(dirname $0)/../..
     19 
     20 PROTOC=bins/opt/protobuf/protoc
     21 PLUGIN=protoc-gen-grpc=bins/opt/grpc_csharp_plugin
     22 EXAMPLES_DIR=src/csharp/Grpc.Examples
     23 HEALTHCHECK_DIR=src/csharp/Grpc.HealthCheck
     24 REFLECTION_DIR=src/csharp/Grpc.Reflection
     25 TESTING_DIR=src/csharp/Grpc.IntegrationTesting
     26 
     27 $PROTOC --plugin=$PLUGIN --csharp_out=$EXAMPLES_DIR --grpc_out=$EXAMPLES_DIR \
     28     -I src/proto src/proto/math/math.proto
     29 
     30 $PROTOC --plugin=$PLUGIN --csharp_out=$HEALTHCHECK_DIR --grpc_out=$HEALTHCHECK_DIR \
     31     -I src/proto src/proto/grpc/health/v1/health.proto
     32     
     33 $PROTOC --plugin=$PLUGIN --csharp_out=$REFLECTION_DIR --grpc_out=$REFLECTION_DIR \
     34     -I src/proto src/proto/grpc/reflection/v1alpha/reflection.proto
     35 
     36 # Put grp/core/stats.proto in a subdirectory to avoid collision with grpc/testing/stats.proto
     37 mkdir -p $TESTING_DIR/CoreStats
     38 $PROTOC --plugin=$PLUGIN --csharp_out=$TESTING_DIR/CoreStats --grpc_out=$TESTING_DIR/CoreStats \
     39     -I src/proto src/proto/grpc/core/stats.proto
     40 
     41 # TODO(jtattermusch): following .proto files are a bit broken and import paths
     42 # don't match the package names. Setting -I to the correct value src/proto
     43 # breaks the code generation.
     44 $PROTOC --plugin=$PLUGIN --csharp_out=$TESTING_DIR --grpc_out=$TESTING_DIR \
     45     -I . src/proto/grpc/testing/{control,echo_messages,empty,empty_service,messages,metrics,payloads,benchmark_service,report_qps_scenario_service,worker_service,stats,test}.proto
     46