Home | History | Annotate | Download | only in PREBUILT
      1 #! /bin/bash
      2 
      3 set -e
      4 
      5 printusage() {
      6     echo "Usage: ./download-libs.sh <robolectric-version> " >&2
      7     echo "    -f <old-directory-to-copy-from>" >&2
      8     exit 1
      9 }
     10 
     11 oldVersion=""
     12 roboVersion="$1"
     13 shift
     14 
     15 while getopts "f:h" opt; do
     16     case "$opt" in
     17         f)
     18             oldVersion="$OPTARG"
     19             ;;
     20         h)
     21             printusage
     22             ;;
     23     esac
     24 done
     25 
     26 if [[ -z $roboVersion ]] || [[ -z $oldVersion ]]; then
     27     printusage
     28 fi
     29 
     30 mkdir -p ../"$roboVersion"/PREBUILT
     31 # Copy the scripts into the versioned directory for record
     32 cp download-libs.sh ../"$roboVersion"/PREBUILT/download-libs.sh
     33 cp download-libs.gradle ../"$roboVersion"/PREBUILT/download-libs.gradle
     34 
     35 cd ../"$roboVersion"
     36 gradle -b PREBUILT/download-libs.gradle \
     37     -ProbolectricVersion="$roboVersion" \
     38     -PshadowsVersion="$roboVersion"
     39 
     40 COPY_FROM_OLD_VERSION=(
     41     "java-timeout"
     42     "list_failed.sh"
     43     "report-internal.mk"
     44     "robotest-internal.mk"
     45     "robotest.sh"
     46     "run_robotests.mk"
     47     "wrapper.sh"
     48     "wrapper_test.sh"
     49 )
     50 
     51 for file in "${COPY_FROM_OLD_VERSION[@]}"; do
     52     cp -n ../"$oldVersion"/$file ./$file
     53 done
     54 
     55 cat <<EOF > Android.mk
     56 LOCAL_PATH:= \$(call my-dir)
     57 
     58 ############################
     59 # Adding the Robolectric .JAR prebuilts from this directory into a single target.
     60 # This is the one you probably want.
     61 include \$(CLEAR_VARS)
     62 
     63 LOCAL_STATIC_JAVA_LIBRARIES := \\
     64     platform-robolectric-${roboVersion}-annotations \\
     65     platform-robolectric-${roboVersion}-junit \\
     66     platform-robolectric-${roboVersion}-multidex \\
     67     platform-robolectric-${roboVersion}-resources \\
     68     platform-robolectric-${roboVersion}-sandbox \\
     69     platform-robolectric-${roboVersion}-shadow-api \\
     70     platform-robolectric-${roboVersion}-shadows-framework \\
     71     platform-robolectric-${roboVersion}-shadows-httpclient \\
     72     platform-robolectric-${roboVersion}-snapshot \\
     73     platform-robolectric-${roboVersion}-utils
     74 
     75 LOCAL_MODULE := platform-robolectric-${roboVersion}-prebuilt
     76 
     77 LOCAL_SDK_VERSION := current
     78 
     79 include \$(BUILD_STATIC_JAVA_LIBRARY)
     80 
     81 ############################
     82 # Defining the target names for the static prebuilt .JARs.
     83 include \$(CLEAR_VARS)
     84 
     85 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \\
     86     platform-robolectric-${roboVersion}-annotations:lib/annotations-${roboVersion}.jar \\
     87     platform-robolectric-${roboVersion}-junit:lib/junit-${roboVersion}.jar \\
     88     platform-robolectric-${roboVersion}-resources:lib/resources-${roboVersion}.jar \\
     89     platform-robolectric-${roboVersion}-sandbox:lib/sandbox-${roboVersion}.jar \\
     90     platform-robolectric-${roboVersion}-shadow-api:lib/shadowapi-${roboVersion}.jar \\
     91     platform-robolectric-${roboVersion}-snapshot:lib/robolectric-${roboVersion}.jar \\
     92     platform-robolectric-${roboVersion}-utils:lib/utils-${roboVersion}.jar \\
     93     platform-robolectric-${roboVersion}-multidex:lib/shadows-multidex-${roboVersion}.jar \\
     94     platform-robolectric-${roboVersion}-shadows-framework:lib/shadows-framework-${roboVersion}.jar \\
     95     platform-robolectric-${roboVersion}-shadows-httpclient:lib/shadows-httpclient-${roboVersion}.jar
     96 
     97 include \$(BUILD_MULTI_PREBUILT)
     98 EOF
     99 
    100 set +e
    101