1#!/bin/bash
2
3# Copyright 2016 gRPC authors.
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
17set -ex
18
19cd $(dirname $0)/../../..
20bazel=`pwd`/tools/bazel
21
22if [ $# -eq 0 ]; then
23  UPB_OUTPUT_DIR=$PWD/src/core/ext/upb-generated
24  UPBDEFS_OUTPUT_DIR=$PWD/src/core/ext/upbdefs-generated
25  rm -rf $UPB_OUTPUT_DIR
26  rm -rf $UPBDEFS_OUTPUT_DIR
27  mkdir -p $UPB_OUTPUT_DIR
28  mkdir -p $UPBDEFS_OUTPUT_DIR
29else
30  UPB_OUTPUT_DIR=$1/upb-generated
31  UPBDEFS_OUTPUT_DIR=$1/upbdefs-generated
32  mkdir $UPB_OUTPUT_DIR
33  mkdir $UPBDEFS_OUTPUT_DIR
34fi
35
36# generate upb files from bazel rules
37python3 tools/codegen/core/gen_upb_api_from_bazel_xml.py \
38  --upb_out=$UPB_OUTPUT_DIR \
39  --upbdefs_out=$UPBDEFS_OUTPUT_DIR \
40  --verbose
41