#!/usr/bin/env bash set -euo pipefail BUF_IMAGE="${BUF_IMAGE:-bufbuild/buf:1.47.2}" action="${1:-}" case "$action" in format) shift set -- format -w "$@" ;; lint) shift set -- lint "$@" ;; build) shift set -- build -o descriptor.bin "$@" ;; generate) shift set -- generate "$@" ;; breaking) shift if [[ $# -ne 1 ]]; then echo "usage: $0 breaking " >&2 exit 2 fi set -- breaking --against "$1" ;; *) echo "usage: $0 {format|lint|build|generate|breaking }" >&2 exit 2 ;; esac exec docker run --rm --user "$(id -u):$(id -g)" \ -e XDG_CACHE_HOME=/tmp \ -v "$(pwd):/workspace" -w /workspace "$BUF_IMAGE" "$@"