github.com/argoproj/argo-events@v1.9.1/hack/generate-proto.sh (about) 1 #!/bin/bash 2 3 set -o errexit 4 set -o nounset 5 set -o pipefail 6 7 source $(dirname $0)/library.sh 8 header "generating proto files" 9 10 ensure_protobuf 11 ensure_vendor 12 13 if [ "`command -v protoc-gen-gogo`" = "" ]; then 14 go install -mod=vendor ./vendor/github.com/gogo/protobuf/protoc-gen-gogo 15 fi 16 17 if [ "`command -v protoc-gen-gogofast`" = "" ]; then 18 go install -mod=vendor ./vendor/github.com/gogo/protobuf/protoc-gen-gogofast 19 fi 20 21 if [ "`command -v goimports`" = "" ]; then 22 export GO111MODULE="off" 23 go get golang.org/x/tools/cmd/goimports 24 export GO111MODULE="on" 25 fi 26 27 make_fake_paths 28 export GOPATH="${FAKE_GOPATH}" 29 cd "${FAKE_REPOPATH}" 30 31 # go < 1.17 32 #go install -mod=vendor ./vendor/k8s.io/code-generator/cmd/go-to-protobuf 33 # go >= 1.17 34 GOBIN=${GOPATH}/bin go install -mod=vendor ./vendor/k8s.io/code-generator/cmd/go-to-protobuf 35 36 export GO111MODULE="off" 37 38 ${GOPATH}/bin/go-to-protobuf \ 39 --go-header-file=./hack/custom-boilerplate.go.txt \ 40 --packages=github.com/argoproj/argo-events/pkg/apis/common \ 41 --apimachinery-packages=+k8s.io/apimachinery/pkg/util/intstr,+k8s.io/apimachinery/pkg/api/resource,k8s.io/apimachinery/pkg/runtime/schema,+k8s.io/apimachinery/pkg/runtime,k8s.io/apimachinery/pkg/apis/meta/v1,k8s.io/api/core/v1,k8s.io/api/policy/v1beta1 \ 42 --proto-import ./vendor 43 44 ${GOPATH}/bin/go-to-protobuf \ 45 --go-header-file=./hack/custom-boilerplate.go.txt \ 46 --packages=github.com/argoproj/argo-events/pkg/apis/eventbus/v1alpha1,github.com/argoproj/argo-events/pkg/apis/eventsource/v1alpha1,github.com/argoproj/argo-events/pkg/apis/sensor/v1alpha1 \ 47 --apimachinery-packages=github.com/argoproj/argo-events/pkg/apis/common,+k8s.io/apimachinery/pkg/util/intstr,+k8s.io/apimachinery/pkg/api/resource,k8s.io/apimachinery/pkg/runtime/schema,+k8s.io/apimachinery/pkg/runtime,k8s.io/apimachinery/pkg/apis/meta/v1,k8s.io/api/core/v1,k8s.io/api/policy/v1beta1 \ 48 --proto-import ./vendor