1*ceffa222STreehugger Robot#!/bin/bash 2*ceffa222STreehugger Robot# 3*ceffa222STreehugger Robot# Copyright 2013 The Android Open Source Project. 4*ceffa222STreehugger Robot# 5*ceffa222STreehugger Robot# Retrieves the current Mockito source code into the current directory, excluding portions related 6*ceffa222STreehugger Robot# to mockito's internal build system and javadoc. 7*ceffa222STreehugger Robot 8*ceffa222STreehugger Robot# Force stop on first error. 9*ceffa222STreehugger Robotset -e 10*ceffa222STreehugger Robot 11*ceffa222STreehugger Robotif [ $# -ne 1 ]; then 12*ceffa222STreehugger Robot echo "$0 <version>" >&2 13*ceffa222STreehugger Robot exit 1; 14*ceffa222STreehugger Robotfi 15*ceffa222STreehugger Robot 16*ceffa222STreehugger Robotif [ -z "$ANDROID_BUILD_TOP" ]; then 17*ceffa222STreehugger Robot echo "Missing environment variables. Did you run build/envsetup.sh and lunch?" >&2 18*ceffa222STreehugger Robot exit 1 19*ceffa222STreehugger Robotfi 20*ceffa222STreehugger Robot 21*ceffa222STreehugger RobotVERSION=${1} 22*ceffa222STreehugger Robot 23*ceffa222STreehugger RobotSOURCE="git://github.com/mockito/mockito.git" 24*ceffa222STreehugger RobotINCLUDE=" 25*ceffa222STreehugger Robot LICENSE 26*ceffa222STreehugger Robot src 27*ceffa222STreehugger Robot subprojects/android 28*ceffa222STreehugger Robot subprojects/inline 29*ceffa222STreehugger Robot " 30*ceffa222STreehugger Robot 31*ceffa222STreehugger RobotEXCLUDE=" 32*ceffa222STreehugger Robot src/conf 33*ceffa222STreehugger Robot src/javadoc 34*ceffa222STreehugger Robot " 35*ceffa222STreehugger Robot 36*ceffa222STreehugger Robotworking_dir="$(mktemp -d)" 37*ceffa222STreehugger Robottrap "echo \"Removing temporary directory\"; rm -rf $working_dir" EXIT 38*ceffa222STreehugger Robot 39*ceffa222STreehugger Robotecho "Fetching Mockito source into $working_dir" 40*ceffa222STreehugger Robotgit clone $SOURCE $working_dir/source 41*ceffa222STreehugger Robot(cd $working_dir/source; git checkout $VERSION) 42*ceffa222STreehugger Robot 43*ceffa222STreehugger Robotfor include in ${INCLUDE}; do 44*ceffa222STreehugger Robot echo "Updating $include" 45*ceffa222STreehugger Robot rm -rf $include 46*ceffa222STreehugger Robot mkdir -p $(dirname $include) 47*ceffa222STreehugger Robot cp -R $working_dir/source/$include $include 48*ceffa222STreehugger Robotdone; 49*ceffa222STreehugger Robot 50*ceffa222STreehugger Robotfor exclude in ${EXCLUDE}; do 51*ceffa222STreehugger Robot echo "Excluding $exclude" 52*ceffa222STreehugger Robot rm -r $exclude 53*ceffa222STreehugger Robotdone; 54*ceffa222STreehugger Robot 55*ceffa222STreehugger Robotecho "Done" 56*ceffa222STreehugger Robot 57*ceffa222STreehugger Robot# Update the version. 58*ceffa222STreehugger Robotperl -pi -e "s|^Version: .*$|Version: ${VERSION}|" "README.version" 59*ceffa222STreehugger Robot 60*ceffa222STreehugger Robot# Remove any documentation about local modifications. 61*ceffa222STreehugger Robotmv README.version README.tmp 62*ceffa222STreehugger Robotgrep -B 100 "Local Modifications" README.tmp > README.version 63*ceffa222STreehugger Robotecho " None" >> README.version 64*ceffa222STreehugger Robotrm README.tmp 65*ceffa222STreehugger Robot 66*ceffa222STreehugger Robotecho "Done" 67