You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
994 B
34 lines
994 B
#!/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
|
|
|