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