xref: /aosp_15_r20/external/objenesis/update_source.sh (revision 7181e2660d4ca83872eb23293fdced5fc95e6a42)
1*7181e266SAndroid Build Coastguard Worker#!/bin/bash
2*7181e266SAndroid Build Coastguard Worker#
3*7181e266SAndroid Build Coastguard Worker# Copyright 2013 The Android Open Source Project.
4*7181e266SAndroid Build Coastguard Worker#
5*7181e266SAndroid Build Coastguard Worker# Retrieves the current Objenesis source code into the current directory.
6*7181e266SAndroid Build Coastguard Worker# Does not create a GIT commit.
7*7181e266SAndroid Build Coastguard Worker
8*7181e266SAndroid Build Coastguard Worker# Force stop on first error.
9*7181e266SAndroid Build Coastguard Workerset -e
10*7181e266SAndroid Build Coastguard Worker
11*7181e266SAndroid Build Coastguard Workerif [ $# -ne 1 ]; then
12*7181e266SAndroid Build Coastguard Worker    echo "$0 <version>" >&2
13*7181e266SAndroid Build Coastguard Worker    exit 1;
14*7181e266SAndroid Build Coastguard Workerfi
15*7181e266SAndroid Build Coastguard Worker
16*7181e266SAndroid Build Coastguard Workerif [ -z "$ANDROID_BUILD_TOP" ]; then
17*7181e266SAndroid Build Coastguard Worker    echo "Missing environment variables. Did you run build/envsetup.sh and lunch?" >&2
18*7181e266SAndroid Build Coastguard Worker    exit 1
19*7181e266SAndroid Build Coastguard Workerfi
20*7181e266SAndroid Build Coastguard Worker
21*7181e266SAndroid Build Coastguard WorkerVERSION=${1}
22*7181e266SAndroid Build Coastguard Worker
23*7181e266SAndroid Build Coastguard WorkerSOURCE="https://github.com/easymock/objenesis"
24*7181e266SAndroid Build Coastguard WorkerINCLUDE="
25*7181e266SAndroid Build Coastguard Worker    LICENSE.txt
26*7181e266SAndroid Build Coastguard Worker    main
27*7181e266SAndroid Build Coastguard Worker    tck
28*7181e266SAndroid Build Coastguard Worker    tck-android
29*7181e266SAndroid Build Coastguard Worker    "
30*7181e266SAndroid Build Coastguard Worker
31*7181e266SAndroid Build Coastguard WorkerEXCLUDE="
32*7181e266SAndroid Build Coastguard Worker    main/.settings/
33*7181e266SAndroid Build Coastguard Worker    tck-android/.settings
34*7181e266SAndroid Build Coastguard Worker    tck-android/lint.xml
35*7181e266SAndroid Build Coastguard Worker    tck-android/project.properties
36*7181e266SAndroid Build Coastguard Worker    "
37*7181e266SAndroid Build Coastguard Worker
38*7181e266SAndroid Build Coastguard Workerworking_dir="$(mktemp -d)"
39*7181e266SAndroid Build Coastguard Worker#trap "echo \"Removing temporary directory\"; rm -rf $working_dir" EXIT
40*7181e266SAndroid Build Coastguard Worker
41*7181e266SAndroid Build Coastguard Workerecho "Fetching Objenesis source into $working_dir"
42*7181e266SAndroid Build Coastguard Workergit clone $SOURCE $working_dir/source
43*7181e266SAndroid Build Coastguard Worker(cd $working_dir/source; git checkout $VERSION)
44*7181e266SAndroid Build Coastguard Worker
45*7181e266SAndroid Build Coastguard Workerfor include in ${INCLUDE}; do
46*7181e266SAndroid Build Coastguard Worker  echo "Updating $include"
47*7181e266SAndroid Build Coastguard Worker  rm -rf $include
48*7181e266SAndroid Build Coastguard Worker  cp -R $working_dir/source/$include .
49*7181e266SAndroid Build Coastguard Workerdone;
50*7181e266SAndroid Build Coastguard Worker
51*7181e266SAndroid Build Coastguard Workerfor exclude in ${EXCLUDE}; do
52*7181e266SAndroid Build Coastguard Worker  echo "Excluding $exclude"
53*7181e266SAndroid Build Coastguard Worker  rm -r $exclude
54*7181e266SAndroid Build Coastguard Workerdone;
55*7181e266SAndroid Build Coastguard Worker
56*7181e266SAndroid Build Coastguard Worker# Move the tck-android AndroidManifest.xml into the correct position.
57*7181e266SAndroid Build Coastguard Workermv tck-android/src/main/AndroidManifest.xml tck-android/AndroidManifest.xml
58*7181e266SAndroid Build Coastguard Worker
59*7181e266SAndroid Build Coastguard Worker# Update the version and binary JAR URL.
60*7181e266SAndroid Build Coastguard Workerperl -pi -e "s|^Version: .*$|Version: ${VERSION}|" "README.version"
61*7181e266SAndroid Build Coastguard Worker
62*7181e266SAndroid Build Coastguard Worker# Remove any documentation about local modifications.
63*7181e266SAndroid Build Coastguard Workermv README.version README.tmp
64*7181e266SAndroid Build Coastguard Workergrep -B 100 "Local Modifications" README.tmp > README.version
65*7181e266SAndroid Build Coastguard Workerecho "        None" >> README.version
66*7181e266SAndroid Build Coastguard Workerrm README.tmp
67*7181e266SAndroid Build Coastguard Worker
68*7181e266SAndroid Build Coastguard Workerecho "Done"
69