34 lines
994 B
Bash
Executable file
34 lines
994 B
Bash
Executable file
#!/bin/bash
|
|
set -e -o pipefail
|
|
|
|
# This script copies a locally built GOROOT to a remote device.
|
|
#
|
|
# Usage: push_goroot <target>...
|
|
#
|
|
# This script can work with both ChromeOS/Android devices.
|
|
#
|
|
# It uses "target_tmpdir" to figure out where to copy GOROOT on the device.
|
|
# It uses "target_sh" to remotely execute commands on the device.
|
|
# It uses "target_cp" to transfer files to the device.
|
|
|
|
goroot="$(target_tmpdir)/go"
|
|
for target in "$@"
|
|
do
|
|
echo -n "pushing to ${target} ... "
|
|
target_sh ${target} "rm -rf ${goroot}"
|
|
target_sh ${target} "mkdir -p ${goroot}/pkg"
|
|
|
|
pkgdir="$(go_${target} env GOOS)_$(go_${target} env GOARCH)"
|
|
if [[ -d "pkg/${pkgdir}_shared" ]]
|
|
then
|
|
target_cp "pkg/${pkgdir}_shared" ${target}:${goroot}/pkg
|
|
target_sh ${target} "ln -s ${pkgdir}_shared ${goroot}/pkg/${pkgdir}"
|
|
else
|
|
target_cp "pkg/${pkgdir}" ${target}:${goroot}/pkg
|
|
fi
|
|
|
|
target_cp "src" ${target}:${goroot}
|
|
target_cp "lib" ${target}:${goroot}
|
|
target_cp "test" ${target}:${goroot}
|
|
echo "done"
|
|
done
|