forked from sparklemotion/nokogiri
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build_all
executable file
·58 lines (50 loc) · 1.35 KB
/
build_all
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#! /usr/bin/env bash
#
# script to build gems for all relevant platforms:
# - MRI et al (standard gem)
# - windows (x86-mingw32 and x86-msin32-60)
# - jruby
#
# prerequisite is the mingw32 packages.
# on ubuntu, `sudo apt-get install mingw32`
# for others, read up at https://github.com/luislavena/rake-compiler
#
# Load RVM into a shell session *as a function*
if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then
source "$HOME/.rvm/scripts/rvm"
elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
source "/usr/local/rvm/scripts/rvm"
else
echo "ERROR: An RVM installation was not found.\n"
fi
function rvm_use {
current_ruby=$1
rvm use "${1}@nokogiri" --create
}
set -o errexit
# initialize
rvm_use 1.8.7
rm -rf tmp pkg
bundle exec rake clean clobber
# holding pen
rm -rf gems
mkdir -p gems
# MRI
rvm_use 1.8.7
bundle exec rake gem
cp -v pkg/nokogiri*.gem gems # should only be one at this point in the script
# windows
rvm_use 1.8.7
bundle exec rake-compiler cross-ruby VERSION=1.8.7-p330
bundle exec rake-compiler cross-ruby VERSION=1.9.2-p136
bundle exec rake cross
rake gem:windows # don't use bundler here. it blows up. *shrug*
cp -v pkg/nokogiri*x86-{mingw32,mswin32}*.gem gems
# jruby
rvm_use jruby-1.6.5
bundle exec rake clean clobber
rvm_use 1.8.7
bundle exec rake generate
rvm_use jruby-1.6.5
bundle exec rake gem
cp -v pkg/nokogiri*java.gem gems