diff --git a/hack/build-image/Dockerfile b/hack/build-image/Dockerfile index b69a8c8adc..96f88a3b3e 100644 --- a/hack/build-image/Dockerfile +++ b/hack/build-image/Dockerfile @@ -1,4 +1,4 @@ -# Copyright 2018 the Velero contributors. +# Copyright 2018, 2019 the Velero contributors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -25,4 +25,17 @@ RUN mkdir -p /go/src/k8s.io && \ cd /go/src/golang.org/x/tools && \ git checkout 40a48ad93fbe707101afb2099b738471f70594ec && \ go install ./cmd/goimports && \ - echo chmod -R a+w /go + echo chmod -R a+w /go && \ + # download & install protoc + apt-get update && apt-get install -y unzip && \ + wget --quiet https://github.com/protocolbuffers/protobuf/releases/download/v3.9.1/protoc-3.9.1-linux-x86_64.zip && \ + unzip protoc-3.9.1-linux-x86_64.zip && \ + mv bin/protoc /usr/bin/protoc && \ + chmod +x /usr/bin/protoc && \ + # download & install protoc-gen-go plugin (v1.0.0) + mkdir -p /go/src/github.com/golang && \ + cd /go/src/github.com/golang && \ + git config --global advice.detachedHead false && \ + git clone -b v1.0.0 https://github.com/golang/protobuf && \ + cd /go/src/github.com/golang/protobuf && \ + go install ./protoc-gen-go diff --git a/hack/generate-proto.sh b/hack/update-proto.sh similarity index 86% rename from hack/generate-proto.sh rename to hack/update-proto.sh index bedfc5cd3d..28ba964d17 100755 --- a/hack/generate-proto.sh +++ b/hack/update-proto.sh @@ -1,6 +1,6 @@ #!/bin/bash -e # -# Copyright 2017 the Velero contributors. +# Copyright 2017, 2019 the Velero contributors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -16,8 +16,8 @@ HACK_DIR=$(dirname "${BASH_SOURCE}") -echo "Running protoc" +echo "Updating plugin proto" protoc pkg/plugin/proto/*.proto --go_out=plugins=grpc:pkg/plugin/generated/ -I pkg/plugin/proto/ -echo "Success!" +echo "Updating plugin proto - done!" diff --git a/site/docs/master/development.md b/site/docs/master/development.md index 732eb53fb0..cf3b3c4fc0 100644 --- a/site/docs/master/development.md +++ b/site/docs/master/development.md @@ -7,10 +7,7 @@ Run `make update` to regenerate files if you make the following changes: * Add/edit/remove command line flags and/or their help text * Add/edit/remove commands or subcommands * Add new API types - -Run [generate-proto.sh][13] to regenerate files if you make the following changes: - -* Add/edit/remove protobuf message or service definitions. These changes require the [proto compiler][14] and compiler plugin `protoc-gen-go` version v1.0.0. +* Add/edit/remove plugin protobuf message or service definitions The following files are automatically generated from the source code: @@ -31,5 +28,3 @@ To run unit tests, use `make test`. If you need to add or update the vendored dependencies, see [Vendoring dependencies][11]. [11]: vendoring-dependencies.md -[13]: https://github.com/heptio/velero/blob/master/hack/generate-proto.sh -[14]: https://grpc.io/docs/quickstart/go.html#install-protocol-buffers-v3 \ No newline at end of file