#!/bin/bash
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

if [[ $# -ne 1 && $# -ne 2 ]]; then
  cat <<'EOF'
Usage: remote_adb_setup REMOTE_HOST [REMOTE_ADB]

Configures adb on a remote machine to communicate with a device attached to the
local machine. This is useful for installing APKs, running tests, etc while
working remotely.

Arguments:
  REMOTE_HOST  hostname of remote machine
  REMOTE_ADB   path to adb on the remote machine (you can omit this if adb is in
               the remote host's path)
EOF
  exit 1
fi

remote_host="$1"
remote_adb="${2:-adb}"

# Ensure adb is in the local machine's path.
if ! which adb >/dev/null; then
  echo "error: adb must be in your local machine's path."
  exit 1
fi

if which kinit >/dev/null; then
  # Allow ssh to succeed without typing your password multiple times.
  kinit -R || kinit
fi

# Kill the adb server on the remote host.
ssh "$remote_host" "$remote_adb kill-server"

# Start the adb server locally.
adb start-server

# Forward various ports from the remote host to the local host:
#   5037: adb
# and from the local host to the remote host:
#   9998: http server for Sky
#   31840: http server for the local mojo: origin
ssh -C \
    -R 5037:127.0.0.1:5037 \
    -L 9998:127.0.0.1:9998 \
    -L 31840:127.0.0.1:31840 \
    "$remote_host"
