Home | History | Annotate | Download | only in scripts
      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