1 #!/bin/bash 2 3 set -e 4 5 # CD to the top android directory 6 D=`dirname "$0"` 7 cd "$D/../../../" 8 9 function die() { 10 echo "Error: $*" 11 exit 1 12 } 13 14 # computes relative ".." paths from $1 to here (in /android) 15 function back() { 16 echo $1 | sed 's@[^/]*@..@g' 17 } 18 19 HOST=`uname` 20 if [ "${HOST:0:6}" == "CYGWIN" ]; then 21 # We can't use symlinks under Cygwin 22 function cpdir() { # $1=dest $2=source 23 echo "rsync $2 => $1" 24 rsync -avW --delete-after $2 $1 25 } 26 27 else 28 # For all other systems which support symlinks 29 function cpdir() { # $1=dest $2=source 30 ln -svf `back $1`/$2 $1 31 } 32 fi 33 34 BASE="sdk/eclipse/plugins/com.android.ide.eclipse.tests" 35 DEST=$BASE 36 BACK=`back $DEST` 37 38 HOST=`uname` 39 if [ "$HOST" == "Linux" ]; then 40 ln -svf $BACK/out/host/linux-x86/framework/kxml2-2.3.0.jar "$DEST/" 41 ln -svf $BACK/out/host/linux-x86/framework/layoutlib.jar "$DEST/" 42 ln -svf $BACK/out/host/linux-x86/framework/groovy-all-1.7.0.jar "$DEST/" 43 44 elif [ "$HOST" == "Darwin" ]; then 45 ln -svf $BACK/out/host/darwin-x86/framework/kxml2-2.3.0.jar "$DEST/" 46 ln -svf $BACK/out/host/darwin-x86/framework/layoutlib.jar "$DEST/" 47 ln -svf $BACK/out/host/darwin-x86/framework/groovy-all-1.7.0.jar "$DEST/" 48 49 elif [ "${HOST:0:6}" == "CYGWIN" ]; then 50 if [ ! -f "$DEST/kxml2-2.3.0.jar" ]; then 51 cp -v "prebuilt/common/kxml2/kxml2-2.3.0.jar" "$DEST/" 52 fi 53 54 if [ ! -f "$DEST/groovy-all-1.7.0.jar" ]; then 55 cp -v "prebuilt/common/groovy/groovy-all-1.7.0.jar" "$DEST/" 56 fi 57 58 LIBS="layoutlib.jar" 59 NEED_MAKE="yes" 60 for LIB in $LIBS ; do 61 SRCJAR="out/host/windows-x86/framework/$LIB" 62 DSTJAR="$DEST/$LIB" 63 if [[ $NEED_MAKE ]] && ! diff -q "$SRCJAR" "$DSTJAR" >/dev/null ; then 64 MAKE_LIBS="${LIBS//.jar/}" 65 echo "Make java libs: $MAKE_LIBS" 66 make -j3 showcommands $MAKE_LIBS || die "adt-tests: Failed to build one of $LIBS." 67 NEED_MAKE="" 68 fi 69 70 cp -v "$SRCJAR" "$DSTJAR" 71 done 72 73 chmod -v a+rx "$DEST"/*.jar 74 else 75 echo "Unsupported platform ($HOST). Nothing done." 76 fi 77 78 # create link to ddmlib tests 79 DEST=$BASE/unittests/com/android 80 cpdir $DEST sdk/ddms/libs/ddmlib/tests/src/com/android/ddmlib 81 cpdir $DEST sdk/sdkmanager/libs/sdklib/tests/com/android/sdklib 82 83 # Cleanup old obsolete symlink 84 [[ -e $DEST/sdkuilib || -L $DEST/sdkuilib ]] && rm -rfv $DEST/sdkuilib 85 86 DEST=$BASE/unittests/com/android/layoutlib 87 mkdir -p $DEST 88 cpdir $DEST frameworks/base/tools/layoutlib/bridge/tests/com/android/layoutlib/bridge 89 cpdir $DEST frameworks/base/tools/layoutlib/bridge/tests/com/android/layoutlib/testdata 90