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