mirror of
https://github.com/faye/wstest.git
synced 2025-11-01 13:58:47 +00:00
105 lines
2.0 KiB
Bash
Executable File
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
|