#!/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)/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
