#! /bin/bash set -e printusage() { echo "Usage: ./download-libs.sh " >&2 echo " -f " >&2 exit 1 } oldVersion="" roboVersion="$1" shift while getopts "f:h" opt; do case "$opt" in f) oldVersion="$OPTARG" ;; h) printusage ;; esac done if [[ -z $roboVersion ]] || [[ -z $oldVersion ]]; then printusage fi mkdir -p ../"$roboVersion"/PREBUILT # Copy the scripts into the versioned directory for record cp download-libs.sh ../"$roboVersion"/PREBUILT/download-libs.sh cp download-libs.gradle ../"$roboVersion"/PREBUILT/download-libs.gradle cd ../"$roboVersion" gradle -b PREBUILT/download-libs.gradle \ -ProbolectricVersion="$roboVersion" \ -PshadowsVersion="$roboVersion" COPY_FROM_OLD_VERSION=( "java-timeout" "list_failed.sh" "report-internal.mk" "robotest-internal.mk" "robotest.sh" "run_robotests.mk" "wrapper.sh" "wrapper_test.sh" ) for file in "${COPY_FROM_OLD_VERSION[@]}"; do cp -n ../"$oldVersion"/$file ./$file done cat < Android.mk LOCAL_PATH:= \$(call my-dir) ############################ # Adding the Robolectric .JAR prebuilts from this directory into a single target. # This is the one you probably want. include \$(CLEAR_VARS) LOCAL_STATIC_JAVA_LIBRARIES := \\ platform-robolectric-${roboVersion}-annotations \\ platform-robolectric-${roboVersion}-asm \\ platform-robolectric-${roboVersion}-junit \\ platform-robolectric-${roboVersion}-resources \\ platform-robolectric-${roboVersion}-sandbox \\ platform-robolectric-${roboVersion}-shadow-api \\ platform-robolectric-${roboVersion}-shadows-framework \\ platform-robolectric-${roboVersion}-shadows-httpclient \\ platform-robolectric-${roboVersion}-shadows-multidex \\ platform-robolectric-${roboVersion}-shadows-support-v4 \\ platform-robolectric-${roboVersion}-snapshot \\ platform-robolectric-${roboVersion}-utils LOCAL_MODULE := platform-robolectric-${roboVersion}-prebuilt LOCAL_SDK_VERSION := current include \$(BUILD_STATIC_JAVA_LIBRARY) ############################ # Defining the target names for the static prebuilt .JARs. prebuilts := \\ platform-robolectric-${roboVersion}-annotations:lib/annotations-${roboVersion}.jar \\ platform-robolectric-${roboVersion}-asm:lib/asm-6.0.jar \\ platform-robolectric-${roboVersion}-junit:lib/junit-${roboVersion}.jar \\ platform-robolectric-${roboVersion}-resources:lib/resources-${roboVersion}.jar \\ platform-robolectric-${roboVersion}-sandbox:lib/sandbox-${roboVersion}.jar \\ platform-robolectric-${roboVersion}-shadow-api:lib/shadowapi-${roboVersion}.jar \\ platform-robolectric-${roboVersion}-shadows-framework:lib/shadows-framework-${roboVersion}.jar \\ platform-robolectric-${roboVersion}-shadows-httpclient:lib/shadows-httpclient-${roboVersion}.jar \\ platform-robolectric-${roboVersion}-shadows-multidex:lib/shadows-multidex-${roboVersion}.jar \\ platform-robolectric-${roboVersion}-shadows-support-v4:lib/shadows-supportv4-${roboVersion}.jar \\ platform-robolectric-${roboVersion}-snapshot:lib/robolectric-${roboVersion}.jar \\ platform-robolectric-${roboVersion}-utils:lib/utils-${roboVersion}.jar define define-prebuilt \$(eval tw := \$(subst :, ,\$(strip \$(1)))) \\ \$(eval include \$(CLEAR_VARS)) \\ \$(eval LOCAL_MODULE := \$(word 1,\$(tw))) \\ \$(eval LOCAL_MODULE_TAGS := optional) \\ \$(eval LOCAL_MODULE_CLASS := JAVA_LIBRARIES) \\ \$(eval LOCAL_SRC_FILES := \$(word 2,\$(tw))) \\ \$(eval LOCAL_UNINSTALLABLE_MODULE := true) \\ \$(eval LOCAL_SDK_VERSION := current) \\ \$(eval include \$(BUILD_PREBUILT)) endef \$(foreach p,\$(prebuilts),\\ \$(call define-prebuilt,\$(p))) prebuilts := EOF set +e