Add script to build Google.Protobuf.Tools for csharp.
This commit is contained in:
parent
f2eeaf7110
commit
89db7ce02b
1 changed files with 52 additions and 0 deletions
52
csharp/build_tools.sh
Executable file
52
csharp/build_tools.sh
Executable file
|
@ -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
|
Loading…
Add table
Reference in a new issue