xref: /aosp_15_r20/external/mockito-kotlin/update_source.sh (revision e074118c0c8cdc51eefcdba5562f40e02347a3ee)
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