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