Files
wstest/scripts/update-code
T

90 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
set -e
mkdir -p .code/{node,ruby}
checkout() {
if [[ -d "$1" ]] ; then
cd "$1"
git reset --hard
git clean -fd
git pull --rebase
else
git clone "git://github.com/faye/$2.git" "$1"
cd "$1"
fi
local patch_file="../../../../patches/$2.diff"
if [[ -f "$patch_file" ]] ; then
git apply "$patch_file"
fi
cd -
}
cd .code/node
install-node-modules() {
cd "$1"
rm -rf node_modules package-lock.json
npm install --no-save
cd -
}
checkout websocket faye-websocket-node
checkout driver websocket-driver-node
checkout extensions websocket-extensions-node
checkout permessage-deflate permessage-deflate-node
install-node-modules websocket
install-node-modules driver
install-node-modules extensions
install-node-modules permessage-deflate
link-repo() {
if [[ -d "$1" ]] ; then
rm -rf "$1"
ln -s "../../$2" "$1"
fi
}
cd driver/node_modules
link-repo permessage-deflate permessage-deflate
link-repo websocket-extensions extensions
cd -
cd websocket/node_modules
link-repo permessage-deflate permessage-deflate
link-repo websocket-driver driver
link-repo websocket-extensions extensions
cd -
cd ../ruby
. /usr/local/share/chruby/chruby.sh
RUBY_VERSIONS="1.9.3 2.0.0 2.1.10 2.2.10 2.3.8 2.4.6 2.5.5 2.6.3 jruby-1.7 jruby-9"
install-ruby-gems() {
cd "$1"
rm -f Gemfile.lock
ruby -S bundle install --path .bundle
cd -
}
for ruby in $RUBY_VERSIONS ; do
mkdir -p "$ruby"
chruby "$ruby"
checkout "$ruby/websocket" faye-websocket-ruby
checkout "$ruby/driver" websocket-driver-ruby
checkout "$ruby/extensions" websocket-extensions-ruby
checkout "$ruby/permessage-deflate" permessage-deflate-ruby
install-ruby-gems "$ruby/websocket"
install-ruby-gems "$ruby/driver"
install-ruby-gems "$ruby/extensions"
install-ruby-gems "$ruby/permessage-deflate"
done