#!/bin/bash set -e -o pipefail # This script copies a locally built GOROOT to a remote device. # # Usage: push_goroot ... # # 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)/goroot" for target in "$@" do echo -n "pushing goroot to ${target} ... " target_sh ${target} "rm -rf ${goroot}" target_sh ${target} "mkdir -p ${goroot}/pkg" cd "$(go_${target} env GOROOT)" pkgdir="pkg/$(go_${target} env GOOS)_$(go_${target} env GOARCH)" target_cp "${pkgdir}" ${target}:${goroot}/pkg target_cp "src" ${target}:${goroot} target_cp "lib" ${target}:${goroot} [[ -d test ]] && target_cp "test" ${target}:${goroot} echo "done" done