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