xref: /aosp_15_r20/prebuilts/misc/common/robolectric/update-script/download-libs.sh (revision 847dbab7980efcc7f5706bb9c6d844b91a680afd)
1#! /bin/bash
2
3set -e
4
5printusage() {
6    echo "Usage: ./download-libs.sh <robolectric-version> " >&2
7    echo "    -f <old-directory-to-copy-from>" >&2
8    exit 1
9}
10
11oldVersion=""
12roboVersion="$1"
13shift
14
15while getopts "f:h" opt; do
16    case "$opt" in
17        f)
18            oldVersion="$OPTARG"
19            ;;
20        h)
21            printusage
22            ;;
23    esac
24done
25
26if [[ -z $roboVersion ]] || [[ -z $oldVersion ]]; then
27    printusage
28fi
29
30mkdir -p ../"$roboVersion"/PREBUILT
31# Copy the scripts into the versioned directory for record
32cp download-libs.sh ../"$roboVersion"/PREBUILT/download-libs.sh
33cp download-libs.gradle ../"$roboVersion"/PREBUILT/download-libs.gradle
34
35cd ../"$roboVersion"
36gradle -b PREBUILT/download-libs.gradle \
37    -ProbolectricVersion="$roboVersion" \
38    -PshadowsVersion="$roboVersion" \
39    -PbuildDir="`pwd`"
40
41COPY_FROM_OLD_VERSION=(
42    "java-timeout"
43    "list_failed.sh"
44    "report-internal.mk"
45    "robotest-internal.mk"
46    "robotest.sh"
47    "run_robotests.mk"
48    "wrapper.sh"
49    "wrapper_test.sh"
50)
51
52JARS=$(ls -1 lib/*.jar | sed 's/^.*$/        "&",/')
53
54for file in "${COPY_FROM_OLD_VERSION[@]}"; do
55    cp -n ../"$oldVersion"/$file ./$file
56done
57
58cat <<EOF > Android.bp
59package {
60    default_applicable_licenses: ["Android-Apache-2.0"],
61}
62
63java_import {
64    name: "platform-robolectric-${roboVersion}-prebuilt",
65    sdk_version: "current",
66    jars: [
67${JARS}
68    ],
69    exclude_files: [
70        "META-INF/*.SF",
71        "META-INF/*.DSA",
72        "META-INF/*.RSA",
73    ],
74}
75
76EOF
77
78set +e
79