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