blob: 7a9dd762a8ebfc5afcd4f08396203107d02cb9dc [file] [log] [blame]
khenaidooabad44c2018-08-03 16:58:35 -04001#!/bin/sh
2
Zack Williams998f4422018-09-19 10:38:57 -07003# Copyright 2018 the original author or 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
khenaidooabad44c2018-08-03 16:58:35 -040017export SRC_DIR="$1"
18
19echo $SRC_DIR
20
21export MAPS=Mgoogle/protobuf/descriptor.proto=github.com/golang/protobuf/protoc-gen-go/descriptor
22export INCS="\
23 -I $SRC_DIR \
khenaidooac637102019-01-14 15:44:34 -050024 -I /usr/local/include/googleapis"
khenaidooabad44c2018-08-03 16:58:35 -040025
26export VOLTHA_PB="\
27 $SRC_DIR/adapter.proto \
28 $SRC_DIR/device.proto \
29 $SRC_DIR/events.proto \
30 $SRC_DIR/health.proto \
31 $SRC_DIR/logical_device.proto \
32 $SRC_DIR/ponsim.proto \
33 $SRC_DIR/voltha.proto"
34
35export COMMON_PB="\
36 $SRC_DIR/common.proto \
37 $SRC_DIR/meta.proto \
38 $SRC_DIR/yang_options.proto"
39
khenaidoo79232702018-12-04 11:00:41 -050040export INTER_CONTAINER_PB="$SRC_DIR/inter_container.proto"
khenaidooabad44c2018-08-03 16:58:35 -040041export SCHEMA_PB="$SRC_DIR/schema.proto"
42export IETF_PB="$SRC_DIR/ietf_interfaces.proto"
43export OF_PB="$SRC_DIR/openflow_13.proto"
44export OMCI_PB="$SRC_DIR/omci*.proto"
sslobodra3ea7d42019-01-16 15:03:16 -050045export AFROUTER_PB="$SRC_DIR/afrouter.proto"
sslobodr3d587c62019-01-24 12:33:39 -050046export OMCI_PB="$SRC_DIR/omci_mib_db.proto"
khenaidooabad44c2018-08-03 16:58:35 -040047
48export PB_VARS="\
49 VOLTHA_PB \
50 COMMON_PB \
khenaidoo79232702018-12-04 11:00:41 -050051 INTER_CONTAINER_PB \
khenaidooabad44c2018-08-03 16:58:35 -040052 SCHEMA_PB \
53 IETF_PB \
54 OF_PB \
sslobodra3ea7d42019-01-16 15:03:16 -050055 OMCI_PB \
sslobodr3d587c62019-01-24 12:33:39 -050056 AFROUTER_PB \
57 OMCI_PB"
sslobodra3ea7d42019-01-16 15:03:16 -050058
59export OTHER_INCLUDES="/usr/local/include/googleapis"
60export PROTO_DESC_FILE="${SRC_DIR}/voltha.pb"
khenaidooabad44c2018-08-03 16:58:35 -040061
62for pb_var in $PB_VARS
63do
64 pbs="$(eval echo \$$pb_var)"
65 echo "Compiling $pbs"
66 protoc --go_out=$MAPS,plugins=grpc:$GOPATH/src $INCS $pbs
67done
sslobodra3ea7d42019-01-16 15:03:16 -050068
69protoc -I ${SRC_DIR} -I ${OTHER_INCLUDES} --include_imports --include_source_info --descriptor_set_out=${PROTO_DESC_FILE} ${SRC_DIR}/*.proto