Paul Duffin | 15625bc | 2017-03-15 15:12:51 +0000 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | # |
| 3 | # Copyright 2017 The Android Open Source Project. |
| 4 | # |
| 5 | # Retrieves the current Dexmaker to source code into the current directory, excluding portions related |
| 6 | # to mockito's internal build system and javadoc. |
| 7 | |
| 8 | # Force stop on first error. |
| 9 | set -e |
| 10 | |
| 11 | if [ $# -ne 1 ]; then |
| 12 | echo "$0 <version>" >&2 |
| 13 | exit 1; |
| 14 | fi |
| 15 | |
| 16 | if [ -z "$ANDROID_BUILD_TOP" ]; then |
| 17 | echo "Missing environment variables. Did you run build/envsetup.sh and lunch?" >&2 |
| 18 | exit 1 |
| 19 | fi |
| 20 | |
| 21 | VERSION=${1} |
| 22 | |
| 23 | SOURCE="https://github.com/linkedin/dexmaker" |
| 24 | INCLUDE=" |
| 25 | LICENSE |
Philip P. Moltmann | ba6302d | 2018-06-05 21:12:53 +0000 | [diff] [blame] | 26 | |
Paul Duffin | 15625bc | 2017-03-15 15:12:51 +0000 | [diff] [blame] | 27 | dexmaker |
| 28 | dexmaker-mockito |
Philip P. Moltmann | 04793db | 2018-06-05 12:34:55 -0700 | [diff] [blame] | 29 | dexmaker-mockito-inline |
Philip P. Moltmann | ba6302d | 2018-06-05 21:12:53 +0000 | [diff] [blame] | 30 | dexmaker-mockito-inline-extended |
| 31 | |
Philip P. Moltmann | 04793db | 2018-06-05 12:34:55 -0700 | [diff] [blame] | 32 | dexmaker-mockito-inline-dispatcher |
Philip P. Moltmann | ba6302d | 2018-06-05 21:12:53 +0000 | [diff] [blame] | 33 | |
| 34 | dexmaker-tests |
| 35 | dexmaker-mockito-tests |
| 36 | dexmaker-mockito-inline-tests |
| 37 | dexmaker-mockito-inline-extended-tests |
Paul Duffin | 15625bc | 2017-03-15 15:12:51 +0000 | [diff] [blame] | 38 | " |
| 39 | |
| 40 | EXCLUDE=" |
| 41 | " |
| 42 | |
| 43 | working_dir="$(mktemp -d)" |
| 44 | trap "echo \"Removing temporary directory\"; rm -rf $working_dir" EXIT |
| 45 | |
| 46 | echo "Fetching Dexmaker source into $working_dir" |
| 47 | git clone $SOURCE $working_dir/source |
Philip P. Moltmann | 171f097 | 2017-11-20 09:38:54 -0800 | [diff] [blame] | 48 | ORG_DIR=$(pwd) |
| 49 | cd $working_dir/source |
| 50 | git checkout $VERSION |
| 51 | SHA=$(git rev-parse $VERSION) |
| 52 | cd $ORG_DIR |
Paul Duffin | 15625bc | 2017-03-15 15:12:51 +0000 | [diff] [blame] | 53 | |
| 54 | for include in ${INCLUDE}; do |
| 55 | echo "Updating $include" |
| 56 | rm -rf $include |
| 57 | mkdir -p $(dirname $include) |
| 58 | cp -R $working_dir/source/$include $include |
| 59 | done; |
| 60 | |
| 61 | for exclude in ${EXCLUDE}; do |
| 62 | echo "Excluding $exclude" |
| 63 | rm -r $exclude |
| 64 | done; |
| 65 | |
Philip P. Moltmann | 171f097 | 2017-11-20 09:38:54 -0800 | [diff] [blame] | 66 | # Remove 3rd party code |
| 67 | rm -r dexmaker-mockito-inline/external |
Paul Duffin | 15625bc | 2017-03-15 15:12:51 +0000 | [diff] [blame] | 68 | |
| 69 | echo "Updating README.version" |
| 70 | |
| 71 | # Update the version. |
Philip P. Moltmann | 171f097 | 2017-11-20 09:38:54 -0800 | [diff] [blame] | 72 | perl -pi -e "s|^Version: .*$|Version: ${VERSION} (${SHA})|" "README.version" |
Paul Duffin | 15625bc | 2017-03-15 15:12:51 +0000 | [diff] [blame] | 73 | |
| 74 | # Remove any documentation about local modifications. |
| 75 | mv README.version README.tmp |
| 76 | grep -B 100 "Local Modifications" README.tmp > README.version |
| 77 | echo " None" >> README.version |
| 78 | rm README.tmp |
| 79 | |
| 80 | echo "Done" |