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