Files
wstest/scripts/update-code
T
2020-05-17 15:34:33 +01:00

105 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
set -e
mkdir -p .code/{node,ruby}
checkout() {
local dir="$1"
local repo="$2"
local patch="../../../../patches/$repo.diff"
if [[ -d "$dir" ]] ; then
cd "$dir"
git clean -fd
git fetch origin
git reset --hard @{u}
else
git clone "git://github.com/faye/$repo.git" "$dir"
cd "$dir"
fi
if [[ -f "$patch" ]] ; then
git apply "$patch"
fi
cd -
}
cd .code/node
install-node-modules() {
local dir="$1"
cd "$dir"
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() {
local pkg="$1"
local dir="$2"
if [[ -d "$pkg" ]] ; then
rm -rf "$pkg"
ln -s "../../$dir" "$pkg"
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=(
ruby-1.9
ruby-2.{0..7}
jruby-{1.7,9.1,9.2}
)
install-ruby-gems() {
local dir="$1"
cd "$dir"
rm -f Gemfile.lock
ruby -S bundle install --path ../../.bundle
cd -
}
for version in "${RUBY_VERSIONS[@]}" ; do
mkdir -p "$version"
chruby "$version"
checkout "$version/websocket" faye-websocket-ruby
checkout "$version/driver" websocket-driver-ruby
checkout "$version/extensions" websocket-extensions-ruby
checkout "$version/permessage-deflate" permessage-deflate-ruby
install-ruby-gems "$version/websocket"
install-ruby-gems "$version/driver"
install-ruby-gems "$version/extensions"
install-ruby-gems "$version/permessage-deflate"
done