mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-23 23:00:19 +00:00
53 lines
1.4 KiB
Plaintext
53 lines
1.4 KiB
Plaintext
|
#!/bin/sh
|
||
|
#
|
||
|
# Copyright 2017 Google Inc. All Rights Reserved.
|
||
|
#
|
||
|
# 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.
|
||
|
|
||
|
# Use this script to run protoc and swift-proto to generate
|
||
|
# support code for gnostic protos.
|
||
|
|
||
|
GNOSTIC=$GOPATH/src/github.com/googleapis/gnostic
|
||
|
|
||
|
PROTOS=(
|
||
|
plugins/plugin.proto
|
||
|
OpenAPIv2/OpenAPIv2.proto
|
||
|
OpenAPIv3/OpenAPIv3.proto
|
||
|
surface/surface.proto
|
||
|
discovery/discovery.proto
|
||
|
)
|
||
|
|
||
|
# remove old compiled pb files
|
||
|
rm -rf Sources/Gnostic/*.pb.swift
|
||
|
|
||
|
# remove any prior compilations
|
||
|
rm -rf Sources/Gnostic/github.com
|
||
|
|
||
|
# compile protos
|
||
|
for proto in "${PROTOS[@]}"
|
||
|
do
|
||
|
echo "COMPILING $proto"
|
||
|
protoc $GNOSTIC/$proto \
|
||
|
--swift_opt=Visibility=Public \
|
||
|
--swift_out=Sources/Gnostic \
|
||
|
--proto_path=$GOPATH/src
|
||
|
|
||
|
# relocate compiled protos
|
||
|
find Sources/Gnostic/github.com -name "*.pb.swift" -exec mv {} Sources/Gnostic \;
|
||
|
|
||
|
# remove scaffolding of compilation
|
||
|
rm -rf Sources/Gnostic/github.com
|
||
|
|
||
|
done
|
||
|
|