aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/codegen
diff options
context:
space:
mode:
authorGravatar Vishal Powar <vishalpowar@google.com>2018-11-30 14:27:52 -0800
committerGravatar Vishal Powar <vishalpowar@google.com>2018-12-11 14:59:02 -0800
commit62027b7e14624283f758a7785a0a1347eda0a147 (patch)
tree76db8a6a8a5d3a86353a268f5eb3305e1f4c0523 /tools/codegen
parent9bd5b3778abbb2564544a69d9c99d3c87a3354eb (diff)
Changes add a script for generating C code and build rule for protobuf
protos All these changes need to go together to make sense - changes to use new version of upb in bazel - allowing includes in build target option - script for generating c code for protos - generated code for example build - adding changes for non-bazel builds - change sanity tests to ignore the generated files.
Diffstat (limited to 'tools/codegen')
-rwxr-xr-xtools/codegen/core/gen_upb_api.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/tools/codegen/core/gen_upb_api.sh b/tools/codegen/core/gen_upb_api.sh
new file mode 100755
index 0000000000..9457e06f12
--- /dev/null
+++ b/tools/codegen/core/gen_upb_api.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+# Copyright 2016 gRPC authors.
+#
+# 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.
+
+# REQUIRES: Bazel
+set -ex
+rm -rf src/core/ext/upb-generated
+mkdir src/core/ext/upb-generated
+cd third_party
+cd upb
+bazel build :protoc-gen-upb
+
+cd ../..
+
+proto_files=( \
+ "google/protobuf/any.proto" \
+ "google/protobuf/struct.proto" \
+ "google/protobuf/wrappers.proto" \
+ "google/protobuf/descriptor.proto" \
+ "google/protobuf/duration.proto" \
+ "google/protobuf/timestamp.proto" )
+
+for i in "${proto_files[@]}"
+do
+ protoc -I=$PWD/third_party/data-plane-api -I=$PWD/third_party/googleapis -I=$PWD/third_party/protobuf -I=$PWD/third_party/protoc-gen-validate $i --upb_out=./src/core/ext/upb-generated --plugin=protoc-gen-upb=third_party/upb/bazel-bin/protoc-gen-upb
+done