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