Various tweaks to fetch-develop-deps

* 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.
This commit is contained in:
Richard van der Hoff 2017-06-01 18:02:51 +01:00
parent e868dbbb94
commit 81c0c7bd4f
2 changed files with 50 additions and 26 deletions

View File

@ -13,5 +13,6 @@ node_js:
- 6 - 6
- 7 - 7
install: install:
- scripts/fetch-develop.deps.sh # clone the deps with depth 1: we know we will only ever need that one
- npm install # commit.
- scripts/fetch-develop.deps.sh --depth 1 && npm install

View File

@ -8,6 +8,8 @@
set -e set -e
GIT_CLONE_ARGS=("$@")
# Look in the many different CI env vars for which branch we're # Look in the many different CI env vars for which branch we're
# building # building
if [[ "$TRAVIS" == true ]]; then if [[ "$TRAVIS" == true ]]; then
@ -25,41 +27,62 @@ fi
echo "Determined branch to be $curbranch" 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() { function dodep() {
org=$1 org=$1
repo=$2 repo=$2
rm -rf $repo || true rm -rf $repo
git clone https://github.com/$org/$repo.git $repo clone $org $repo $curbranch || {
pushd $repo [ "$curbranch" != 'develop' ] && clone $org $repo develop
git checkout $curbranch || git checkout develop } || return $?
(
cd $repo
echo "$repo set to branch "`git rev-parse --abbrev-ref HEAD` echo "$repo set to branch "`git rev-parse --abbrev-ref HEAD`
popd )
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 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 dodep matrix-org matrix-react-sdk
mkdir -p node_modules mkdir -p node_modules/matrix-react-sdk/node_modules
cd node_modules ln -s ../../matrix-js-sdk node_modules/matrix-react-sdk/node_modules/
rm -r matrix-js-sdk 2> /dev/null || true (
ln -s ../matrix-js-sdk ./ cd node_modules/matrix-react-sdk
pushd matrix-js-sdk npm install
npm install )
popd
echo -en 'travis_fold:end:matrix-react-sdk\r'
rm -r matrix-react-sdk 2> /dev/null || true
ln -s ../matrix-react-sdk ./
pushd matrix-react-sdk
mkdir -p node_modules
cd node_modules
ln -s ../../matrix-js-sdk matrix-js-sdk
cd ..
npm install
popd
# Link the reskindex binary in place: if we used npm link, # 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 # 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 # to define the npm prefix somewhere so it could put the
# intermediate symlinks there. Instead, we do it ourselves. # intermediate symlinks there. Instead, we do it ourselves.
mkdir -p .bin mkdir -p node_modules/.bin
ln -sf ../matrix-react-sdk/scripts/reskindex.js .bin/reskindex ln -sfv ../matrix-react-sdk/scripts/reskindex.js node_modules/.bin/reskindex