81c0c7bd4f
* tell git to checkout the right branch, rather than cloning and then changing. * clone with depth 1 under travis, to save time. * less pushd/popd, which print out confusing text - use `cd` in a subshell instead. (and just avoid it where possible). * add some markers to the output to let travis roll it up.
88 lines
2.3 KiB
Bash
Executable file
88 lines
2.3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Fetches the js-sdk and matrix-react-sdk dependencies for development
|
|
# or testing purposes
|
|
# If there exists a branch of that dependency with the same name as
|
|
# the branch the current checkout is on, use that branch. Otherwise,
|
|
# use develop.
|
|
|
|
set -e
|
|
|
|
GIT_CLONE_ARGS=("$@")
|
|
|
|
# Look in the many different CI env vars for which branch we're
|
|
# building
|
|
if [[ "$TRAVIS" == true ]]; then
|
|
curbranch="${TRAVIS_PULL_REQUEST_BRANCH:-$TRAVIS_BRANCH}"
|
|
else
|
|
# ghprbSourceBranch for jenkins github pull request builder
|
|
# GIT_BRANCH for other jenkins builds
|
|
curbranch="${ghprbSourceBranch:-$GIT_BRANCH}"
|
|
# Otherwise look at the actual branch we're on
|
|
if [ -z "$curbranch" ]
|
|
then
|
|
curbranch=`git rev-parse --abbrev-ref HEAD`
|
|
fi
|
|
fi
|
|
|
|
echo "Determined branch to be $curbranch"
|
|
|
|
# clone a specific branch of a github repo
|
|
function clone() {
|
|
org=$1
|
|
repo=$2
|
|
branch=$3
|
|
git clone https://github.com/$org/$repo.git $repo --branch $branch \
|
|
"${GIT_CLONE_ARGS[@]}"
|
|
}
|
|
|
|
function dodep() {
|
|
org=$1
|
|
repo=$2
|
|
rm -rf $repo
|
|
clone $org $repo $curbranch || {
|
|
[ "$curbranch" != 'develop' ] && clone $org $repo develop
|
|
} || return $?
|
|
|
|
(
|
|
cd $repo
|
|
echo "$repo set to branch "`git rev-parse --abbrev-ref HEAD`
|
|
)
|
|
|
|
mkdir -p node_modules
|
|
rm -r "node_modules/$repo" 2>/dev/null || true
|
|
ln -sv "../$repo" node_modules/
|
|
}
|
|
|
|
echo -en 'travis_fold:start:matrix-js-sdk\r'
|
|
echo 'Setting up matrix-js-sdk'
|
|
|
|
dodep matrix-org matrix-js-sdk
|
|
(
|
|
cd node_modules/matrix-js-sdk
|
|
npm install
|
|
)
|
|
|
|
echo -en 'travis_fold:end:matrix-js-sdk\r'
|
|
|
|
echo -en 'travis_fold:start:matrix-react-sdk\r'
|
|
echo 'Setting up matrix-react-sdk'
|
|
|
|
dodep matrix-org matrix-react-sdk
|
|
|
|
mkdir -p node_modules/matrix-react-sdk/node_modules
|
|
ln -s ../../matrix-js-sdk node_modules/matrix-react-sdk/node_modules/
|
|
|
|
(
|
|
cd node_modules/matrix-react-sdk
|
|
npm install
|
|
)
|
|
|
|
echo -en 'travis_fold:end:matrix-react-sdk\r'
|
|
|
|
# Link the reskindex binary in place: if we used npm link,
|
|
# npm would do this for us, but we don't because we'd have
|
|
# to define the npm prefix somewhere so it could put the
|
|
# intermediate symlinks there. Instead, we do it ourselves.
|
|
mkdir -p node_modules/.bin
|
|
ln -sfv ../matrix-react-sdk/scripts/reskindex.js node_modules/.bin/reskindex
|