aboutsummaryrefslogtreecommitdiff
path: root/csharp/generate_protos.sh
diff options
context:
space:
mode:
Diffstat (limited to 'csharp/generate_protos.sh')
-rwxr-xr-xcsharp/generate_protos.sh68
1 files changed, 68 insertions, 0 deletions
diff --git a/csharp/generate_protos.sh b/csharp/generate_protos.sh
new file mode 100755
index 00000000..8c066cbe
--- /dev/null
+++ b/csharp/generate_protos.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+# Generates C# source files from .proto files.
+# You first need to make sure protoc has been built (see instructions on
+# building protoc in root of this repository)
+
+set -ex
+
+# cd to repository root
+cd $(dirname $0)/..
+
+# Protocol buffer compiler to use. If the PROTOC variable is set,
+# use that. Otherwise, probe for expected locations under both
+# Windows and Unix.
+if [ -z "$PROTOC" ]; then
+ # TODO(jonskeet): Use an array and a for loop instead?
+ if [ -x vsprojects/Debug/protoc.exe ]; then
+ PROTOC=vsprojects/Debug/protoc.exe
+ elif [ -x vsprojects/Release/protoc.exe ]; then
+ PROTOC=vsprojects/Release/protoc.exe
+ elif [ -x src/protoc ]; then
+ PROTOC=src/protoc
+ else
+ echo "Unable to find protocol buffer compiler."
+ exit 1
+ fi
+fi
+
+# Descriptor proto
+#TODO(jtattermusch): generate descriptor.proto
+
+# ProtocolBuffers.Test protos
+$PROTOC -Isrc --csharp_out=csharp/src/ProtocolBuffers.Test/TestProtos \
+ src/google/protobuf/unittest.proto \
+ src/google/protobuf/unittest_custom_options.proto \
+ src/google/protobuf/unittest_drop_unknown_fields.proto \
+ src/google/protobuf/unittest_enormous_descriptor.proto \
+ src/google/protobuf/unittest_import.proto \
+ src/google/protobuf/unittest_import_public.proto \
+ src/google/protobuf/unittest_mset.proto \
+ src/google/protobuf/unittest_optimize_for.proto \
+ src/google/protobuf/unittest_no_field_presence.proto \
+ src/google/protobuf/unknown_enum_test.proto
+
+$PROTOC -Icsharp/protos/extest --csharp_out=csharp/src/ProtocolBuffers.Test/TestProtos \
+ csharp/protos/extest/unittest_extras_xmltest.proto \
+ csharp/protos/extest/unittest_issues.proto
+
+$PROTOC -Ibenchmarks --csharp_out=csharp/src/ProtocolBuffers.Test/TestProtos \
+ benchmarks/google_size.proto \
+ benchmarks/google_speed.proto
+
+# ProtocolBuffersLite.Test protos
+$PROTOC -Isrc --csharp_out=csharp/src/ProtocolBuffersLite.Test/TestProtos \
+ src/google/protobuf/unittest.proto \
+ src/google/protobuf/unittest_import.proto \
+ src/google/protobuf/unittest_import_lite.proto \
+ src/google/protobuf/unittest_import_public.proto \
+ src/google/protobuf/unittest_import_public_lite.proto \
+ src/google/protobuf/unittest_lite.proto \
+ src/google/protobuf/unittest_lite_imports_nonlite.proto
+
+$PROTOC -Icsharp/protos/extest --csharp_out=csharp/src/ProtocolBuffersLite.Test/TestProtos \
+ csharp/protos/extest/unittest_extras_full.proto \
+ csharp/protos/extest/unittest_extras_lite.proto
+
+# AddressBook sample protos
+$PROTOC -Iexamples --csharp_out=csharp/src/AddressBook \
+ examples/addressbook.proto