rhoconnect 3.2.0.beta3 → 3.2.0.beta4

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 3.2.0.beta4 (2012-05-10)
2
+ * #29112553 - adding 'bundle exec' to shelled-out ruby commands
3
+ * #29050981 - replaced 'sh' to 'system' in rhoconnect commands to avoid Rake::DSL warnings
4
+ * #29411157 - removed custom eventmachine gem dependency
5
+ * #29413841 - removing 'thin' from JRuby config
6
+
1
7
  ## 3.2.0.beta3 (2012-05-04)
2
8
  * #28922571 - loading feedback msg console
3
9
  * #28923039 - add pre tags around json values (console)
data/Gemfile CHANGED
@@ -5,13 +5,12 @@ gemspec
5
5
 
6
6
  gem 'win32-process', :platforms => [:mswin, :mingw]
7
7
 
8
- # FIXME: At this moment (05/04/2012) 'eventmachine' doesn't work on Windows ruby1.9.3-p194
9
- # FIXME: there is a reported issue - for now, we're using our own forked version with the suggested patch
10
- # FIXME: See https://github.com/eventmachine/eventmachine/issues/319
11
- gem "eventmachine", :git => 'https://github.com/rhomobile/eventmachine.git'
12
-
13
- # using thin by default
14
- gem 'thin'
8
+ # use thin and eventmachine everywhere except JRuby
9
+ platforms :ruby, :ruby_19, :mingw, :mingw_19 do
10
+ gem "eventmachine", "~> 1.0.0.beta"
11
+ # using thin by default
12
+ gem 'thin'
13
+ end
15
14
 
16
15
  # for async framework
17
16
  # for Async, Eventful execution
data/Gemfile.lock CHANGED
@@ -1,13 +1,7 @@
1
- GIT
2
- remote: https://github.com/rhomobile/eventmachine.git
3
- revision: 6858b3b6b6b43fe970d5443117f2ae642ac929d8
4
- specs:
5
- eventmachine (1.0.0.beta.4)
6
-
7
1
  PATH
8
2
  remote: .
9
3
  specs:
10
- rhoconnect (3.2.0.beta3)
4
+ rhoconnect (3.2.0.beta4)
11
5
  bundler (~> 1.0)
12
6
  json (~> 1.6.0)
13
7
  rake (~> 0.9.2)
@@ -47,8 +41,9 @@ GEM
47
41
  crack (0.3.1)
48
42
  daemons (1.1.8)
49
43
  diff-lcs (1.1.3)
44
+ eventmachine (1.0.0.beta.4)
50
45
  excon (0.13.4)
51
- execjs (1.3.1)
46
+ execjs (1.3.2)
52
47
  multi_json (~> 1.0)
53
48
  extlib (0.9.15)
54
49
  ffaker (1.14.0)
@@ -70,7 +65,7 @@ GEM
70
65
  cabin (~> 0.4.3)
71
66
  clamp (= 0.3.1)
72
67
  json (= 1.6.6)
73
- highline (1.6.11)
68
+ highline (1.6.12)
74
69
  hike (1.2.1)
75
70
  jasmine (1.1.2)
76
71
  jasmine-core (>= 1.1.0)
@@ -128,15 +123,15 @@ GEM
128
123
  libwebsocket (~> 0.1.3)
129
124
  multi_json (~> 1.0)
130
125
  rubyzip
131
- simplecov (0.6.2)
132
- multi_json (~> 1.3)
126
+ simplecov (0.6.4)
127
+ multi_json (~> 1.0)
133
128
  simplecov-html (~> 0.5.3)
134
129
  simplecov-html (0.5.3)
135
130
  sinatra (1.3.2)
136
131
  rack (~> 1.3, >= 1.3.6)
137
132
  rack-protection (~> 1.2)
138
133
  tilt (~> 1.3, >= 1.3.3)
139
- sprockets (2.4.1)
134
+ sprockets (2.4.2)
140
135
  hike (~> 1.2)
141
136
  multi_json (~> 1.0)
142
137
  rack (~> 1.0)
@@ -169,7 +164,7 @@ DEPENDENCIES
169
164
  aws-s3 (>= 0.6.2)
170
165
  dbd-jdbc (>= 0.1.4)
171
166
  dbi (>= 0.4.5)
172
- eventmachine!
167
+ eventmachine (~> 1.0.0.beta)
173
168
  ffaker (~> 1.14.0)
174
169
  fog (>= 1.1.0)
175
170
  fpm (>= 0.4.6)
data/Rakefile CHANGED
@@ -103,8 +103,8 @@ task :archive do
103
103
  end
104
104
 
105
105
  # Debian and RPM package building tasks
106
- def build_pkg(dist, arch, deps, use_bench_tarball=false)
107
- puts start_dir = Dir.pwd
106
+ def build_pkg(dist, arch, deps)
107
+ start_dir = Dir.pwd
108
108
  build_dir = "/tmp/rhobuild"
109
109
  version = Rhoconnect::VERSION
110
110
  description = '"Rhoconnect production environment"'
@@ -126,22 +126,26 @@ def build_pkg(dist, arch, deps, use_bench_tarball=false)
126
126
  system("cp -r installer/unix-like/*.rb #{build_dir}/unix-like")
127
127
  system("cp pkg/#{gem_name} #{build_dir}")
128
128
 
129
- # Create bench tarball
130
- `git archive --format=tar --prefix=bench/ HEAD:bench | gzip > #{build_dir}/bench.tar.gz` if use_bench_tarball
129
+ system("cp CHANGELOG.md CREDITS README.md LICENSE #{build_dir}/")
130
+ system("cp rhoconnect.gemspec Rakefile #{build_dir}/")
131
+ system("cp -r bin/ #{build_dir}/")
132
+ system("cp -r commands/ #{build_dir}/")
133
+ system("cp -r lib/ #{build_dir}/")
134
+ system("cp -r generators/ #{build_dir}/")
135
+ system("cp -r tasks/ #{build_dir}/")
136
+ system("cp -r installer/ #{build_dir}")
131
137
 
132
138
  # cd into the pkg dir so that fpm will create the package into the pkg dir.
133
- Dir.chdir("./pkg")
134
-
139
+ Dir.chdir("./pkg") # it created by build task and should already exist
140
+
135
141
  # Construct fpm command
136
142
  fpm_cmd = "fpm -s dir -t #{dist} -n rhoconnect -v #{version} -a #{arch} -C #{build_dir} " +
137
143
  "--before-install #{before_install_script} --after-install #{after_install_script} " +
138
144
  "--before-remove #{before_remove_script} --after-remove #{after_remove_script} " +
139
145
  "--prefix #{prefix} --description #{description}"
140
-
141
146
  # Add the list of dependencies to the fpm call
142
147
  deps.each { |dep| fpm_cmd << " -d '#{dep}'" }
143
148
  fpm_cmd << " './'"
144
-
145
149
  # Create the package
146
150
  system(fpm_cmd)
147
151
  # Leave no trace...
@@ -158,11 +162,11 @@ DEB_DEPS = [
158
162
  "libcurl4-openssl-dev (>= 0)",
159
163
  "libreadline6 (>= 0)", "libreadline6-dev (>= 0)",
160
164
  "libyaml-dev (>= 0)", "libxml2-dev (>= 0)",
161
- "libpcre3 (>=0)", "libpcre3-dev (>=0)"
165
+ "libpcre3 (>=0)", "libpcre3-dev (>=0)", "git (>= 0)"
162
166
  ]
163
167
 
164
168
  desc "Build Debian DEB rhoconnect-#{Rhoconnect::VERSION}_all.deb package into the pkg directory"
165
- task "build:deb" => :build do
169
+ task "build:deb" => :build do
166
170
  build_pkg "deb", "all", DEB_DEPS
167
171
  end
168
172
 
@@ -175,7 +179,7 @@ RPM_DEPS = [
175
179
  "openssl >= 0.9.8e", "openssl-devel >= 0.9.8e",
176
180
  "readline >= 5.1", "readline-devel >= 5.1",
177
181
  "libyaml >= 0.0", "libyaml-devel >= 0.0",
178
- "libffi >= 0", "libffi-devel >= 0"
182
+ "libffi >= 0", "libffi-devel >= 0", "git >= 0.0"
179
183
  ]
180
184
 
181
185
  desc "Build Red Hat RPM rhoconnect-#{Rhoconnect::VERSION}.noarch.rpm package into the pkg directory"
@@ -25,9 +25,9 @@ Execute.define_task do
25
25
  FileUtils.rm_rf File.join(redis_home, '64bit')
26
26
  FileUtils.rm_f $redis_zip
27
27
  else
28
- sh 'rm -rf /tmp/redis/' if File.exists?("#{RedisRunner.redisdir}")
29
- sh 'git clone git://github.com/antirez/redis.git /tmp/redis -n'
30
- sh "cd #{RedisRunner.redisdir} && git reset --hard && git checkout #{REDIS_RELEASE}"
28
+ system 'rm -rf /tmp/redis/' if File.exists?("#{RedisRunner.redisdir}")
29
+ system 'git clone git://github.com/antirez/redis.git /tmp/redis -n'
30
+ system "cd #{RedisRunner.redisdir} && git reset --hard && git checkout #{REDIS_RELEASE}"
31
31
  end #if
32
32
  end #redis_download
33
33
  end #do
@@ -10,15 +10,15 @@ desc "redis-install", 'Install the latest verison of Redis from Github (requires
10
10
  mk_bin_dir(bin_dir)
11
11
 
12
12
  %w(redis-benchmark redis-cli redis-server).each do |bin|
13
- sh "cp /tmp/redis/src/#{bin} #{bin_dir}"
13
+ system "cp /tmp/redis/src/#{bin} #{bin_dir}"
14
14
  end #do
15
15
 
16
16
  puts "Installed redis-benchmark, redis-cli and redis-server to #{bin_dir}"
17
17
 
18
18
  ENV['PREFIX'] and conf_dir = "#{ENV['PREFIX']}/etc" or conf_dir = "#{RedisRunner.prefix}etc"
19
19
  unless File.exists?("#{conf_dir}/redis.conf")
20
- sh "mkdir #{conf_dir}" unless File.exists?("#{conf_dir}")
21
- sh "cp /tmp/redis/redis.conf #{conf_dir}/redis.conf"
20
+ system "mkdir #{conf_dir}" unless File.exists?("#{conf_dir}")
21
+ system "cp /tmp/redis/redis.conf #{conf_dir}/redis.conf"
22
22
  puts "Installed redis.conf to #{conf_dir} \n You should look at this file!"
23
23
  end #unless
24
24
  end #unless
@@ -2,8 +2,8 @@ Execute.define_task do
2
2
  desc "redis-make", "Alias for make clean && make", :hide => true
3
3
  def redis_make
4
4
  unless windows?
5
- sh "cd #{RedisRunner.redisdir} && make clean"
6
- sh "cd #{RedisRunner.redisdir} && make"
5
+ system "cd #{RedisRunner.redisdir} && make clean"
6
+ system "cd #{RedisRunner.redisdir} && make"
7
7
  end #unless
8
8
  end #redis_make
9
9
  end #do
@@ -31,16 +31,16 @@ class RedisRunner
31
31
  def self.start
32
32
  if windows?
33
33
  puts "Starting redis in a new window..."
34
- sh "start #{File.join(redis_home,'redis-server')} #{File.join(redis_home,'redis.conf')}" rescue
34
+ system "start #{File.join(redis_home,'redis-server')} #{File.join(redis_home,'redis.conf')}" rescue
35
35
  "redis-server not installed on your path, please run 'rhoconnect redis-install' first."
36
36
  elsif defined?(JRUBY_VERSION)
37
37
  puts "Starting redis ..."
38
- sh "redis-server #{redisconfdir}"
38
+ system "redis-server #{redisconfdir}"
39
39
  else
40
40
  puts 'Detach with Ctrl+\ Re-attach with rhoconnect redis-attach'
41
41
  sleep 1
42
42
  command = "dtach -A #{dtach_socket} redis-server #{redisconfdir}"
43
- sh command
43
+ system command
44
44
  end
45
45
  end
46
46
 
@@ -48,16 +48,16 @@ class RedisRunner
48
48
  def self.startbg
49
49
  if windows?
50
50
  puts "Starting redis in a new window..."
51
- sh "start #{File.join(redis_home,'redis-server')} #{File.join(redis_home,'redis.conf')}" rescue
51
+ system "start #{File.join(redis_home,'redis-server')} #{File.join(redis_home,'redis.conf')}" rescue
52
52
  "redis-server not installed on your path, please run 'rhoconnect redis-install' first."
53
53
  else
54
54
  puts "Starting redis ..."
55
- system("redis-server #{redisconfdir} &")
55
+ system "redis-server #{redisconfdir} &"
56
56
  end
57
57
  end
58
58
 
59
59
  def self.attach
60
- exec "dtach -a #{dtach_socket}"
60
+ system "dtach -a #{dtach_socket}"
61
61
  end
62
62
 
63
63
  def self.stop
@@ -1,7 +1,8 @@
1
+
1
2
  Execute.define_task do
2
3
  desc "attach", "Attach to rhoconnect console"
3
4
  def attach
4
5
  invoke :dtach_installed
5
- sh "dtach -a #{rhoconnect_socket}" unless windows?
6
+ system "dtach -a #{rhoconnect_socket}" unless windows?
6
7
  end #attach
7
8
  end #do
@@ -5,10 +5,10 @@ Execute.define_task do
5
5
  command = (jruby?) ? trinidad? : (thin? || mongrel? || report_missing_server)
6
6
  if windows?
7
7
  puts 'Starting rhoconnect...'
8
- system("#{command} config.ru -P #{rhoconnect_pid}")
8
+ system "#{command} config.ru -P #{rhoconnect_pid}"
9
9
  elsif jruby?
10
10
  puts 'Starting rhoconnect in jruby environment...'
11
- system("#{command}")
11
+ system "#{command}"
12
12
  else
13
13
  puts 'Detach with Ctrl+\ Re-attach with rhoconnect attach'
14
14
  sleep 2
@@ -14,12 +14,12 @@ Execute.define_task do
14
14
  p1 = Process.fork {
15
15
  if windows?
16
16
  puts 'Starting rhoconnect ...'
17
- system("#{cmd} config.ru -P #{rhoconnect_pid}")
17
+ system "#{cmd} config.ru -P #{rhoconnect_pid}"
18
18
  elsif jruby?
19
19
  puts 'Starting rhoconnect in jruby environment...'
20
- system("#{cmd}")
20
+ system "#{cmd}"
21
21
  else
22
- system("bundle exec #{cmd} config.ru -P #{rhoconnect_pid}")
22
+ system "#{cmd} config.ru -P #{rhoconnect_pid}"
23
23
  end
24
24
  }
25
25
  Process.detach(p1)
@@ -15,12 +15,12 @@ Execute.define_task do
15
15
  p1 = Process.fork {
16
16
  if windows?
17
17
  puts 'Starting rhoconnect ...'
18
- system("#{cmd} config.ru -P #{rhoconnect_pid}")
18
+ system "#{cmd} config.ru -P #{rhoconnect_pid}"
19
19
  elsif jruby?
20
20
  puts 'Starting rhoconnect in jruby environment...'
21
- system("#{cmd}")
21
+ system "#{cmd}"
22
22
  else
23
- system("bundle exec #{cmd} config.ru -P #{rhoconnect_pid}")
23
+ system "#{cmd} config.ru -P #{rhoconnect_pid}"
24
24
  end
25
25
  }
26
26
  Process.detach(p1)
@@ -24,7 +24,7 @@ Execute.define_task do
24
24
  end #if
25
25
  # build the executable WAR using the config/warble.rb file
26
26
  ENV['BUNDLE_WITHOUT'] = ['development','test'].join(':')
27
- sh 'warble executable war'
27
+ system 'bundle exec warble executable war'
28
28
  else
29
29
  puts "Cannot build WAR files outside of JRuby environment!"
30
30
  end #if
@@ -2,6 +2,6 @@ Execute.define_task do
2
2
  desc "web", "Launch the web console in a browser - uses :syncserver: in settings.yml"
3
3
  def web
4
4
  invoke :config
5
- windows? ? sh("start #{$url}") : sh("open #{$url}")
5
+ windows? ? system("start #{$url}") : system("open #{$url}")
6
6
  end #web
7
7
  end #do
data/doc/install.txt CHANGED
@@ -8,19 +8,21 @@ On Linux, you install the RhoConnect gem from the command line; you can also do
8
8
 
9
9
  ## Mac OS
10
10
 
11
- If you're running Mac OS, download the latest [RhoStudio Installer for Macintosh](http://rhomobile.com/rhostudio-mac). This contains the [Ruby stack](http://www.ruby-lang.org/en/), [Redis](http://redis.io/), [RhoConnect](/rhoconnect/introduction) and [Rhodes](/rhodes/introduction).
11
+ If you're running Mac OS, download the latest [Motorola RhoMobile Suite Installer for Macintosh](http://rhomobile.com/rhostudio-mac). This contains [Redis](http://redis.io/), [RhoConnect](/rhoconnect/introduction) and [Rhodes](/rhodes/introduction).
12
+
13
+ Mac OS has [Ruby](http://www.ruby-lang.org/en/) installed. It is recommended that you install [Ruby Version Manager](https://rvm.io//) and install Ruby version 1.9.3, latest patch.
12
14
 
13
15
  Click on the RhoStudioInstaller for Mac download file to open it. You will get a window similar to this:
14
16
 
15
17
  <img src="http://rhodocs.s3.amazonaws.com/rhodes-devel/rhostudio-mac-install.png" alt="RhoStudioInstaller Mac" />
16
18
 
17
- Run the install gems script appropriate for you. You can run "Install gems." If you have Ruby Version Manager, you can run "Install gems on rvm." A terminal window will open; wait for the gems install process to complete.
19
+ Run the install gems script appropriate for you. If you have Ruby Version Manager, you can run "Install gems on rvm." A terminal window will open; wait for the gems install process to complete.
18
20
 
19
21
  Then drag RhoStudio to the Applications folder.
20
22
 
21
23
  ## Windows
22
24
 
23
- If you're running Windows 32-bit, download the latest [RhoStudio Installer for Windows](http://rhomobile.com/rhostudio-windows). This installs the [Ruby stack](http://www.ruby-lang.org/en/), [Redis](http://redis.io/), [RhoConnect](/rhoconnect/introduction), and [Rhodes](/rhodes/introduction).
25
+ If you're running Windows, download the latest [Motorola RhoMobile Suite Installer for Windows](http://rhomobile.com/rhostudio-windows) and run it. This installs the [Ruby stack](http://www.ruby-lang.org/en/), [Redis](http://redis.io/), [RhoConnect](/rhoconnect/introduction), and [Rhodes](/rhodes/introduction).
24
26
 
25
27
  If you are running Windows 64-bit, you need to use 32-bit Java when you run RhoStudio. You can include the 32-bit Java in the PATH, or you can run RhoStudio with a link to 32-bit Java:
26
28
 
@@ -48,22 +50,20 @@ For Linux and for RhoConnect installs from the command line, set the JDK path in
48
50
 
49
51
  To install RhoConnect on Linux, and to install RhoConnect on Windows or Mac OS using the command line (this does not install RhoStudio), you need to install the Rhodes gem. Download and install:
50
52
 
51
- 1. [Ruby v1.9.3](http://www.ruby-lang.org/en/downloads/) (On Windows, [RubyInstaller](http://rubyinstaller.org) is a convenient way to install Ruby.)
53
+ 1. [Ruby v1.9.3](http://www.ruby-lang.org/en/downloads/) (On Windows, [RubyInstaller](http://rubyinstaller.org) is a convenient way to install Ruby; you should check "Add Ruby executables to your PATH" and "Associate .rb and .rbw files with this Ruby installation".)
52
54
 
53
55
  2. Ruby Web Server - We tested with [thin](http://code.macournoyer.com/thin/), and [passenger](http://www.modrails.com/). WEBrick, the web server that ships with ruby, is known to cause issues with HTTP headers/cookies and is ***not*** recommended.
54
56
 
55
57
  3. [Redis](http://redis.io/) - RhoConnect includes a simple [rake task](/rhoconnect/command-line#rake-tasks) `redis:install` to install redis, covered in the [Rake Tasks section](rhoconnect/command-line#rake-tasks). Alternatively, you can [install redis directly](http://redis.io/download).
56
58
 
57
- 4. Install the RhoConnect Gem.
58
-
59
- Run this command to install.
59
+ 4. Install the RhoConnect Gem. Run this command to install.
60
60
 
61
61
  :::term
62
62
  $ [sudo] gem install rhoconnect
63
63
 
64
64
  NOTE: If you get any `no such file to load -- something` messages while running the rake tasks or rhodes commands, this can usually be resolved by putting "sudo" in front of the command, as in `sudo gem install something`.
65
65
 
66
- NOTE: Windows doesn't come with the necessary build tools to install gems ('make', for example). There are various ways to get these tools, but the GnuWin32 project at http://gnuwin32.sourceforge.net/ provides the tools, and can be conveniently installed via the GetGnuWin32 installer at http://sourceforge.net/projects/getgnuwin32/files/.
66
+ NOTE: Windows doesn't come with the necessary build tools to install gems ('make', for example). There are various ways to get these tools, but the GnuWin32 project at http://gnuwin32.sourceforge.net/ provides the tools, and can be conveniently installed via the GetGnuWin32 installer at http://sourceforge.net/projects/getgnuwin32/files/. You should follow the GetGnuWin32 instructions carefully.
67
67
 
68
68
  You can [install RhoStudio as a plugin for Eclipse](rhostudio-eclipse).
69
69
 
@@ -6,13 +6,12 @@ gem 'rhoconnect', '<%=gem_version%>'
6
6
  gem 'SystemTimer', '~> 1.2.3', :platforms => :ruby_18
7
7
  gem 'win32-process', :platforms => [:mswin, :mingw]
8
8
 
9
- # FIXME: At this moment (05/04/2012) 'eventmachine' doesn't work on Windows ruby1.9.3-p194
10
- # FIXME: there is a reported issue - for now, we're using our own forked version with the suggested patch
11
- # FIXME: See https://github.com/eventmachine/eventmachine/issues/319
12
- gem "eventmachine", :git => 'https://github.com/rhomobile/eventmachine.git'
13
-
14
- # using thin by default
15
- gem 'thin'
9
+ # use thin and eventmachine everywhere except JRuby
10
+ platforms :ruby, :ruby_19, :mingw, :mingw_19 do
11
+ gem "eventmachine", "~> 1.0.0.beta"
12
+ # using thin by default
13
+ gem 'thin'
14
+ end
16
15
 
17
16
  # for async framework
18
17
  # for Async, Eventful execution
@@ -499,15 +499,16 @@ end
499
499
 
500
500
  def generate_rhoapp(rho_path)
501
501
  puts "Generating rhoconnect application: /opt/nginx/html/rhoapp ..."
502
+
502
503
  Dir.chdir "/opt/nginx/html"
503
- unless File.directory? "/opt/nginx/html/rhoapp"
504
- `#{rho_path}/bin/rhoconnect app rhoapp`
505
- Dir.chdir "rhoapp"
506
- log = `#{rho_path}/bin/bundle install --without=test development`
507
- raise "Generatiion of rhoconnect application failured:\n#{log}" if $? != 0
508
- Dir.chdir "../"
509
- `chown -R nginx:nginx rhoapp/`
510
- end
504
+ `rm -rf rhoapp` if File.directory? "/opt/nginx/html/rhoapp"
505
+
506
+ `#{rho_path}/bin/rhoconnect app rhoapp`
507
+ Dir.chdir "rhoapp"
508
+ log = `#{rho_path}/bin/bundle install --without=test development 2>&1`
509
+ raise "Generatiion of rhoconnect application failured:\n#{log}" if $? != 0
510
+ Dir.chdir "../"
511
+ `chown -R nginx:nginx rhoapp/`
511
512
  end
512
513
 
513
514
  def copy_benchapp(rho_path)
@@ -530,27 +531,55 @@ end
530
531
 
531
532
  def config_and_install_thin_scripts(rho_path)
532
533
  puts "Configuring and installing thin scripts ..."
533
- `env PATH=#{rho_path}/bin:$PATH thin install`
534
- # >> Installing thin service at /etc/rc.d/thin (RedHat) or /etc/init.d/thin (Ubuntu) ...
535
-
536
- thin_conf_file = (File.exists?('/etc/init.d/thin')) ? "/etc/init.d/thin" : "/etc/rc.d/thin"
537
- File.open("/tmp/thin", 'w') do |f|
538
- File.foreach(thin_conf_file) do |line|
539
- if line =~ /^DAEMON/
540
- f << "export PATH=/opt/rhoconnect/bin:$PATH" << "\n"
541
- f << "DAEMON=\"bundle exec thin\"" << "\n"
542
- elsif line =~ /[ -x "$DAEMON" ] || exit 0/
543
- # do nothing
544
- else
545
- f << line
546
- end
547
- end
548
- end
549
- File.rename("/tmp/thin", thin_conf_file)
550
- `chmod +x #{thin_conf_file}`
534
+ #`env PATH=#{rho_path}/bin:$PATH thin install`
535
+ thin_script = <<'_THIN_INIT_'
536
+ #!/bin/sh
537
+ ### BEGIN INIT INFO
538
+ # Provides: thin
539
+ # Required-Start: $local_fs $remote_fs
540
+ # Required-Stop: $local_fs $remote_fs
541
+ # Default-Start: 2 3 4 5
542
+ # Default-Stop: S 0 1 6
543
+ # Short-Description: thin initscript
544
+ # Description: thin
545
+ ### END INIT INFO
546
+
547
+ # Original author: Forrest Robertson
548
+
549
+ # Do NOT "set -e"
550
+
551
+ export PATH=/opt/rhoconnect/bin:$PATH
552
+ DAEMON=/opt/rhoconnect/bin/thin
553
+ SCRIPT_NAME=/etc/init.d/thin
554
+ CONFIG_PATH=/etc/thin
555
+
556
+ # Exit if the package is not installed
557
+ #[ -x "$DAEMON" ] || exit 0
551
558
 
559
+ case "$1" in
560
+ start)
561
+ $DAEMON start --all $CONFIG_PATH
562
+ ;;
563
+ stop)
564
+ $DAEMON stop --all $CONFIG_PATH
565
+ ;;
566
+ restart)
567
+ $DAEMON restart --all $CONFIG_PATH
568
+ ;;
569
+ *)
570
+ echo "Usage: $SCRIPT_NAME {start|stop|restart}" >&2
571
+ exit 3
572
+ ;;
573
+ esac
574
+
575
+ :
576
+ _THIN_INIT_
577
+ thin_init_script="/etc/init.d/thin"
578
+ File.open(thin_init_script, 'w') { |f| f << thin_script }
579
+ `chmod +x #{thin_init_script}`
580
+ Dir.mkdir "/etc/thin" unless File.exist? "/etc/thin"
552
581
  `env PATH=#{rho_path}/bin:$PATH thin config -C /etc/thin/rhoapp.yml -c /opt/nginx/html/rhoapp/ --socket /tmp/thin.sock --servers 2 --log /opt/nginx/logs/thin.log --pid /var/run/thin.pid -e production`
553
- `ln -s /etc/rc.d/thin /etc/init.d/.` if File.directory?('/etc/rc.d')
582
+ raise "Thin failed to configure rhoconnect application" if $? != 0
554
583
  end
555
584
 
556
585
  def create_texts
@@ -563,14 +592,9 @@ def create_texts
563
592
  create_nginx_init
564
593
  create_nginx_logrotate
565
594
 
566
- @use_bench_app = File.exist? "#{@prefix}/installer/bench.tar.gz"
567
- if @use_bench_app
568
- create_nginx_conf_files "benchapp"
569
- copy_benchapp @prefix
570
- else
571
- create_nginx_conf_files "rhoapp"
572
- generate_rhoapp @prefix
573
- end
595
+ create_nginx_conf_files "rhoapp"
596
+ generate_rhoapp @prefix
597
+
574
598
  config_and_install_thin_scripts(@prefix)
575
599
  distro_info = nginx_readme
576
600
  end
@@ -610,7 +634,7 @@ _NGINX_TO_DO_
610
634
  /etc/init.d/nginx start
611
635
  /etc/init.d/thin start
612
636
  B) Open RhoConnect application web console in your browser:
613
- http://server_ip_address
637
+ http://servername
614
638
 
615
639
  _NGINX_TO_DO_
616
640
  end
@@ -619,6 +643,13 @@ _NGINX_TO_DO_
619
643
  afterwords << "For more details see #{@prefix}/README file."
620
644
  puts afterwords
621
645
  File.open("#{@log_file}", 'a') { |f| f << afterwords } if @log_file
646
+
647
+ ensure
648
+ if File.directory? "#{@prefix}/installer"
649
+ Dir.chdir "#{@prefix}/installer"
650
+ `rm -rf bin/ commands/ installer/ pkg/ tasks/ .bundle/ unix-like/`
651
+ `rm -f Rakefile`
652
+ end
622
653
  end
623
654
 
624
655
  create_texts
@@ -16,10 +16,12 @@ module Constants
16
16
 
17
17
  SOFTWARE = [ REDIS, SQLITE3, RUBY, NGINX ]
18
18
 
19
- REDIS_URL = "http://redis.googlecode.com/files/#{ REDIS }.tar.gz"
19
+ REDIS_URL = "http://redis.googlecode.com/files/#{REDIS}.tar.gz"
20
20
  SQLITE3_URL = "http://www.sqlite.org/sqlite-autoconf-3071000.tar.gz"
21
- URLS = [ REDIS_URL, SQLITE3_URL ]
22
- GEMS = ["bundler", "thin", "foreman"]
21
+ NGINX_URL = "http://nginx.org/download/#{NGINX}.tar.gz"
22
+ EVENTMACHINE_URL = "https://github.com/rhomobile/eventmachine/tarball/master"
23
+ URLS = [ REDIS_URL, SQLITE3_URL, NGINX_URL]
24
+ GEMS = ["bundler", "thin"] #, foreman"
23
25
 
24
26
  SUPPORTED_PKG_MGRS = ["apt-get", "yum"]
25
27
  SUPPORTED_WEB_SERVERS = ["apache2", "nginx"]
@@ -2,6 +2,7 @@ require 'rho_connect_install_utilities'
2
2
  require 'rho_connect_install_constants'
3
3
 
4
4
  include Utilities
5
+ include Constants
5
6
 
6
7
  class Debian
7
8
  attr_accessor :options
@@ -23,21 +24,13 @@ class Debian
23
24
  #start logging
24
25
  set_log_file @options[:log]
25
26
 
26
- #gather necessary files
27
- #download_and_decompress(@options[:prefix], [Constants::REDIS_URL])
28
- download_and_decompress(@options[:prefix], [Constants::REDIS_URL, Constants::SQLITE3_URL])
27
+ download_and_decompress(@options[:prefix], [REDIS_URL, SQLITE3_URL, NGINX_URL])
29
28
 
30
- # ruby gems is installed by the REE installer
31
- #install_rubygems
32
29
  install_redis if @options[:redis]
33
- # Install sqlite3 libs
34
30
  install_sqlite
31
+ configure_nginx @options
35
32
 
36
- #start installing
37
33
  install_all_gems
38
- configure_nginx @options
39
-
40
- #install rhoconnect
41
34
  install_rhoconnect
42
35
 
43
36
  #remove downloaded tarballs
@@ -4,18 +4,14 @@ module DownloadAndDocompress
4
4
  # download_and_decompress
5
5
  # Delegates the download and decompression duties
6
6
  def download_and_decompress(prefix, tarballs)
7
- #print_header "Downloading ..."
8
- downloads = 0
9
7
  tarballs.each do |url|
10
- if !File.exists?("#{ get_tarball_name url }") ||
11
- !File.exists?("#{ get_version url }")
8
+ if !File.exists?("#{ get_tarball_name url }") || !File.exists?("#{ get_version url }")
12
9
  puts "Downloading #{url} ..."
13
10
  wget_download prefix, url
14
11
  decompress prefix, url
15
- downloads += 1
16
- end #if
17
- end #do
18
- end #download_and_decompress
12
+ end
13
+ end
14
+ end
19
15
 
20
16
  # wget_download
21
17
  # Takes a URL and the name of a tarball and issues a wget command on said
@@ -24,8 +20,8 @@ module DownloadAndDocompress
24
20
  if !File.exists?("#{ prefix }/#{ get_tarball_name url }") &&
25
21
  !File.directory?("#{ prefix }/#{ get_version url }")
26
22
  cmd "wget -P #{prefix} #{url} -o /dev/null"
27
- end #if
28
- end #wget_download
23
+ end
24
+ end
29
25
 
30
26
  # decompress
31
27
  # Decompress downloaded files unless already decompressed directory
@@ -1,19 +1,17 @@
1
+ #require 'tempfile'
1
2
  require 'rho_connect_install_constants'
2
3
  require 'rho_connect_install_checkers'
3
4
 
4
5
  include Checkers
6
+ include Constants
5
7
 
6
8
  module Installers
7
9
  def configure_nginx(options)
8
10
  raise "Please stop the web server and then reinstall the package." if check_web_server_running
9
11
  @options=options
10
12
  if @options[:web_server] && @options[:web_server] == "nginx"
11
- nginx_version = Constants::NGINX
12
- print_header "Downloading http://nginx.org/download/#{nginx_version}.tar.gz ..."
13
- cmd "cd #{@options[:prefix]}; wget http://nginx.org/download/#{nginx_version}.tar.gz -o /dev/null; tar -xzvf #{nginx_version}.tar.gz"
14
- print_header "Configuring and compiling Nginx web server ..."
15
-
16
- Dir.chdir("#{@options[:prefix]}/#{nginx_version}")
13
+ print_header "Installing Nginx web server ..."
14
+ Dir.chdir("#{@options[:prefix]}/#{NGINX}")
17
15
  cmd "./configure --prefix=/opt/nginx --with-http_ssl_module --with-http_gzip_static_module --user=nginx --group=nginx"
18
16
  cmd "make 2>&1; make install"
19
17
  else
@@ -22,52 +20,45 @@ module Installers
22
20
  raise "Nginx installation failed." if $? != 0
23
21
  end
24
22
 
25
- # install_all_gems
26
- # This method installs all gems specified in the GEMS list defined in the
27
- # Constants file
28
23
  def install_all_gems
29
24
  @gem_path = "#{@options[:prefix]}/bin/gem"
30
25
 
31
26
  # Update the RubyGems system software
32
27
  cmd "#{@gem_path} update --system"
33
-
34
- # FIXME:
35
- #install eventmachine 1.0.0.0.beta4
36
- `wget https://github.com/rhomobile/eventmachine/tarball/master`
37
- `tar xzfv master`
38
- `cd rhomobile-eventmachine-6858b3b`
39
- `/opt/rhoconnect/bin/gem build eventmachine.gemspec`
40
- `/opt/rhoconnect/bin/gem install eventmachine-1.0.0.beta.4.gem --no-ri --no-rdoc`
41
- `cd ../;rm -rf master rhomobile-eventmachine-6858b3b`
42
-
43
- Constants::GEMS.each do |gem|
28
+ #install_gem 'bundler'
29
+ #install_gem 'foreman'
30
+ =begin
31
+ print_header "Installing eventmachine 1.0.0.beta.4 gem ..."
32
+ Dir.chdir("#{@options[:prefix]}")
33
+ `wget #{EVENTMACHINE_URL} -o /dev/null;tar xzfv master;rm -rf master`
34
+ Dir.chdir("#{@options[:prefix]}/rhomobile-eventmachine-6858b3b/")
35
+ cmd("#{@options[:prefix]}/bin/bundle install")
36
+ cmd("#{@options[:prefix]}/bin/gem build eventmachine.gemspec 2> /dev/null")
37
+ cmd("#{@options[:prefix]}/bin/gem install --local eventmachine-1.0.0.beta.4.gem --no-ri --no-rdoc")
38
+ res =$?
39
+ Dir.chdir("#{@options[:prefix]}")
40
+ cmd("rm -rf master rhomobile-eventmachine-6858b3b")
41
+ raise "eventmachine 1.0.0.0.beta4 installation failed." if res != 0
42
+ =end
43
+ # Install bundler, thin, ...
44
+ GEMS.each do |gem|
44
45
  install_gem gem
45
46
  end
46
47
  end
47
48
 
48
49
  # install_gem
49
- # This method installs the given gem unless it is already installed
50
50
  def install_gem(gem)
51
- cmd "#{@gem_path} install #{gem} --no-ri --no-rdoc" unless check_gem(gem, @gem_path)
51
+ print_header "Installing #{gem} gem ..."
52
+ cmd "#{@gem_path} install #{gem} --no-ri --no-rdoc" #unless check_gem(gem, @gem_path)
52
53
  raise "#{gem} installation failed." if $? != 0
53
54
  end #install_gem
54
55
 
55
- # install_rubygems
56
- # This method installs rubygems which was downloaded and untarred earlier
57
- def install_rubygems
58
- print_header "Installing rubygems ..."
59
- Dir.chdir("#{@options[:prefix]}/#{Constants::RUBYGEMS}")
60
- cmd "#{@options[:prefix]}/bin/ruby setup.rb --prefix=#{@options[:prefix]}/#{Constants::RUBYGEMS}"
61
- @gem_path = "#{@options[:prefix]}/bin/gem"
62
- cmd "sed -n '1 c\#!/opt/rhoconnect/bin/ruby' #{@options[:prefix]}/bin/gem"
63
- end #install_rubygems
64
-
65
56
  # install_redis
66
57
  # This method installs redis
67
58
  def install_redis
68
59
  print_header "Installing redis ..."
69
60
 
70
- Dir.chdir("#{@options[:prefix]}/#{Constants::REDIS}/src")
61
+ Dir.chdir("#{@options[:prefix]}/#{REDIS}/src")
71
62
  cmd "make 2>&1; make PREFIX=#{@options[:prefix]} install"
72
63
  raise "Redis installation failed." if $? != 0
73
64
 
@@ -86,39 +77,37 @@ module Installers
86
77
  end
87
78
  end
88
79
  redis_conf_file.close
89
- end #install_redis
80
+ end
90
81
 
91
- # install_sqlite
92
- # This method instaqll sqlite
93
82
  def install_sqlite
94
83
  print_header "Installing sqlite3 ..."
95
- Dir.chdir("#{@options[:prefix]}/#{Constants::SQLITE3}")
84
+ Dir.chdir("#{@options[:prefix]}/#{SQLITE3}")
96
85
  cmd "./configure --prefix=#{@options[:prefix]}"
97
86
  cmd "make 2>&1; make install"
98
87
  raise "Installation of sqlite3 libraries failed." if $? != 0
99
- end #install_sqlite
88
+ end
100
89
 
101
- # install_rhoconnect
102
- # This method installs rhoconnect
103
90
  def install_rhoconnect
104
- print_header "\nInstalling rhoconnect ..."
91
+ print_header "Building rhoconnect gem ..."
105
92
  Dir.chdir(@options[:start_dir])
106
93
 
107
94
  cmd "#{@options[:prefix]}/bin/bundle config build.sqlite3 " +
108
95
  "--with-sqlite3-include=#{@options[:prefix]}/include " +
109
- "--with-sqlite3-lib=#{@options[:prefix]}/lib"
110
- #if @options[:pkg_mgr] =~ /yum/ # CentOS
96
+ "--with-sqlite3-lib=#{@options[:prefix]}/lib" #if @options[:pkg_mgr] =~ /yum/ # CentOS
97
+
98
+ # cmd "#{@options[:prefix]}/bin/bundle install --system --binstubs=/opt/rhoconnect/bin"
99
+ # cmd "PATH=#{@options[:prefix]}/bin:$PATH rake build"
100
+ # cmd "#{@gem_path} install pkg/rhoconnect-*.gem --no-ri --no-rdoc"
101
+ # raise "Gem installation failed." if $? != 0
111
102
 
112
103
  gem_name = (Dir.glob "rhoconnect-*.gem")[0]
113
104
  if gem_name && File.exists?(gem_name)
114
105
  install_gem gem_name
115
106
  else
116
107
  cmd "#{@options[:prefix]}/bin/bundle install --system --binstubs=/opt/rhoconnect/bin --without=test development"
117
- # PATH=/opt/rhoconnect/bin:$PATH rake build
118
108
  cmd "PATH=#{@options[:prefix]}/bin:$PATH rake build"
119
109
  cmd "#{@gem_path} install pkg/rhoconnect-*.gem --no-ri --no-rdoc"
120
110
  raise "Gem installation failed." if $? != 0
121
- #`rm -f pkg/rhoconnect-*.gem`
122
111
  end
123
112
  end
124
113
  end
@@ -41,7 +41,7 @@ module Utilities
41
41
  # This method moves all compressed files from the installation directory
42
42
  # that were downloaded by this installation process
43
43
  def cleanup(prefix)
44
- print_header "Cleaning up ..."
44
+ #print_header "Cleaning up ..."
45
45
  Constants::SOFTWARE.each do |sw|
46
46
  cmd "rm #{prefix}/#{sw}.tar.gz; rm -rf #{prefix}/#{sw}" if File.exist? "#{prefix}/#{sw}.tar.gz"
47
47
  end
@@ -2,6 +2,7 @@ require 'rho_connect_install_utilities'
2
2
  require 'rho_connect_install_constants'
3
3
 
4
4
  include Utilities
5
+ include Constants
5
6
 
6
7
  class Yum
7
8
  attr_accessor :options
@@ -23,20 +24,13 @@ class Yum
23
24
  #start logging
24
25
  set_log_file @options[:log]
25
26
 
26
- #gather necessary files
27
- download_and_decompress(@options[:prefix], [Constants::REDIS_URL, Constants::SQLITE3_URL])
27
+ download_and_decompress(@options[:prefix], [REDIS_URL, SQLITE3_URL, NGINX_URL])
28
28
 
29
- # ruby gems is installed by the REE installer
30
- # install_rubygems
31
29
  install_redis if @options[:redis]
32
- # Cent OS 5.x uses obsolete sqlite3 libs, update them the latest ones
33
- install_sqlite
30
+ install_sqlite # Cent OS 5.x uses obsolete sqlite3 libs, update them the latest ones
31
+ configure_nginx @options
34
32
 
35
- #start installing
36
33
  install_all_gems
37
- configure_nginx @options
38
-
39
- #install rhoconnect
40
34
  install_rhoconnect
41
35
 
42
36
  #remove downloaded tarballs
@@ -195,16 +195,16 @@ end #install_package
195
195
  # start_servers
196
196
  # Attempts to start redis and nginx servers
197
197
  def start_servers
198
- max_attempts = 100
198
+ max_attempts = 10
199
199
  puts
200
200
 
201
201
  ['Redis', 'Nginx', 'thin'].each do |program|
202
202
  attempts = 0
203
- while @ssh.run("pgrep #{program.downcase}")[0].stdout.strip == "" and
203
+ while @ssh.run("pgrep -f #{program.downcase}")[0].stdout.strip == "" and
204
204
  attempts < max_attempts
205
205
  ssh_cmd "sudo /etc/init.d/#{program.downcase} start"
206
206
  attempts += 1
207
- sleep 1
207
+ sleep 2
208
208
  end #while
209
209
  if attempts >= max_attempts
210
210
  puts "#{program} failed to start."
@@ -71,6 +71,7 @@ task "build:repos", :build_type, :build_number do |t, args|
71
71
 
72
72
  end #prepare_destination
73
73
 
74
+
74
75
  def copy_files
75
76
  # Move back into rhoconnect repo root first
76
77
  Dir.chdir RHOCONNECT_ROOT
@@ -80,36 +81,56 @@ task "build:repos", :build_type, :build_number do |t, args|
80
81
  dest_dir = File.extname(file)
81
82
  # Get rid of '.' before extension name
82
83
  dest_dir[0] = ''
84
+ puts "=========================\n" +
85
+ " dest_dir:\t#{dest_dir} \n" +
86
+ "=========================\n"
83
87
  if dest_dir == 'deb' || dest_dir == 'rpm'
84
88
  if dest_dir == 'deb'
85
89
  @deb_pkg = File.basename(file)
90
+ puts "==========================\n" +
91
+ "= @deb_pkg:\t#{@deb_pkg} =\n" +
92
+ "==========================\n"
86
93
  end #if
87
94
  file_path = File.expand_path(file)
95
+ puts "\n\n\nfile: #{file}\n\n"
88
96
  cmd "sudo cp -r #{file_path} #{PKG_DIR}/#{dest_dir}"
89
97
  end #if
90
98
  end #if
91
99
  end #do
92
100
  end #copy_files
93
101
 
102
+ # SCRIPT
103
+
94
104
  prepare_destination
95
105
 
96
106
  copy_files
97
107
 
98
108
  if !build_number.empty?
99
109
  # Change name of packages to include build number
100
- ['deb', 'rpm'].each do |arch|
101
- Find.find("#{PKG_DIR}") do |file|
102
- if !File.directory?(file) and file =~ /#{arch}$/
103
- file_to_rename = File.open(file, 'r')
104
- old_name = File.expand_path(file)
105
- new_name = old_name.gsub(/(#{arch})$/, "#{build_number}.\\1" )
106
- File.rename(old_name, new_name)
107
- end #if
108
- end #do
109
- end #do
110
+ ['deb', 'rpm'].each do |arch|
111
+ Find.find("#{PKG_DIR}") do |file|
112
+ if !File.directory?(file) and file =~ /#{arch}$/
113
+ file_to_rename = File.open(file, 'r')
114
+ old_name = File.expand_path(file)
115
+ new_name = old_name.gsub(/(#{arch})$/, "#{build_number}.\\1" )
116
+ File.rename(old_name, new_name)
117
+ @deb_pkg = File.basename(new_name) if arch == 'deb'
118
+ puts "==================================\n" +
119
+ "= renamed @deb_pkg:\t#{@deb_pkg} =\n" +
120
+ "==================================\n"
121
+ end #if
122
+ end #do
123
+ end #do
110
124
  end #if
111
125
 
112
126
  # REPOIFY!
127
+ puts "=======================\n" +
128
+ "ls -la #{PKG_DIR}/deb \n" +
129
+ "#{`ls -la #{PKG_DIR}/deb`}\n" +
130
+ "=======================\n"
131
+ puts "Abort job now..."
132
+ STDIN.gets
133
+
113
134
  cmd "sudo reprepro -b #{PKG_DIR}/deb includedeb rhoconnect #{PKG_DIR}/deb/#{@deb_pkg}"
114
135
  cmd "sudo createrepo #{PKG_DIR}/rpm"
115
136
 
@@ -4,7 +4,7 @@ module Utilities
4
4
  # Prints the command to be issued and then issues it to system
5
5
  def cmd(cmd)
6
6
  puts cmd
7
- system cmd
7
+ system "#{cmd}"
8
8
  end #cmd
9
9
 
10
10
  def redis_home
@@ -82,7 +82,7 @@ module Utilities
82
82
  def thin?
83
83
  begin
84
84
  require 'thin'
85
- 'rackup -s thin'
85
+ 'bundle exec rackup -s thin'
86
86
  rescue LoadError
87
87
  nil
88
88
  end
@@ -91,7 +91,7 @@ module Utilities
91
91
  def mongrel?
92
92
  begin
93
93
  require 'mongrel'
94
- 'rackup -s mongrel'
94
+ 'bundle exec rackup -s mongrel'
95
95
  rescue LoadError
96
96
  nil
97
97
  end
@@ -113,6 +113,6 @@ EOF
113
113
  # end
114
114
 
115
115
  def trinidad?
116
- 'jruby -S trinidad -p 9292 -r config.ru'
116
+ 'bundle exec jruby -S trinidad -p 9292 -r config.ru'
117
117
  end
118
118
  end #Utilities
@@ -1,3 +1,3 @@
1
1
  module Rhoconnect
2
- VERSION = '3.2.0.beta3'
2
+ VERSION = '3.2.0.beta4'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rhoconnect
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0.beta3
4
+ version: 3.2.0.beta4
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-04 00:00:00.000000000 Z
12
+ date: 2012-05-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -367,9 +367,7 @@ files:
367
367
  - doc/web-console.txt
368
368
  - examples/simple/application.rb
369
369
  - examples/simple/config.ru
370
- - examples/simple/dump.rdb
371
370
  - examples/simple/Gemfile
372
- - examples/simple/Gemfile.lock
373
371
  - examples/simple/Rakefile
374
372
  - examples/simple/settings/license.key
375
373
  - examples/simple/settings/settings.yml
@@ -680,7 +678,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
680
678
  version: '0'
681
679
  segments:
682
680
  - 0
683
- hash: -3889587113784485006
681
+ hash: -1593873168020566673
684
682
  required_rubygems_version: !ruby/object:Gem::Requirement
685
683
  none: false
686
684
  requirements:
@@ -1,97 +0,0 @@
1
- PATH
2
- remote: ../../
3
- specs:
4
- rhoconnect (3.2.0.beta1)
5
- bundler (~> 1.0)
6
- json (~> 1.6.0)
7
- rake (~> 0.9.2)
8
- redis (>= 2.2.0)
9
- resque (~> 1.20.0)
10
- rest-client (~> 1.6.1)
11
- rubyzip (~> 0.9.4)
12
- sinatra (~> 1.3)
13
- templater (~> 1.0.0)
14
- thor (~> 0.14.6)
15
- uuidtools (>= 2.1.1)
16
-
17
- GEM
18
- remote: http://rubygems.org/
19
- specs:
20
- SystemTimer (1.2.3)
21
- async-rack (0.5.1)
22
- rack (~> 1.1)
23
- daemons (1.1.8)
24
- diff-lcs (1.1.3)
25
- eventmachine (0.12.10)
26
- extlib (0.9.15)
27
- highline (1.6.11)
28
- json (1.6.6)
29
- mime-types (1.18)
30
- multi_json (1.3.2)
31
- rack (1.4.1)
32
- rack-fiber_pool (0.9.2)
33
- rack-protection (1.2.0)
34
- rack
35
- rack-test (0.6.1)
36
- rack (>= 1.0)
37
- rake (0.9.2.2)
38
- redis (2.2.2)
39
- redis-namespace (1.0.3)
40
- redis (< 3.0.0)
41
- resque (1.20.0)
42
- multi_json (~> 1.0)
43
- redis-namespace (~> 1.0.2)
44
- sinatra (>= 0.9.2)
45
- vegas (~> 0.1.2)
46
- rest-client (1.6.7)
47
- mime-types (>= 1.16)
48
- rhomobile-debug (1.0.6)
49
- rspec (2.6.0)
50
- rspec-core (~> 2.6.0)
51
- rspec-expectations (~> 2.6.0)
52
- rspec-mocks (~> 2.6.0)
53
- rspec-core (2.6.4)
54
- rspec-expectations (2.6.0)
55
- diff-lcs (~> 1.1.2)
56
- rspec-mocks (2.6.0)
57
- rubyzip (0.9.7)
58
- sinatra (1.3.2)
59
- rack (~> 1.3, >= 1.3.6)
60
- rack-protection (~> 1.2)
61
- tilt (~> 1.3, >= 1.3.3)
62
- sqlite3 (1.3.5)
63
- templater (1.0.0)
64
- diff-lcs (>= 1.1.2)
65
- extlib (>= 0.9.5)
66
- highline (>= 1.4.0)
67
- thin (1.3.1)
68
- daemons (>= 1.0.9)
69
- eventmachine (>= 0.12.6)
70
- rack (>= 1.0.0)
71
- thor (0.14.6)
72
- tilt (1.3.3)
73
- uuidtools (2.1.2)
74
- vegas (0.1.11)
75
- rack (>= 1.0.0)
76
-
77
- PLATFORMS
78
- ruby
79
-
80
- DEPENDENCIES
81
- SystemTimer (~> 1.2.3)
82
- async-rack
83
- dbd-jdbc (>= 0.1.4)
84
- dbi (>= 0.4.5)
85
- eventmachine (~> 1.0.0.beta)
86
- jdbc-sqlite3 (>= 3.7.2)
87
- jruby-openssl (>= 0.7.4)
88
- rack-fiber_pool
89
- rack-test (>= 0.5.3)
90
- rhoconnect!
91
- rhomobile-debug (>= 1.0.2)
92
- rspec (~> 2.6.0)
93
- sqlite3 (>= 1.3.3)
94
- thin
95
- trinidad
96
- warbler
97
- win32-process
Binary file