1*e074118cSAndroid Build Coastguard Worker#!/bin/bash 2*e074118cSAndroid Build Coastguard Worker# 3*e074118cSAndroid Build Coastguard Worker# Copyright 2023 The Android Open Source Project. 4*e074118cSAndroid Build Coastguard Worker# 5*e074118cSAndroid Build Coastguard Worker# Retrieves the current mockito-kotlin source code into the current directory 6*e074118cSAndroid Build Coastguard Worker 7*e074118cSAndroid Build Coastguard Worker# Force stop on first error. 8*e074118cSAndroid Build Coastguard Workerset -e 9*e074118cSAndroid Build Coastguard Worker 10*e074118cSAndroid Build Coastguard Workerif [ $# -ne 1 ]; then 11*e074118cSAndroid Build Coastguard Worker echo "$0 <version>" >&2 12*e074118cSAndroid Build Coastguard Worker exit 1; 13*e074118cSAndroid Build Coastguard Workerfi 14*e074118cSAndroid Build Coastguard Worker 15*e074118cSAndroid Build Coastguard Workerif [ -z "$ANDROID_BUILD_TOP" ]; then 16*e074118cSAndroid Build Coastguard Worker echo "Missing environment variables. Did you run build/envsetup.sh and lunch?" >&2 17*e074118cSAndroid Build Coastguard Worker exit 1 18*e074118cSAndroid Build Coastguard Workerfi 19*e074118cSAndroid Build Coastguard Worker 20*e074118cSAndroid Build Coastguard WorkerVERSION=${1} 21*e074118cSAndroid Build Coastguard Worker 22*e074118cSAndroid Build Coastguard WorkerSOURCE="git://github.com/mockito/mockito-kotlin.git" 23*e074118cSAndroid Build Coastguard WorkerINCLUDE=" 24*e074118cSAndroid Build Coastguard Worker LICENSE 25*e074118cSAndroid Build Coastguard Worker mockito-kotlin/src/main 26*e074118cSAndroid Build Coastguard Worker " 27*e074118cSAndroid Build Coastguard Worker 28*e074118cSAndroid Build Coastguard Workerworking_dir="$(mktemp -d)" 29*e074118cSAndroid Build Coastguard Workertrap "echo \"Removing temporary directory\"; rm -rf $working_dir" EXIT 30*e074118cSAndroid Build Coastguard Worker 31*e074118cSAndroid Build Coastguard Workerecho "Fetching mockito-kotlin source into $working_dir" 32*e074118cSAndroid Build Coastguard Workergit clone $SOURCE $working_dir/source 33*e074118cSAndroid Build Coastguard Worker(cd $working_dir/source; git checkout $VERSION) 34*e074118cSAndroid Build Coastguard Worker 35*e074118cSAndroid Build Coastguard Workerfor include in ${INCLUDE}; do 36*e074118cSAndroid Build Coastguard Worker echo "Updating $include" 37*e074118cSAndroid Build Coastguard Worker rm -rf $include 38*e074118cSAndroid Build Coastguard Worker mkdir -p $(dirname $include) 39*e074118cSAndroid Build Coastguard Worker cp -R $working_dir/source/$include $include 40*e074118cSAndroid Build Coastguard Workerdone; 41*e074118cSAndroid Build Coastguard Worker 42*e074118cSAndroid Build Coastguard Workerecho "Done" 43*e074118cSAndroid Build Coastguard Worker 44*e074118cSAndroid Build Coastguard Worker# Update the version. 45*e074118cSAndroid Build Coastguard Workerperl -pi -e "s|^Version: .*$|Version: ${VERSION}|" "README.version" 46*e074118cSAndroid Build Coastguard Worker 47*e074118cSAndroid Build Coastguard Worker# Remove any documentation about local modifications. 48*e074118cSAndroid Build Coastguard Workermv README.version README.tmp 49*e074118cSAndroid Build Coastguard Workergrep -B 100 "Local Modifications" README.tmp > README.version 50*e074118cSAndroid Build Coastguard Workerecho " None" >> README.version 51*e074118cSAndroid Build Coastguard Workerrm README.tmp 52*e074118cSAndroid Build Coastguard Worker 53*e074118cSAndroid Build Coastguard Workerecho "Done" 54