155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project#!/bin/bash 255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 3aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbye# build script for eclipse adt build on the Linux and Mac platforms 455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# 515a72769c88031145d275948318d56a827ff68c8Raphael Moll# Usage: sdk/eclipse/scripts/build_plugins <build_version> 655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# 755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# It expects environment variable ECLIPSE_HOME to be defined to point to _your_ 855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# version of Eclipse RCP (must have the WTP & GEF plugins available too.) 955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# 1055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# If ECLIPSE_HOME is not provided, this script will _download_ a reference version 1155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# of Eclipse RCP and install it in a specific location. 1215a72769c88031145d275948318d56a827ff68c8Raphael Moll# 1355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# Other properties, ant scripts that drive the build are defined in ./buildConfig 1455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# Currently, this script will create an update site at ${user.home}/www/no_crawl/android-build 1555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# or at the directory specified using "-d" 1655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 1755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# Known Issues: 1855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# - Build does not properly clean up after itself (build server always executes from 1955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# a clean state.) 2055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# - Script will fail if current absolute path has spaces in it. 21aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbye# - Only linux and OSX are supported for now 2215a72769c88031145d275948318d56a827ff68c8Raphael Moll# - Do NOT manually invoke this script. Instead use the build_server.sh wrapper 2315a72769c88031145d275948318d56a827ff68c8Raphael Moll# which does some extra preliminary steps (it builds a few libs needed here.) 2455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 2555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 2655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectset -e # abort this script early if any command fails 2755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 2855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# 2955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# -- Utility methods -- 3015a72769c88031145d275948318d56a827ff68c8Raphael Moll# 3155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 3255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectfunction printUsage() { 3355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "Usage: $0 <build_qualifier> [-i] [-d <destination-directory>] [-a <archivePrefix>] " 3455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "<build_qualifier>: build qualifier string" 3555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "-i = build internal site. Otherwise, external site will be built" 3655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "-d = destination directory. Default is $USER/www/no_crawl/. Cannot contain spaces." 3755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "-a = archive prefix. Cannot contain spaces." 3855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project} 3955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 4055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectfunction die() { 4155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo $@ 4255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project exit 1 4355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project} 4455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 4555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectfunction dieWithUsage() { 4655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo $@ 4755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo 4855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project printUsage 4955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project exit 1 5055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project} 5155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 5255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 5355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# 5455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# -- Setup our custom version of Eclipse -- 5555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# 5655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 5755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# The dependency on the linux platform comes from a series of environment 5855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# variables that the eclipse ant runner expects. These are defined in the 5955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# build.properties file. We can easily support other platforms but would need 6055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# to override those values in this script. 6155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source ProjectHOST=`uname` 62aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbyeif [ "$HOST" == "Linux" ]; then 63aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbye BASEOS=linux 64aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbye BASEWS=gtk 65aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbye BASEARCH=x86 66aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbyeelif [ "$HOST" == "Darwin" ]; then 67aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbye BASEOS=macosx 68aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbye BASEWS=cocoa 69aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbye BASEARCH=x86 70aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbyeelse 71aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbye die "ERROR: This script is currently only supported on Linux and MacOSX." 72aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbyefi 73aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbye 7455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 75f1d64e2975451e3bbbcd2e62a03a717308db500aRaphael# Make sure this runs from the sdk/eclipse plugin. 7655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source ProjectD=`dirname "$0"` 7755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectcd "$D/.." 78f1d64e2975451e3bbbcd2e62a03a717308db500aRaphael[ `basename "$PWD"` == "eclipse" ] || dieWithUsage "Please run this script from the sdk/eclipse directory" 7955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 8055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# check for number of parameters 8155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project[ $# -lt 1 ] && dieWithUsage "ERROR: Not enough parameters" 8255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 8355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# check if ECLIPSE_HOME set (ECLIPSE_HOME is were the "eclipse" binary and the 8455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# "plugins" sub-directory are located) 8555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectif [ -z "$ECLIPSE_HOME" ]; then 8655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project BASE_DIR=/buildbot/eclipse-android 8755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 8855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "ECLIPSE_HOME not set, using $BASE_DIR as default" 8955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 9055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project if [ ! -d "$BASE_DIR" ]; then 9155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project mkdir -p "$BASE_DIR" || die "Please create a directory $BASE_DIR where Eclipse will be installed, i.e. execute 'mkdir -p $BASE_DIR && chown $USER $BASE_DIR'." 9255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project fi 9355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 9455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project # download the version if not available 959c014a83a44a2a09e138d4fa9d70893fdc8ce400Raphael VERSION="3.6.2" 9655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project BASE_DIR="$BASE_DIR/$VERSION" 9755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project scripts/setup_eclipse.sh -p "$BASE_DIR" 9855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 9955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project ECLIPSE_HOME="$BASE_DIR/eclipse" # path to installed directory 10055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project PID_FILE="$BASE_DIR/eclipse.pid" 10155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project [ -f "$PID_FILE" ] && ECLIPSE_PID=`cat "$PID_FILE"` 10255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectfi 10355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 10455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectecho "PWD=`pwd`" 10555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectecho "ECLIPSE_HOME=$ECLIPSE_HOME" 10655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 10755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# 10855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# -- Site parameters and Build version -- 10955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# 11055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 11155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source ProjectBUILD_VERSION="$1" ; shift 11255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 11355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# parse for build internal site flag. If set, pass in internalSite property to ant scripts 11455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectif [ "-i" == "$1" ]; then 11555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project shift 11655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "Setting for internal site build" 11755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project SITE_PARAM="-DinternalSite=1 -DupdateSiteSource=$PWD/sites/internal" 11855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectelse 11955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project SITE_PARAM="-DupdateSiteSource=$PWD/sites/external" 12055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectfi 12155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 12255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectif [ "-d" == $1 ]; then 12355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project shift 12455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "Setting destination directory to $1" 12555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project SITE_PARAM="$SITE_PARAM -DupdateSiteRoot=$1" 12655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project shift 12755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectfi 12855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 12955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectif [ "-a" == "$1" ]; then 13055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project shift 13155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "Setting archivePrefix to $1" 13255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project SITE_PARAM="$SITE_PARAM -DarchivePrefix=$1" 13355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project shift 13455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectfi 13555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 13655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 13755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# 13855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# -- Configuration directory -- 13955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# 14055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 14155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# The "configuration directory" will hold the workspace for this build. 14255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# If it contains old data the build may fail so we need to clean it first 14355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# and create it if it doesn't exist. 14455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source ProjectCONFIG_DIR="../../../out/eclipse-configuration-$BUILD_VERSION" 14555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project[ -d "$CONFIG_DIR" ] && rm -rfv "$CONFIG_DIR" 14655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectmkdir -p "$CONFIG_DIR" 14755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 14855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# The "buildConfig" directory contains our customized ant rules 14955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source ProjectBUILDCONFIG="$PWD/buildConfig" 15055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 15155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 15255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# 15355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# -- Find Eclipse Launcher -- 15455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# 15555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 15655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# Get the Eclipse launcher and build script to use 15755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectfunction findFirst() { 15855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project for i in "$@"; do 15955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project if [ -f "$i" ]; then 16055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "$i" 16155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project return 16255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project fi 16355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project done 16455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project} 16555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 16655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source ProjectLAUNCHER=`findFirst "$ECLIPSE_HOME"/plugins/org.eclipse.equinox.launcher_*.jar` 16755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source ProjectBUILDFILE=`findFirst "$ECLIPSE_HOME"/plugins/org.eclipse.pde.build_*/scripts/build.xml` 16855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 16955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# make sure we found valid files 17055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectif [ ! -f "$LAUNCHER" ]; then 17155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "Installation Error: Eclipse plugin org.eclipse.equinox.launcher...jar not detected. " \ 17255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project "Found '$LAUNCHER'. Aborting." 17355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project exit 1 17455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectfi 17555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectif [ ! -f "$BUILDFILE" ]; then 17655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "Installation Error: Eclipse build file org.eclipse.pde.build_.../scripts/build.xml " \ 17755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project "not detected. Found '$BUILDFILE'. Aborting." 17855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project exit 1 17955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectfi 18055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 181581b1e36c0363da17c2568118c08bff040aab920Tor Norbye# 182581b1e36c0363da17c2568118c08bff040aab920Tor Norbye# Ensure that the src dir exists since it's empty 183581b1e36c0363da17c2568118c08bff040aab920Tor Norbye# 1843275196176731150a5aa088d9d56b64d99f5dfa4Raphaelmkdir -p $PWD/plugins/com.android.ide.eclipse.adt.overlay/src 18555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 18655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# 18755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# -- Print configuration used and actually execute the build -- 18855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# 18955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 19055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectecho "Eclipse configuration found:" 19155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectecho " Eclipse Home: $ECLIPSE_HOME" 19255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectecho " Launcher: $LAUNCHER" 19355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectecho " Build File: $BUILDFILE" 19455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectecho " Build Config: $BUILDCONFIG" 19555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectecho " Config Dir: $CONFIG_DIR" 1969c014a83a44a2a09e138d4fa9d70893fdc8ce400Raphaelecho " Java: " $(which java) 1979c014a83a44a2a09e138d4fa9d70893fdc8ce400Raphaeljava -version 19855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 19955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# clean input directories to make sure there's nothing left from previous run 20055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 20155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectrm -fv *.properties *.xml 20255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectfind . -name "@*" | xargs rm -rfv 20355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 20455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# Now execute the ant runner 20555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 20658af29178216fafaf0f19d3aac0f74b733503e29Raphael Mollset +e # don't stop on errors anymore, we want to catch them here 2079c014a83a44a2a09e138d4fa9d70893fdc8ce400Raphaelset -x 208aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbye 20955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectjava \ 21055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project -jar $LAUNCHER \ 21155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project -data "$CONFIG_DIR" \ 21255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project -configuration "$CONFIG_DIR" \ 21355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project -application org.eclipse.ant.core.antRunner \ 21455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project -buildfile $BUILDFILE \ 21555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project -Dbuilder=$BUILDCONFIG \ 21655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project -DbuildDirectory=$PWD \ 21755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project -DforceContextQualifier=$BUILD_VERSION \ 21855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project -DECLIPSE_HOME=$ECLIPSE_HOME \ 219aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbye -Dbaseos=$BASEOS \ 220aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbye -Dbasews=$BASEWS \ 221aa80cb71bbff31f0646f6ffe78fe5c291b9d2cc3Tor Norbye -Dbasearch=$BASEARCH \ 22255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project $SITE_PARAM 22355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source ProjectRESULT=$? 2249c014a83a44a2a09e138d4fa9d70893fdc8ce400Raphaelset +x 22555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 22655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectif [ "0" != "$RESULT" ]; then 22755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "JAVA died with error code $RESULT" 22855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "Dump of build config logs:" 22955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project for i in "$CONFIG_DIR"/*.log; do 23055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project if [ -f "$i" ]; then 23155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "----------------------" 23255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "--- $i" 23355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo "----------------------" 23455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project cat "$i" 23555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project echo 23655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project fi 23755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project done 23855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectfi 23955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 24055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# 24155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# -- Cleanup 24255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# 24355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 24455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectif [ -n "$ECLIPSE_PID" ] && [ -f "$PID_FILE" ]; then 24555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project rm -fv "$PID_FILE" 24655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project kill -9 "$ECLIPSE_PID" 24755a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectfi 24855a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 2499eed21e1e09e18f053030dfb21f3c5a7316847eaRaphael Moll# Remove build files left by Eclipse all behind 2509eed21e1e09e18f053030dfb21f3c5a7316847eaRaphael Mollrm -fv *.properties *.xml 2519eed21e1e09e18f053030dfb21f3c5a7316847eaRaphael Mollfind . -name "@*" | xargs rm -rfv 2529eed21e1e09e18f053030dfb21f3c5a7316847eaRaphael Moll 2539eed21e1e09e18f053030dfb21f3c5a7316847eaRaphael Moll 25455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project# we're done! 255