blob: ff7cc6674825a29fdec5b245b60206ff752fe1ee [file] [log] [blame]
Paul Duffin15625bc2017-03-15 15:12:51 +00001#!/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.
9set -e
10
11if [ $# -ne 1 ]; then
12 echo "$0 <version>" >&2
13 exit 1;
14fi
15
16if [ -z "$ANDROID_BUILD_TOP" ]; then
17 echo "Missing environment variables. Did you run build/envsetup.sh and lunch?" >&2
18 exit 1
19fi
20
21VERSION=${1}
22
23SOURCE="https://github.com/linkedin/dexmaker"
24INCLUDE="
25 LICENSE
26 dexmaker
27 dexmaker-mockito
Philip P. Moltmann171f0972017-11-20 09:38:54 -080028 dexmaker-mockito-tests
29 dexmaker-mockito-inline
30 dexmaker-mockito-inline-dispatcher
31 dexmaker-mockito-inline-tests/src
Paul Duffin15625bc2017-03-15 15:12:51 +000032 dexmaker-tests/src
33 "
34
35EXCLUDE="
36 "
37
38working_dir="$(mktemp -d)"
39trap "echo \"Removing temporary directory\"; rm -rf $working_dir" EXIT
40
41echo "Fetching Dexmaker source into $working_dir"
42git clone $SOURCE $working_dir/source
Philip P. Moltmann171f0972017-11-20 09:38:54 -080043ORG_DIR=$(pwd)
44cd $working_dir/source
45git checkout $VERSION
46SHA=$(git rev-parse $VERSION)
47cd $ORG_DIR
Paul Duffin15625bc2017-03-15 15:12:51 +000048
49for include in ${INCLUDE}; do
50 echo "Updating $include"
51 rm -rf $include
52 mkdir -p $(dirname $include)
53 cp -R $working_dir/source/$include $include
54done;
55
56for exclude in ${EXCLUDE}; do
57 echo "Excluding $exclude"
58 rm -r $exclude
59done;
60
61# Move the dexmaker-tests AndroidManifest.xml into the correct position.
62mv dexmaker-tests/src/main/AndroidManifest.xml dexmaker-tests/AndroidManifest.xml
Philip P. Moltmann171f0972017-11-20 09:38:54 -080063mv dexmaker-mockito-tests/src/main/AndroidManifest.xml dexmaker-mockito-tests/AndroidManifest.xml
64mv dexmaker-mockito-inline-tests/src/main/AndroidManifest.xml dexmaker-mockito-inline-tests/AndroidManifest.xml
65
66# Remove 3rd party code
67rm -r dexmaker-mockito-inline/external
Paul Duffin15625bc2017-03-15 15:12:51 +000068
69echo "Updating README.version"
70
71# Update the version.
Philip P. Moltmann171f0972017-11-20 09:38:54 -080072perl -pi -e "s|^Version: .*$|Version: ${VERSION} (${SHA})|" "README.version"
Paul Duffin15625bc2017-03-15 15:12:51 +000073
74# Remove any documentation about local modifications.
75mv README.version README.tmp
76grep -B 100 "Local Modifications" README.tmp > README.version
77echo " None" >> README.version
78rm README.tmp
79
80echo "Done"