| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | #!/bin/bashif [ $# -ne 1 ]; then  cat <<EOFUsage: $0 <VERSION_NUMBER>Example:  $ $0 3.0.0This script will download pre-built protoc binaries from maven repository andcreate the Google.Protobuf.Tools package. Well-known type .proto files will alsobe included.EOF  exit 1fiVERSION_NUMBER=$1# <directory name> <binary file name> pairs.declare -a FILE_NAMES=(          \  windows_x86 windows-x86_32.exe \  windows_x64 windows-x86_64.exe \  macosx_x64  osx-x86_64.exe     \  linux_x86   linux-x86_32.exe   \  linux_x64   linux-x86_64.exe   \)set -emkdir -p protoc# Create a zip file for each binary.for((i=0;i<${#FILE_NAMES[@]};i+=2));do  DIR_NAME=${FILE_NAMES[$i]}  mkdir -p protoc/$DIR_NAME  if [ ${DIR_NAME:0:3} = "win" ]; then    TARGET_BINARY="protoc.exe"  else    TARGET_BINARY="protoc"  fi  BINARY_NAME=${FILE_NAMES[$(($i+1))]}  BINARY_URL=http://repo1.maven.org/maven2/com/google/protobuf/protoc/${VERSION_NUMBER}/protoc-${VERSION_NUMBER}-${BINARY_NAME}  if ! wget ${BINARY_URL} -O protoc/$DIR_NAME/$TARGET_BINARY &> /dev/null; then    echo "[ERROR] Failed to download ${BINARY_URL}" >&2    echo "[ERROR] Skipped $protoc-${VERSION_NAME}-${DIR_NAME}" >&2    continue  fidonenuget pack Google.Protobuf.Tools.nuspec
 |