proto: Switch to using buf (#9308)

This replaces all usage of `protoc` with `buf`. See `tools/buf/README.md` for more.
This commit is contained in:
Kris Hicks
2020-11-17 07:01:48 -08:00
committed by GitHub
parent 7a6db5f483
commit e5be40b4b0
17 changed files with 274 additions and 217 deletions

View File

@@ -24,8 +24,8 @@ RUN /tmp/scripts/vagrant-linux-priv-config.sh
COPY ./scripts/vagrant-linux-priv-go.sh /tmp/scripts/vagrant-linux-priv-go.sh
RUN /tmp/scripts/vagrant-linux-priv-go.sh
COPY ./scripts/vagrant-linux-priv-protoc.sh /tmp/scripts/vagrant-linux-priv-protoc.sh
RUN /tmp/scripts/vagrant-linux-priv-protoc.sh
COPY ./scripts/vagrant-linux-priv-buf.sh /tmp/scripts/vagrant-linux-priv-buf.sh
RUN /tmp/scripts/vagrant-linux-priv-buf.sh
USER vagrant

View File

@@ -0,0 +1,26 @@
#!/usr/bin/env bash
set -o errexit
# Make sure you grab the latest version
VERSION=0.30.1
DOWNLOAD=https://github.com/bufbuild/buf/releases/download/v${VERSION}/buf-Linux-x86_64
function install() {
if command -v buf >/dev/null; then
if [ "${VERSION}" = "$(buf --version)" ] ; then
return
fi
fi
# Download
curl -sSL --fail "$DOWNLOAD" -o /tmp/buf
# make executable
chmod +x /tmp/buf
# Move buf to /usr/bin
mv /tmp/buf /usr/bin/buf
}
install

View File

@@ -1,37 +0,0 @@
#!/usr/bin/env bash
set -o errexit
# Make sure you grab the latest version
VERSION=3.6.1
DOWNLOAD=https://github.com/google/protobuf/releases/download/v${VERSION}/protoc-${VERSION}-linux-x86_64.zip
function install_protoc() {
if [[ -e /usr/local/bin/protoc ]] ; then
if [ "${VERSION}" = "$(protoc --version | cut -d ' ' -f 2)" ] ; then
return
fi
fi
# Download
curl -sSL --fail -o /tmp/protoc.zip ${DOWNLOAD}
# Unzip
unzip /tmp/protoc.zip -d /tmp/protoc3
# all protoc files should be world-wide readable, specially the include files
chmod -R a+r /tmp/protoc3
# Move protoc to /usr/local/bin/
mv /tmp/protoc3/bin/* /usr/local/bin/
# Move protoc3/include to /usr/local/include/
mv /tmp/protoc3/include/* /usr/local/include/
# Link
ln -s /usr/local/bin/protoc /usr/bin/protoc
rm -rf /tmp/protoc3 /tmp/protoc.zip
}
install_protoc