diff options
author | Paul Yang <TeBoring@users.noreply.github.com> | 2016-10-10 13:58:39 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-10 13:58:39 -0700 |
commit | fd046f6263fb17383cafdbb25c361e3451c31105 (patch) | |
tree | 5879fa426bd0cf22df5a7ee39d25b8ece7c117f8 /csharp/build_tools.sh | |
parent | 337a028bb65ccca4dda768695950b5aba53ae2c9 (diff) | |
parent | daba6653f1289b58873c2ae993afcdb82035d2fb (diff) | |
download | protobuf-fd046f6263fb17383cafdbb25c361e3451c31105.tar.gz protobuf-fd046f6263fb17383cafdbb25c361e3451c31105.tar.bz2 protobuf-fd046f6263fb17383cafdbb25c361e3451c31105.zip |
Merge pull request #2234 from TeBoring/master
Merge 3.1.x branch into master.
Diffstat (limited to 'csharp/build_tools.sh')
-rwxr-xr-x | csharp/build_tools.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/csharp/build_tools.sh b/csharp/build_tools.sh new file mode 100755 index 00000000..182c5c5c --- /dev/null +++ b/csharp/build_tools.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +if [ $# -ne 1 ]; then + cat <<EOF +Usage: $0 <VERSION_NUMBER> + +Example: + $ $0 3.0.0 + +This script will download pre-built protoc binaries from maven repository and +create the Google.Protobuf.Tools package. Well-known type .proto files will also +be included. +EOF + exit 1 +fi + +VERSION_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_x86 osx-x86_32.exe \ + macosx_x64 osx-x86_64.exe \ + linux_x86 linux-x86_32.exe \ + linux_x64 linux-x86_64.exe \ +) + +set -e + +mkdir -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 + fi +done + +nuget pack Google.Protobuf.Tools.nuspec |