| OLD | NEW |
| (Empty) | |
| 1 #!/bin/bash |
| 2 # Generates C# source files from .proto files. |
| 3 # You first need to make sure protoc has been built (see instructions on |
| 4 # building protoc in root of this repository) |
| 5 |
| 6 # This script performs a few fix-ups as part of generation. These are: |
| 7 # - descriptor.proto is renamed to descriptor_proto_file.proto before |
| 8 # generation, to avoid the naming collision between the class for the file |
| 9 # descriptor and its Descriptor property |
| 10 # - This change also impacts UnittestCustomOptions, which expects to |
| 11 # use a class of Descriptor when it's actually been renamed to |
| 12 # DescriptorProtoFile. |
| 13 # - Issue 307 (codegen for double-nested types) breaks Unittest.proto and |
| 14 # its lite equivalents. |
| 15 |
| 16 set -ex |
| 17 |
| 18 # cd to repository root |
| 19 cd $(dirname $0)/.. |
| 20 |
| 21 # Protocol buffer compiler to use. If the PROTOC variable is set, |
| 22 # use that. Otherwise, probe for expected locations under both |
| 23 # Windows and Unix. |
| 24 if [ -z "$PROTOC" ]; then |
| 25 # TODO(jonskeet): Use an array and a for loop instead? |
| 26 if [ -x cmake/build/Debug/protoc.exe ]; then |
| 27 PROTOC=cmake/build/Debug/protoc.exe |
| 28 elif [ -x cmake/build/Release/protoc.exe ]; then |
| 29 PROTOC=cmake/build/Release/protoc.exe |
| 30 elif [ -x src/protoc ]; then |
| 31 PROTOC=src/protoc |
| 32 else |
| 33 echo "Unable to find protocol buffer compiler." |
| 34 exit 1 |
| 35 fi |
| 36 fi |
| 37 |
| 38 # Descriptor proto |
| 39 # TODO(jonskeet): Remove fixup |
| 40 cp src/google/protobuf/descriptor.proto src/google/protobuf/descriptor_proto_fil
e.proto |
| 41 $PROTOC -Isrc --csharp_out=csharp/src/Google.Protobuf/Reflection \ |
| 42 src/google/protobuf/descriptor_proto_file.proto |
| 43 rm src/google/protobuf/descriptor_proto_file.proto |
| 44 |
| 45 $PROTOC -Isrc --csharp_out=csharp/src/Google.Protobuf/WellKnownTypes \ |
| 46 src/google/protobuf/any.proto \ |
| 47 src/google/protobuf/api.proto \ |
| 48 src/google/protobuf/duration.proto \ |
| 49 src/google/protobuf/empty.proto \ |
| 50 src/google/protobuf/field_mask.proto \ |
| 51 src/google/protobuf/source_context.proto \ |
| 52 src/google/protobuf/struct.proto \ |
| 53 src/google/protobuf/timestamp.proto \ |
| 54 src/google/protobuf/type.proto \ |
| 55 src/google/protobuf/wrappers.proto |
| 56 |
| 57 $PROTOC -Isrc --csharp_out=csharp/src/Google.Protobuf.Test/TestProtos \ |
| 58 src/google/protobuf/map_unittest_proto3.proto \ |
| 59 src/google/protobuf/unittest_proto3.proto \ |
| 60 src/google/protobuf/unittest_import_proto3.proto \ |
| 61 src/google/protobuf/unittest_import_public_proto3.proto \ |
| 62 src/google/protobuf/unittest_well_known_types.proto |
| 63 |
| 64 |
| 65 $PROTOC -Icsharp/protos --csharp_out=csharp/src/Google.Protobuf.Test/TestProtos
\ |
| 66 csharp/protos/unittest_issues.proto |
| 67 |
| 68 # AddressBook sample protos |
| 69 $PROTOC -Iexamples --csharp_out=csharp/src/AddressBook \ |
| 70 examples/addressbook.proto |
| 71 |
| 72 $PROTOC -Iconformance --csharp_out=csharp/src/Google.Protobuf.Conformance \ |
| 73 conformance/conformance.proto |
| OLD | NEW |