github.com/ghodss/etcd@v0.3.1-0.20140417172404-cc329bfa55cb/scripts/build-release (about) 1 #!/bin/sh -e 2 3 VER=$1 4 5 function build { 6 proj=${1} 7 ver=${2} 8 9 if [ ! -d ${proj} ]; then 10 git clone https://github.com/coreos/${proj} 11 fi 12 13 cd ${proj} 14 git checkout master 15 git fetch --all 16 git reset --hard origin/master 17 git checkout $ver 18 ./build 19 cd - 20 } 21 22 function package { 23 proj=${1} 24 target=${2} 25 26 ccdir="${proj}/bin/${GOOS}_${GOARCH}" 27 if [ -d ${ccdir} ]; then 28 cp ${ccdir}/${proj}* ${target} 29 else 30 cp ${proj}/bin/${proj} ${target} 31 fi 32 33 cp ${proj}/README.md ${target}/README-${proj}.md 34 } 35 36 37 for i in darwin windows linux; do 38 export GOOS=${i} 39 export GOARCH="amd64" 40 41 build etcd ${VER} 42 build etcdctl ${VER} 43 44 TARGET="etcd-${VER}-${GOOS}-${GOARCH}" 45 mkdir ${TARGET} 46 47 package etcd ${TARGET} 48 package etcdctl ${TARGET} 49 50 if [ ${GOOS} == "linux" ]; then 51 tar cvvfz ${TARGET}.tar.gz ${TARGET} 52 else 53 zip -r ${TARGET}.zip ${TARGET} 54 fi 55 done