diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2008-12-17 18:04:04 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2008-12-17 18:04:04 -0800 |
commit | 9ca1c0b33cc3fc28c21a915730797ec01e71a152 (patch) | |
tree | 86a5d0cea812248b02df654e925f55915e47bdf7 /eclipse/scripts | |
parent | 1506a206c0a5e3b593c4c61a62b8805b64e98daf (diff) | |
download | sdk-9ca1c0b33cc3fc28c21a915730797ec01e71a152.zip sdk-9ca1c0b33cc3fc28c21a915730797ec01e71a152.tar.gz sdk-9ca1c0b33cc3fc28c21a915730797ec01e71a152.tar.bz2 |
Code drop from //branches/cupcake/...@124589
Diffstat (limited to 'eclipse/scripts')
-rwxr-xr-x | eclipse/scripts/build_plugins.sh | 225 | ||||
-rwxr-xr-x | eclipse/scripts/build_server.sh | 17 | ||||
-rwxr-xr-x | eclipse/scripts/create_adt_symlinks.sh | 60 | ||||
-rwxr-xr-x | eclipse/scripts/create_all_symlinks.sh | 27 | ||||
-rwxr-xr-x | eclipse/scripts/create_bridge_symlinks.sh | 51 | ||||
-rwxr-xr-x | eclipse/scripts/create_common_symlinks.sh | 42 | ||||
-rwxr-xr-x | eclipse/scripts/create_ddms_symlinks.sh | 114 | ||||
-rwxr-xr-x | eclipse/scripts/create_editors_symlinks.sh | 39 | ||||
-rwxr-xr-x | eclipse/scripts/create_test_symlinks.sh | 56 | ||||
-rw-r--r-- | eclipse/scripts/update_version.sh | 37 |
10 files changed, 442 insertions, 226 deletions
diff --git a/eclipse/scripts/build_plugins.sh b/eclipse/scripts/build_plugins.sh new file mode 100755 index 0000000..5f94ca0 --- /dev/null +++ b/eclipse/scripts/build_plugins.sh @@ -0,0 +1,225 @@ +#!/bin/bash + +# build script for eclipse adt build on linux platform +# +# Usage: development/tools/eclipse/scripts/build_plugins <build_version> +# +# It expects environment variable ECLIPSE_HOME to be defined to point to _your_ +# version of Eclipse RCP (must have the WTP & GEF plugins available too.) +# +# If ECLIPSE_HOME is not provided, this script will _download_ a reference version +# of Eclipse RCP and install it in a specific location. +# +# Other properties, ant scripts that drive the build are defined in ./buildConfig +# Currently, this script will create an update site at ${user.home}/www/no_crawl/android-build +# or at the directory specified using "-d" + +# Known Issues: +# - Build does not properly clean up after itself (build server always executes from +# a clean state.) +# - Script will fail if current absolute path has spaces in it. +# - Only linux is supported for now + + +set -e # abort this script early if any command fails + +# +# -- Utility methods -- +# + +function printUsage() { + echo "Usage: $0 <build_qualifier> [-i] [-d <destination-directory>] [-a <archivePrefix>] " + echo "<build_qualifier>: build qualifier string" + echo "-i = build internal site. Otherwise, external site will be built" + echo "-d = destination directory. Default is $USER/www/no_crawl/. Cannot contain spaces." + echo "-a = archive prefix. Cannot contain spaces." +} + +function die() { + echo $@ + exit 1 +} + +function dieWithUsage() { + echo $@ + echo + printUsage + exit 1 +} + + +# +# -- Setup our custom version of Eclipse -- +# + +# The dependency on the linux platform comes from a series of environment +# variables that the eclipse ant runner expects. These are defined in the +# build.properties file. We can easily support other platforms but would need +# to override those values in this script. +HOST=`uname` +[ "$HOST" == "Linux" ] || die "ERROR: This script is currently only supported on Linux platform" + +# Make sure this runs from the tools/eclipse plugin. +D=`dirname "$0"` +cd "$D/.." +[ `basename "$PWD"` == "eclipse" ] || dieWithUsage "Please run this script from the device/tools/eclipse directory" + +# check for number of parameters +[ $# -lt 1 ] && dieWithUsage "ERROR: Not enough parameters" + +# check if ECLIPSE_HOME set (ECLIPSE_HOME is were the "eclipse" binary and the +# "plugins" sub-directory are located) +if [ -z "$ECLIPSE_HOME" ]; then + BASE_DIR=/buildbot/eclipse-android + + echo "ECLIPSE_HOME not set, using $BASE_DIR as default" + + if [ ! -d "$BASE_DIR" ]; then + 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'." + fi + + # download the version if not available + VERSION="3.4.0" + BASE_DIR="$BASE_DIR/$VERSION" + scripts/setup_eclipse.sh -p "$BASE_DIR" + + ECLIPSE_HOME="$BASE_DIR/eclipse" # path to installed directory + PID_FILE="$BASE_DIR/eclipse.pid" + [ -f "$PID_FILE" ] && ECLIPSE_PID=`cat "$PID_FILE"` +fi + +echo "PWD=`pwd`" +echo "ECLIPSE_HOME=$ECLIPSE_HOME" + +# +# -- Site parameters and Build version -- +# + +BUILD_VERSION="$1" ; shift + +# parse for build internal site flag. If set, pass in internalSite property to ant scripts +if [ "-i" == "$1" ]; then + shift + echo "Setting for internal site build" + SITE_PARAM="-DinternalSite=1 -DupdateSiteSource=$PWD/sites/internal" +else + SITE_PARAM="-DupdateSiteSource=$PWD/sites/external" +fi + +if [ "-d" == $1 ]; then + shift + echo "Setting destination directory to $1" + SITE_PARAM="$SITE_PARAM -DupdateSiteRoot=$1" + shift +fi + +if [ "-a" == "$1" ]; then + shift + echo "Setting archivePrefix to $1" + SITE_PARAM="$SITE_PARAM -DarchivePrefix=$1" + shift +fi + + +# +# -- Configuration directory -- +# + +# The "configuration directory" will hold the workspace for this build. +# If it contains old data the build may fail so we need to clean it first +# and create it if it doesn't exist. +CONFIG_DIR="../../../out/eclipse-configuration-$BUILD_VERSION" +[ -d "$CONFIG_DIR" ] && rm -rfv "$CONFIG_DIR" +mkdir -p "$CONFIG_DIR" + +# The "buildConfig" directory contains our customized ant rules +BUILDCONFIG="$PWD/buildConfig" + + +# +# -- Find Eclipse Launcher -- +# + +# Get the Eclipse launcher and build script to use +function findFirst() { + for i in "$@"; do + if [ -f "$i" ]; then + echo "$i" + return + fi + done +} + +LAUNCHER=`findFirst "$ECLIPSE_HOME"/plugins/org.eclipse.equinox.launcher_*.jar` +BUILDFILE=`findFirst "$ECLIPSE_HOME"/plugins/org.eclipse.pde.build_*/scripts/build.xml` + +# make sure we found valid files +if [ ! -f "$LAUNCHER" ]; then + echo "Installation Error: Eclipse plugin org.eclipse.equinox.launcher...jar not detected. " \ + "Found '$LAUNCHER'. Aborting." + exit 1 +fi +if [ ! -f "$BUILDFILE" ]; then + echo "Installation Error: Eclipse build file org.eclipse.pde.build_.../scripts/build.xml " \ + "not detected. Found '$BUILDFILE'. Aborting." + exit 1 +fi + + +# +# -- Print configuration used and actually execute the build -- +# + +echo "Eclipse configuration found:" +echo " Eclipse Home: $ECLIPSE_HOME" +echo " Launcher: $LAUNCHER" +echo " Build File: $BUILDFILE" +echo " Build Config: $BUILDCONFIG" +echo " Config Dir: $CONFIG_DIR" + +# clean input directories to make sure there's nothing left from previous run + +rm -fv *.properties *.xml +find . -name "@*" | xargs rm -rfv + +# Now execute the ant runner + +set +e # don't stop on errors anymore, we want to catch there here + +java \ + -jar $LAUNCHER \ + -data "$CONFIG_DIR" \ + -configuration "$CONFIG_DIR" \ + -application org.eclipse.ant.core.antRunner \ + -buildfile $BUILDFILE \ + -Dbuilder=$BUILDCONFIG \ + -DbuildDirectory=$PWD \ + -DforceContextQualifier=$BUILD_VERSION \ + -DECLIPSE_HOME=$ECLIPSE_HOME \ + $SITE_PARAM +RESULT=$? + +if [ "0" != "$RESULT" ]; then + echo "JAVA died with error code $RESULT" + echo "Dump of build config logs:" + for i in "$CONFIG_DIR"/*.log; do + if [ -f "$i" ]; then + echo "----------------------" + echo "--- $i" + echo "----------------------" + cat "$i" + echo + fi + done +fi + +# +# -- Cleanup +# + +if [ -n "$ECLIPSE_PID" ] && [ -f "$PID_FILE" ]; then + rm -fv "$PID_FILE" + kill -9 "$ECLIPSE_PID" +fi + +# we're done! diff --git a/eclipse/scripts/build_server.sh b/eclipse/scripts/build_server.sh index e30dbb8..39c8dcd 100755 --- a/eclipse/scripts/build_server.sh +++ b/eclipse/scripts/build_server.sh @@ -46,9 +46,10 @@ function die() { } function check_params() { - # This needs to run from //device - [ `basename "$PWD"` == "device" ] || \ - die "Please execute $0 from the //device directory, not $PWD" + # This needs to run from the top android directory + # Automatically CD to the top android directory, whatever its name + D=`dirname "$0"` + cd "$D/../../../../" && echo "Switched to directory $PWD" # The current Eclipse build has some Linux dependency in its config files [ `uname` == "Linux" ] || die "This must run from a Linux box." @@ -60,14 +61,12 @@ function check_params() { function build_libs() { MAKE_OPT="-j8" - echo "*** Building: make $MAKE_OPT dx ping ddms jarutils androidprefs layoutlib_api" - make $MAKE_OPT dx ping ddms jarutils androidprefs layoutlib_api layoutlib_utils + echo "*** Building: make $MAKE_OPT dx ping ddms jarutils androidprefs layoutlib_api ninepatch sdklib sdkuilib" + make $MAKE_OPT dx ping ddms jarutils androidprefs layoutlib_api layoutlib_utils ninepatch sdklib sdkuilib } function build_plugin { - cd tools/eclipse/scripts - ./create_all_symlinks.sh - cd .. # cd back to tools/eclipse + development/tools/eclipse/scripts/create_all_symlinks.sh # Qualifier is "v" followed by date/time in YYYYMMDDHHSS format and the optional # build number. @@ -90,7 +89,7 @@ function build_plugin { [ -d "$DEST_DIR/$BUILD_PREFIX" ] || rm -rfv "$DEST_DIR/$BUILD_PREFIX" # Perform the Eclipse build and move the result in $DEST_DIR/android-build - ./doBuild.sh $QUALIFIER $INTERNAL_BUILD -d "$DEST_DIR" -a "$BUILD_PREFIX" + development/tools/eclipse/scripts/build_plugins.sh $QUALIFIER $INTERNAL_BUILD -d "$DEST_DIR" -a "$BUILD_PREFIX" # Cleanup [ -d "$QUALIFIER" ] && rm -rfv "$QUALIFIER" diff --git a/eclipse/scripts/create_adt_symlinks.sh b/eclipse/scripts/create_adt_symlinks.sh index 4974432..557c4d9 100755 --- a/eclipse/scripts/create_adt_symlinks.sh +++ b/eclipse/scripts/create_adt_symlinks.sh @@ -1,42 +1,50 @@ #!/bin/bash function die() { - echo "Error: $*" - exit 1 + echo "Error: $*" + exit 1 } set -e # fail early -# This may run either from the //device directory or from the -# eclipse/script directory. Allow for both. -D="device/tools/eclipse/scripts" -[ -d "$D" ] && cd "$D" -[ -d "../$D" ] && cd "../$D" +# CD to the top android directory +D=`dirname "$0"` +cd "$D/../../../../" + +DEST="development/tools/eclipse/plugins/com.android.ide.eclipse.adt" +# computes "../.." from DEST to here (in /android) +BACK=`echo $DEST | sed 's@[^/]*@..@g'` + +LIBS="sdkstats jarutils androidprefs layoutlib_api layoutlib_utils ninepatch sdklib sdkuilib" + +echo "make java libs ..." +make -j3 showcommands $LIBS || die "ADT: Fail to build one of $LIBS." + +echo "Copying java libs to $DEST" -cd ../plugins/com.android.ide.eclipse.adt HOST=`uname` if [ "$HOST" == "Linux" ]; then - ln -svf ../../../../out/host/linux-x86/framework/jarutils.jar . - ln -svf ../../../../out/host/linux-x86/framework/androidprefs.jar . + for LIB in $LIBS; do + ln -svf $BACK/out/host/linux-x86/framework/$LIB.jar "$DEST/" + done + ln -svf $BACK/out/host/linux-x86/framework/kxml2-2.3.0.jar "$DEST/" + elif [ "$HOST" == "Darwin" ]; then - ln -svf ../../../../out/host/darwin-x86/framework/jarutils.jar . - ln -svf ../../../../out/host/darwin-x86/framework/androidprefs.jar . -elif [ "${HOST:0:6}" == "CYGWIN" ]; then + for LIB in $LIBS; do + ln -svf $BACK/out/host/darwin-x86/framework/$LIB.jar "$DEST/" + done + ln -svf $BACK/out/host/darwin-x86/framework/kxml2-2.3.0.jar "$DEST/" - DEVICE_DIR="../../../.." - echo "make java libs ..." - ( cd "$DEVICE_DIR" && - make -j3 showcommands jarutils androidprefs ) || \ - die "Define javac and retry." +elif [ "${HOST:0:6}" == "CYGWIN" ]; then + for LIB in $LIBS; do + cp -vf out/host/windows-x86/framework/$LIB.jar "$DEST/" + done - for DIR in "$PWD" ; do - echo "Copying java libs to $DIR" - for JAR in jarutils.jar androidprefs.jar ; do - cp -vf "$DEVICE_DIR/out/host/windows-x86/framework/$JAR" "$DIR" - done - done + if [ ! -f "$DEST/kxml2-2.3.0.jar" ]; then + cp -v "prebuilt/common/kxml2/kxml2-2.3.0.jar" "$DEST/" + fi - chmod a+rx *.jar + chmod -v a+rx "$DEST"/*.jar else - echo "Unsupported platform ($HOST). Nothing done." + echo "Unsupported platform ($HOST). Nothing done." fi diff --git a/eclipse/scripts/create_all_symlinks.sh b/eclipse/scripts/create_all_symlinks.sh index fc9766f..8508343 100755 --- a/eclipse/scripts/create_all_symlinks.sh +++ b/eclipse/scripts/create_all_symlinks.sh @@ -3,30 +3,25 @@ echo "### $0 executing" function die() { - echo "Error: $*" - exit 1 + echo "Error: $*" + exit 1 } -D="device/tools/eclipse/scripts" -if [ -d "../$D" ]; then - cd "../$D" -else - [ "${PWD: -28}" == "$D" ] || die "Please execute this from the $D directory" -fi +# CD to the top android directory +D=`dirname "$0"` +cd "$D/../../../../" + +DEST="development/tools/eclipse/scripts" set -e # fail early echo ; echo "### ADT ###" ; echo -./create_adt_symlinks.sh "$*" -echo ; echo "### COMMON ###" ; echo -./create_common_symlinks.sh "$*" -echo ; echo "### EDITORS ###" ; echo -./create_editors_symlinks.sh "$*" +$DEST/create_adt_symlinks.sh "$*" echo ; echo "### DDMS ###" ; echo -./create_ddms_symlinks.sh "$*" +$DEST/create_ddms_symlinks.sh "$*" echo ; echo "### TEST ###" ; echo -./create_test_symlinks.sh "$*" +$DEST/create_test_symlinks.sh "$*" echo ; echo "### BRIDGE ###" ; echo -./create_bridge_symlinks.sh "$*" +$DEST/create_bridge_symlinks.sh "$*" echo "### $0 done" diff --git a/eclipse/scripts/create_bridge_symlinks.sh b/eclipse/scripts/create_bridge_symlinks.sh index f01a89e..605ef63 100755 --- a/eclipse/scripts/create_bridge_symlinks.sh +++ b/eclipse/scripts/create_bridge_symlinks.sh @@ -1,47 +1,38 @@ #!/bin/bash function die() { - echo "Error: $*" - exit 1 + echo "Error: $*" + exit 1 } set -e # fail early -# This may run either from the //device directory or from the -# eclipse/script directory. Allow for both. -D="device/tools/eclipse/scripts" -[ -d "$D" ] && cd "$D" -[ -d "../$D" ] && cd "../$D" - -cd ../../layoutlib +# CD to the top android directory +D=`dirname "$0"` +cd "$D/../../../../" HOST=`uname` if [ "$HOST" == "Linux" ]; then - echo # nothing to do + echo # nothing to do + elif [ "$HOST" == "Darwin" ]; then - echo # nothing to do + echo # nothing to do + elif [ "${HOST:0:6}" == "CYGWIN" ]; then - if [ "x$1" == "x" ]; then - echo "Usage: $0 sdk/tools/lib/" - echo "Argument 1 should be the path to the jars you want to copy. " - echo " e.g. android_sdk_windows_NNN/tools/lib/ " - echo "This will be used to update layout.lib after it has been built here." - exit 1 - fi + if [ "x$1" == "x" ] || [ `basename "$1"` != "layoutlib.jar" ]; then + echo "Usage: $0 sdk/platforms/xxx/data/layoutlib.jar" + echo "Argument 1 should be the path to the layoutlib.jar that should be updated." + exit 1 + fi - DEVICE_DIR="../../" - echo "make java libs ..." - ( cd "$DEVICE_DIR" && - make -j3 showcommands layoutlib ninepatch ) || \ - die "Define javac and retry." + LIBS="layoutlib ninepatch" + echo "Make java libs: $LIBS" + make -j3 showcommands $LIBS || die "Bridge: Failed to build one of $LIBS." - for DIR in "$PWD" "$1" ; do - echo "Copying java libs to $DIR" - for JAR in ninepatch.jar layoutlib.jar ; do - cp -vf "$DEVICE_DIR/out/host/windows-x86/framework/$JAR" "$DIR" - done - done + echo "Updating your SDK in $1" + cp -vf "out/host/windows-x86/framework/layoutlib.jar" "$1" + chmod -v a+rx "$1" else - echo "Unsupported platform ($HOST). Nothing done." + echo "Unsupported platform ($HOST). Nothing done." fi diff --git a/eclipse/scripts/create_common_symlinks.sh b/eclipse/scripts/create_common_symlinks.sh deleted file mode 100755 index 7726afc..0000000 --- a/eclipse/scripts/create_common_symlinks.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash -function die() { - echo "Error: $*" - exit 1 -} - -set -e # fail early - -# This may run either from the //device directory or from the -# eclipse/script directory. Allow for both. -D="device/tools/eclipse/scripts" -[ -d "$D" ] && cd "$D" -[ -d "../$D" ] && cd "../$D" - -cd ../plugins/com.android.ide.eclipse.common -HOST=`uname` -if [ "$HOST" == "Linux" ]; then - ln -svf ../../../../out/host/linux-x86/framework/sdkstats.jar . - ln -svf ../../../../out/host/linux-x86/framework/androidprefs.jar . -elif [ "$HOST" == "Darwin" ]; then - ln -svf ../../../../out/host/darwin-x86/framework/sdkstats.jar . - ln -svf ../../../../out/host/darwin-x86/framework/androidprefs.jar . -elif [ "${HOST:0:6}" == "CYGWIN" ]; then - - DEVICE_DIR="../../../.." - echo "make java libs ..." - ( cd "$DEVICE_DIR" && - make -j3 sdkstats androidprefs ) || \ - die "Define javac and retry." - - for DIR in "$PWD" ; do - echo "Copying java libs to $DIR" - for JAR in sdkstats.jar androidprefs.jar ; do - cp -vf "$DEVICE_DIR/out/host/windows-x86/framework/$JAR" "$DIR" - chmod a+rx "$DIR/$JAR" - done - done - -else - echo "Unsupported platform ($HOST). Nothing done." -fi - diff --git a/eclipse/scripts/create_ddms_symlinks.sh b/eclipse/scripts/create_ddms_symlinks.sh index 5b2e45b..276cf9b 100755 --- a/eclipse/scripts/create_ddms_symlinks.sh +++ b/eclipse/scripts/create_ddms_symlinks.sh @@ -4,58 +4,76 @@ # Run this from device/tools/eclipse/scripts #----------------------------------------------------------------------------| -CMD="ln -svf" -DIR="ln -svf" +set -e + HOST=`uname` if [ "${HOST:0:6}" == "CYGWIN" ]; then - CMD="cp -rvf" - DIR="rsync -avW --delete-after" + # We can't use symlinks under Cygwin + + function cpfile { # $1=dest $2=source + cp -fv $2 $1/ + } + + function cpdir() { # $1=dest $2=source + rsync -avW --delete-after $2 $1 + } + +else + # For all other systems which support symlinks + + # computes the "reverse" path, e.g. "a/b/c" => "../../.." + function back() { + echo $1 | sed 's@[^/]*@..@g' + } + + function cpfile { # $1=dest $2=source + ln -svf `back $1`/$2 $1/ + } + + function cpdir() { # $1=dest $2=source + ln -svf `back $1`/$2 $1 + } fi -cd ../plugins/com.android.ide.eclipse.ddms -mkdir -p libs -cd libs -$CMD ../../../../../prebuilt/common/jfreechart/jcommon-1.0.12.jar . -$CMD ../../../../../prebuilt/common/jfreechart/jfreechart-1.0.9.jar . -$CMD ../../../../../prebuilt/common/jfreechart/jfreechart-1.0.9-swt.jar . - -cd ../src/com/android -$DIR ../../../../../../ddms/libs/ddmlib/src/com/android/ddmlib . -$DIR ../../../../../../ddms/libs/ddmuilib/src/com/android/ddmuilib . - -# goes back to the icons directory -cd ../../../icons/ -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/debug-attach.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/debug-wait.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/debug-error.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/device.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/emulator.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/heap.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/thread.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/empty.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/warning.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/d.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/e.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/i.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/v.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/w.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/add.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/delete.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/edit.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/save.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/push.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/pull.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/clear.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/up.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/down.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/gc.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/halt.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/load.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/importBug.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/play.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/pause.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/forward.png . -$CMD ../../../../ddms/libs/ddmuilib/src/resources/images/backward.png . +# CD to the top android directory +D=`dirname "$0"` +cd "$D/../../../../" + + +BASE="development/tools/eclipse/plugins/com.android.ide.eclipse.ddms" + +DEST=$BASE/libs +mkdir -p $DEST +for i in prebuilt/common/jfreechart/*.jar; do + cpfile $DEST $i +done +DEST=$BASE/src/com/android +mkdir -p $DEST +for i in development/tools/ddms/libs/ddmlib/src/com/android/ddmlib \ + development/tools/ddms/libs/ddmuilib/src/com/android/ddmuilib ; do + cpdir $DEST $i +done +DEST=$BASE/icons +mkdir -p $DEST +for i in \ + add.png \ + backward.png \ + clear.png \ + d.png debug-attach.png debug-error.png debug-wait.png delete.png device.png down.png \ + e.png edit.png empty.png emulator.png \ + forward.png \ + gc.png \ + heap.png halt.png \ + i.png importBug.png \ + load.png \ + pause.png play.png pull.png push.png \ + save.png \ + thread.png \ + up.png \ + v.png \ + w.png warning.png ; do + cpfile $DEST development/tools/ddms/libs/ddmuilib/src/resources/images/$i +done diff --git a/eclipse/scripts/create_editors_symlinks.sh b/eclipse/scripts/create_editors_symlinks.sh deleted file mode 100755 index 2f26ac4..0000000 --- a/eclipse/scripts/create_editors_symlinks.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash -function die() { - echo "Error: $*" - exit 1 -} - -cd ../plugins/com.android.ide.eclipse.editors -HOST=`uname` -if [ "$HOST" == "Linux" ]; then - ln -svf ../../../../out/host/linux-x86/framework/layoutlib_api.jar . - ln -svf ../../../../out/host/linux-x86/framework/layoutlib_utils.jar . - ln -svf ../../../../out/host/linux-x86/framework/kxml2-2.3.0.jar . - ln -svf ../../../../out/host/linux-x86/framework/ninepatch.jar . -elif [ "$HOST" == "Darwin" ]; then - ln -svf ../../../../out/host/darwin-x86/framework/layoutlib_api.jar . - ln -svf ../../../../out/host/darwin-x86/framework/layoutlib_utils.jar . - ln -svf ../../../../out/host/darwin-x86/framework/kxml2-2.3.0.jar . - ln -svf ../../../../out/host/darwin-x86/framework/ninepatch.jar . -elif [ "${HOST:0:6}" == "CYGWIN" ]; then - set -e # fail early - DEVICE_DIR="../../../../" - echo "make java libs ..." - ( cd "$DEVICE_DIR" && - make -j3 showcommands layoutlib_api layoutlib_utils ninepatch ) || \ - die "Define javac and 'make layoutlib_api ninepatch' from device." - - echo "Copying java libs to $PWD" - for JAR in layoutlib_api.jar layoutlib_utils.jar ninepatch.jar ; do - cp -vf "$DEVICE_DIR/out/host/windows-x86/framework/$JAR" . - done - if [ ! -f "./kxml2-2.3.0.jar" ]; then - cp -v $DEVICE_DIR/prebuilt/common/kxml2/kxml2-2.3.0.jar . - chmod -v a+rx *.jar - fi - -else - echo "Unsupported platform ($HOST). Nothing done." -fi - diff --git a/eclipse/scripts/create_test_symlinks.sh b/eclipse/scripts/create_test_symlinks.sh index 110539a..1479e04 100755 --- a/eclipse/scripts/create_test_symlinks.sh +++ b/eclipse/scripts/create_test_symlinks.sh @@ -1,24 +1,48 @@ #!/bin/bash -cd ../plugins/com.android.ide.eclipse.tests + +set -e + +# CD to the top android directory +D=`dirname "$0"` +cd "$D/../../../../" + +# computes relative ".." paths from $1 to here (in /android) +function back() { + echo $1 | sed 's@[^/]*@..@g' +} + +BASE="development/tools/eclipse/plugins/com.android.ide.eclipse.tests" +DEST=$BASE +BACK=`back $DEST` + + HOST=`uname` if [ "$HOST" == "Linux" ]; then - ln -svf ../../../../out/host/linux-x86/framework/kxml2-2.3.0.jar . + DIR="ln -svf" + ln -svf $BACK/out/host/linux-x86/framework/kxml2-2.3.0.jar "$DEST/" + elif [ "$HOST" == "Darwin" ]; then - ln -svf ../../../../out/host/darwin-x86/framework/kxml2-2.3.0.jar . + DIR="ln -svf" + ln -svf $BACK/out/host/darwin-x86/framework/kxml2-2.3.0.jar "$DEST/" + elif [ "${HOST:0:6}" == "CYGWIN" ]; then - if [ "x$1" == "x" ]; then - echo "Usage: $0 <path to jars>" - echo "Argument 1 should be the path to the jars you want to copy. " - echo " e.g. android_sdk_windows_NNN/tools/lib/ " - echo "(since you can't rebuild them under Windows, you need prebuilt ones " - echo " from an SDK drop or a Linux/Mac)" - exit 1 - fi - if [ ! -f "kxml2-2.3.0.jar" ]; then - wget -O "kxml2-2.3.0.jar" "http://internap.dl.sourceforge.net/sourceforge/kxml/kxml2-2.3.0.jar" - chmod a+rx *.jar - fi + DIR="rsync -avW --delete-after" + JAR="kxml2-2.3.0.jar" + if [ ! -f "$DEST/$JAR" ]; then + # Get the jar from ADT if we can, otherwise download it. + if [ -f "$DEST/../com.android.ide.eclipse.adt/$JAR" ]; then + cp "$DEST/../com.android.ide.eclipse.adt/$JAR" "$DEST/$JAR" + else + wget -O "$DEST/$JAR" "http://internap.dl.sourceforge.net/sourceforge/kxml/$JAR" + fi + chmod a+rx "$DEST/$JAR" + fi else - echo "Unsupported platform ($HOST). Nothing done." + echo "Unsupported platform ($HOST). Nothing done." fi +# create link to ddmlib tests +DEST=$BASE/unittests/com/android +BACK=`back $DEST` +$DIR $BACK/development/tools/ddms/libs/ddmlib/tests/src/com/android/ddmlib $DEST/ + diff --git a/eclipse/scripts/update_version.sh b/eclipse/scripts/update_version.sh new file mode 100644 index 0000000..a288965 --- /dev/null +++ b/eclipse/scripts/update_version.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +OLD="$1" +NEW="$2" + +# sanity check in input args +if [ -z "$OLD" ] || [ -z "$NEW" ]; then + cat <<EOF +Usage: $0 <old> <new> +Changes the ADT plugin revision number. +Example: + cd tools/eclipse + scripts/update_version.sh 0.1.2 0.2.3 +EOF + exit 1 +fi + +# sanity check on current dir +if [ `basename "$PWD"` != "eclipse" ]; then + echo "Please run this from tools/eclipse." + exit 1 +fi + +# quote dots for regexps +OLD="${OLD//./\.}" +NEW="${NEW//./\.}" + +# Find all the files with the old pattern, except changes.txt and +# p4 edit them. Skip that if there's no p4 in path. +if which g4 1>/dev/null 2>/dev/null ; then + grep -rl "$OLD" * | grep -E "\.xml$|\.MF$" | xargs -n 5 g4 edit +fi + +# Now find the same files but this time use sed to replace in-place with +# the new pattern. Old files get backuped with the .old extension. +grep -rl "$OLD" * | grep -E "\.xml$|\.MF$" | xargs -n 1 sed -i.old "s/$OLD/$NEW/g" + |