#!/bin/bash
# Quick script used to setup Eclipse for the ADT plugin build.
#
# usage:
# setup_eclipse.sh [-p] <dest_dir>
# -p: run Eclipse in the background and print its PID in dest_dir/eclipse.pid
#
# Workflow:
# - downloads & unpack Eclipse if necessary
# - *runs* it once
#-----------------
#
# Note: right now this is invoked by sdk/eclipse/doBuild.sh
# and it *MUST* be invoked with the following destination directory:
#
# $ setup_eclipse.sh /buildbot/eclipse-android/3.4.0/
#
#-----------------
set -e # abort this script early if any command fails
function die() {
echo $@
exit 1
}
V="--no-verbose"
if [[ "$1" == "-v" ]]; then
V=""
shift
fi
if [[ "-p" == "$1" ]]; then
GET_PID="-p"
shift
fi
BASE_DIR="$1"
[[ -n "$1" ]] || die "Usage: $0 <dest-dir>"
# URL for Eclipse Linux RCP.
DOWNLOAD_URL="http://download.eclipse.org/technology/epp/downloads/release/helios/SR2/eclipse-rcp-helios-SR2-linux-gtk-x86_64.tar.gz"
# URL for CDT
CDT_DOWNLOAD_URL="http://download.eclipse.org/tools/cdt/releases/helios/dist/cdt-master-7.0.2.zip"
BIN="$BASE_DIR/eclipse/eclipse" # path to installed binary
TARGZ="$BASE_DIR/${DOWNLOAD_URL##*/}" # base dir + filename of the download URL
CDTZIP="$BASE_DIR/${CDT_DOWNLOAD_URL##*/}"
if [[ ! -f "$BIN" ]]; then
echo "Downloading and installing Eclipse in $BASE_DIR."
mkdir -p "$BASE_DIR"
wget --continue $V --output-document="$TARGZ" "$DOWNLOAD_URL"
echo "Unpacking $TARGZ"
(cd "$BASE_DIR" && tar xzf "$TARGZ")
wget --continue $V --output-document="$CDTZIP" "$CDT_DOWNLOAD_URL"
echo "Unpacking $CDTZIP"
(cd "$BASE_DIR/eclipse" && unzip -o "$CDTZIP")
echo
echo "*** WARNING: To setup Eclipse correctly, it must be ran at least once manually"
echo "*** Eclipse will now start."
echo
if [[ -n "$GET_PID" ]]; then
# if started from the automatic eclipse build, run Eclipse in the background
"$BIN" &
ECLIPSE_PID=$!
echo "*** Eclipse started in background with PID $ECLIPSE_PID"
echo "$ECLIPSE_PID" > "$BASE_DIR"/eclipse.pid
sleep 5 # give some time for Eclipse to start and setup its environment
else
# if started manually, run Eclipse in the foreground
"$BIN"
fi
fi