Update protoc version

main
Buddy Sandidge 3 years ago
parent ccee6c82e4
commit 404e3f71bd

@ -1,33 +1,35 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -x
set -e set -e
# shellcheck disable=SC1090 # shellcheck disable=SC1090
source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh" source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh"
VERSION=${VERSION:-3.15.6} get_os () (
APP=protoc case $(uname -s) in
APPS_DIR=${XDG_DATA_HOME}/buddy-up/apps/${APP} Linux*) echo linux;;
VER_DIR=${APPS_DIR}/${VERSION} Darwin*) echo osx;;
*) >&2 echo "unsupported os"; return;
esac
)
OS=$(get_os) get_arch () (
if [[ $OS == darwin ]]; then uname -m
OS=osx )
fi
ARCH=$(get_arch) VERSION=${VERSION:-3.19.4}
if [[ $ARCH == amd64 ]]; then APP=protoc
ARCH=x86_64 APPS_DIR=${XDG_DATA_HOME}/apps/releases/${APP}
fi VER_DIR=${APPS_DIR}/${VERSION}
ZIP=protoc-${VERSION}-${OS}-${ARCH}.zip ZIP=protoc-${VERSION}-$(get_os)-$(get_arch).zip
TMP_DIR=$(mktemp -d) TMP_DIR=$(mktemp -d)
DEST_FILE=$TMP_DIR/$ZIP DEST_FILE=$TMP_DIR/$ZIP
URL=https://github.com/protocolbuffers/protobuf/releases/download/v${VERSION}/${ZIP} URL=https://github.com/protocolbuffers/protobuf/releases/download/v${VERSION}/${ZIP}
if [[ ! -d "${VER_DIR}" ]]; then if [[ ! -d "${VER_DIR}" ]]; then
curl --output "${DEST_FILE}" --location "${URL}" curl --output "${DEST_FILE}" --location "${URL}"
mkdir -p "${VER_DIR}"
unzip -o "${DEST_FILE}" -d "${VER_DIR}" unzip -o "${DEST_FILE}" -d "${VER_DIR}"
find "${VER_DIR}" -type f -exec chmod 644 {} \; find "${VER_DIR}" -type f -exec chmod 644 {} \;
find "${VER_DIR}" -type d -exec chmod 755 {} \; find "${VER_DIR}" -type d -exec chmod 755 {} \;
@ -38,7 +40,7 @@ rm -rfv "$TMP_DIR"
set_current_link "${APPS_DIR}" "${VERSION}" set_current_link "${APPS_DIR}" "${VERSION}"
apps=$(find "${APPS_DIR}/current/bin" -maxdepth 1 -perm +111 -type f -exec basename {} \;) apps=$(find "${APPS_DIR}/current/bin" -maxdepth 1 -perm +111 -type f -exec basename {} \;)
cd "${XDG_BIN_HOME}" pushd "${XDG_BIN_HOME}"
for bin in $apps; do for bin in $apps; do
if [[ ! -s $bin ]]; then if [[ ! -s $bin ]]; then
ln -s \ ln -s \
@ -46,3 +48,12 @@ for bin in $apps; do
"${bin}" "${bin}"
fi fi
done done
popd
pushd "${XDG_INCLUDE_HOME}"
if [[ ! -s google ]]; then
ln -s \
"$(relative_path "${XDG_INCLUDE_HOME}" "${APPS_DIR}/current/include/google")" \
google
fi
popd

Loading…
Cancel
Save