• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/bash
2
3# Quick script used to setup Eclipse for the ADT plugin build.
4#
5# usage:
6#   setup_eclipse.sh [-p] <dest_dir>
7#   -p: run Eclipse in the background and print its PID in dest_dir/eclipse.pid
8#
9# Workflow:
10# - downloads & unpack Eclipse if necessary
11# - *runs* it once
12
13
14#-----------------
15#
16# Note: right now this is invoked by sdk/eclipse/doBuild.sh
17# and it *MUST* be invoked with the following destination directory:
18#
19# $ setup_eclipse.sh /buildbot/eclipse-android/3.4.0/
20#
21#-----------------
22
23
24set -e # abort this script early if any command fails
25
26function die() {
27  echo $@
28  exit 1
29}
30
31V="--no-verbose"
32if [[ "$1" == "-v" ]]; then
33  V=""
34  shift
35fi
36
37if [[ "-p" == "$1" ]]; then
38  GET_PID="-p"
39  shift
40fi
41
42
43BASE_DIR="$1"
44
45[[ -n "$1" ]] || die "Usage: $0 <dest-dir>"
46
47# URL for Eclipse Linux RCP.
48DOWNLOAD_URL="http://archive.eclipse.org/technology/epp/downloads/release/helios/SR2/eclipse-rcp-helios-SR2-linux-gtk-x86_64.tar.gz"
49
50# URL for CDT
51CDT_DOWNLOAD_URL="http://download.eclipse.org/tools/cdt/releases/helios/dist/cdt-master-7.0.2.zip"
52
53BIN="$BASE_DIR/eclipse/eclipse"           # path to installed binary
54TARGZ="$BASE_DIR/${DOWNLOAD_URL##*/}"     # base dir + filename of the download URL
55CDTZIP="$BASE_DIR/${CDT_DOWNLOAD_URL##*/}"
56
57if [[ ! -f "$BIN" ]]; then
58  echo "Downloading and installing Eclipse in $BASE_DIR."
59  mkdir -p "$BASE_DIR"
60
61  wget --continue $V --output-document="$TARGZ" "$DOWNLOAD_URL"
62  echo "Unpacking $TARGZ"
63  (cd "$BASE_DIR" && tar xzf "$TARGZ")
64
65  wget --continue $V --output-document="$CDTZIP" "$CDT_DOWNLOAD_URL"
66  echo "Unpacking $CDTZIP"
67  (cd "$BASE_DIR/eclipse" && unzip -o "$CDTZIP")
68
69  echo
70  echo "*** WARNING: To setup Eclipse correctly, it must be ran at least once manually"
71  echo "***          Eclipse will now start."
72  echo
73  if [[ -n "$GET_PID" ]]; then
74    # if started from the automatic eclipse build, run Eclipse in the background
75    "$BIN" &
76    ECLIPSE_PID=$!
77    echo "*** Eclipse started in background with PID $ECLIPSE_PID"
78    echo "$ECLIPSE_PID" > "$BASE_DIR"/eclipse.pid
79    sleep 5  # give some time for Eclipse to start and setup its environment
80  else
81    # if started manually, run Eclipse in the foreground
82    "$BIN"
83  fi
84fi
85
86