blob: d0b433c5a44eafaf6c9326cf9c4c75b4f117b9c4 [file] [log] [blame]
#!/bin/sh
set -e
### Ensure >= go1.5 is installed.
go_ver_str="$(go version | cut -d ' ' -f 3)"
go_ver="${go_ver_str#go}"
go_maj="${go_ver%.*}"
go_min="${go_ver#*.}"
if [ ! "$go_maj" -gt 1 ] && [ ! "$go_min" -ge 5 ]
then
printf "* Error: go 1.5 or later is required (detected version: %s)\n" \
"$go_maj"."$go_min"
exit 1
fi
### Create a temporary go tree in /tmp.
installdir="$(realpath "$(dirname "$0")")"
godir="$(mktemp -d /tmp/mynewt.XXXXXXXXXX)"
mynewtdir="$godir"/src/mynewt.apache.org
repodir="$mynewtdir"/newt
newtdir="$repodir"/newt
dstfile="$installdir"/newt/newt
mkdir -p "$mynewtdir"
ln -s "$installdir" "$repodir"
### Build newt.
(
cd "$newtdir"
printf "Building newt. This may take a minute...\n"
GOPATH="$godir" GO15VENDOREXPERIMENT=1 go install
mv "$godir"/bin/newt "$dstfile"
printf "Successfully built executable: %s\n" "$dstfile"
)
### Delete the temporary directory.
rm -r "$godir"