torquebox-rake-support 2.0.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/torquebox/deploy_utils.rb +53 -21
- data/lib/torquebox/launchd.rb +1 -1
- data/lib/torquebox/rake/tasks/server.rb +7 -7
- data/spec/deploy_utils_spec.rb +3 -3
- metadata +11 -11
@@ -183,7 +183,7 @@ module TorqueBox
|
|
183
183
|
end
|
184
184
|
|
185
185
|
cmd = "jar cvf #{archive_path} #{include_files.join(' ')}"
|
186
|
-
|
186
|
+
run_command( cmd )
|
187
187
|
end
|
188
188
|
|
189
189
|
archive_path
|
@@ -193,8 +193,8 @@ module TorqueBox
|
|
193
193
|
Dir.chdir( app_dir ) do
|
194
194
|
jruby = File.join( RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'] )
|
195
195
|
jruby << " --1.9" if RUBY_VERSION =~ /^1\.9\./
|
196
|
-
|
197
|
-
|
196
|
+
run_command( "#{jruby} -S bundle package" )
|
197
|
+
run_command( "#{jruby} -S bundle install --local --path vendor/bundle" )
|
198
198
|
end
|
199
199
|
end
|
200
200
|
|
@@ -288,29 +288,61 @@ module TorqueBox
|
|
288
288
|
success
|
289
289
|
end
|
290
290
|
|
291
|
+
# Used when we want to effectively replace this process with the
|
292
|
+
# given command. On Windows this does call Kernel#exec but on
|
293
|
+
# everything else we just delegate to run_command.
|
294
|
+
#
|
295
|
+
# This is mainly so CTRL+C, STDIN, STDOUT, and STDERR work as
|
296
|
+
# expected across all operating systems.
|
291
297
|
def exec_command(cmd)
|
292
|
-
|
298
|
+
windows? ? exec(cmd) : run_command(cmd)
|
299
|
+
end
|
300
|
+
|
301
|
+
# Used to run a command as a subprocess
|
302
|
+
def run_command(cmd)
|
303
|
+
exiting = false
|
304
|
+
IO.popen4(cmd) do |pid, stdin, stdout, stderr|
|
305
|
+
stdout.sync = true
|
306
|
+
stderr.sync = true
|
293
307
|
trap("INT") do
|
308
|
+
exiting = true
|
309
|
+
stdin.close
|
294
310
|
puts "caught SIGINT, shutting down"
|
295
311
|
`taskkill /F /T /PID #{pid}` if windows?
|
296
312
|
end
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
313
|
+
|
314
|
+
# Don't join on stdin since interrupting a blocking read on
|
315
|
+
# JRuby is pretty tricky
|
316
|
+
Thread.new(stdin) { |stdin_io|
|
317
|
+
begin
|
318
|
+
until exiting
|
319
|
+
stdin_io.write(STDIN.readpartial(1024))
|
320
|
+
stdin_io.flush
|
321
|
+
end
|
322
|
+
rescue Errno::EBADF, IOError
|
323
|
+
end
|
324
|
+
}
|
325
|
+
|
326
|
+
# Join on stdout/stderr since they'll be closed
|
327
|
+
# automatically once TorqueBox exits
|
328
|
+
[ Thread.new(stdout) { |stdout_io|
|
329
|
+
begin
|
330
|
+
while true
|
331
|
+
STDOUT.write(stdout_io.readpartial(1024))
|
332
|
+
end
|
333
|
+
rescue EOFError
|
334
|
+
end
|
335
|
+
},
|
336
|
+
|
337
|
+
Thread.new(stderr) { |stderr_io|
|
338
|
+
begin
|
339
|
+
while true
|
340
|
+
STDERR.write(stderr_io.readpartial(1024))
|
341
|
+
end
|
342
|
+
rescue EOFError
|
343
|
+
end
|
344
|
+
}
|
345
|
+
].each( &:join)
|
314
346
|
end
|
315
347
|
|
316
348
|
end
|
data/lib/torquebox/launchd.rb
CHANGED
@@ -74,7 +74,7 @@ module TorqueBox
|
|
74
74
|
end
|
75
75
|
end
|
76
76
|
puts "Created launchd plist #{plist_file}, loading now."
|
77
|
-
TorqueBox::DeployUtils.
|
77
|
+
TorqueBox::DeployUtils.run_command "launchctl load #{plist_file}"
|
78
78
|
check_install
|
79
79
|
FileUtils.mkdir_p log_dir, :mode => 0755 unless File.exists? log_dir
|
80
80
|
end
|
@@ -48,18 +48,18 @@ namespace :torquebox do
|
|
48
48
|
|
49
49
|
desc "Start TorqueBox when running as a launchd daemon"
|
50
50
|
task :start=>[ :check ] do
|
51
|
-
TorqueBox::DeployUtils.
|
51
|
+
TorqueBox::DeployUtils.run_command( 'launchctl start org.torquebox.TorqueBox' )
|
52
52
|
end
|
53
53
|
|
54
54
|
desc "Stop TorqueBox when running as an launchd daemon"
|
55
55
|
task :stop=>[ :check ] do
|
56
|
-
TorqueBox::DeployUtils.
|
56
|
+
TorqueBox::DeployUtils.run_command( 'launchctl stop org.torquebox.TorqueBox' )
|
57
57
|
end
|
58
58
|
|
59
59
|
desc "Restart TorqueBox when running as an launchd daemon"
|
60
60
|
task :restart=>[ :check ] do
|
61
|
-
TorqueBox::DeployUtils.
|
62
|
-
TorqueBox::DeployUtils.
|
61
|
+
TorqueBox::DeployUtils.run_command( 'launchctl stop org.torquebox.TorqueBox' )
|
62
|
+
TorqueBox::DeployUtils.run_command( 'launchctl start org.torquebox.TorqueBox' )
|
63
63
|
end
|
64
64
|
|
65
65
|
end
|
@@ -80,17 +80,17 @@ namespace :torquebox do
|
|
80
80
|
|
81
81
|
desc "Start TorqueBox when running as an upstart service"
|
82
82
|
task :start=>[ :check ] do
|
83
|
-
TorqueBox::DeployUtils.
|
83
|
+
TorqueBox::DeployUtils.run_command( 'start torquebox' )
|
84
84
|
end
|
85
85
|
|
86
86
|
desc "Stop TorqueBox when running as an upstart service"
|
87
87
|
task :stop=>[ :check ] do
|
88
|
-
TorqueBox::DeployUtils.
|
88
|
+
TorqueBox::DeployUtils.run_command( 'stop torquebox' )
|
89
89
|
end
|
90
90
|
|
91
91
|
desc "Restart TorqueBox when running as an upstart service"
|
92
92
|
task :restart=>[ :check ] do
|
93
|
-
TorqueBox::DeployUtils.
|
93
|
+
TorqueBox::DeployUtils.run_command( 'restart torquebox' )
|
94
94
|
end
|
95
95
|
|
96
96
|
end
|
data/spec/deploy_utils_spec.rb
CHANGED
@@ -350,7 +350,7 @@ describe TorqueBox::DeployUtils do
|
|
350
350
|
|
351
351
|
describe '.create_archive' do
|
352
352
|
it 'should not include excluded dirs and files' do
|
353
|
-
@util.should_receive(:
|
353
|
+
@util.should_receive(:run_command) do |arg|
|
354
354
|
["config.ru", "app"].permutation.map {|p|
|
355
355
|
"jar cvf /tmp/simpleapp.knob #{p.join(" ")}"
|
356
356
|
}.should include(arg)
|
@@ -366,7 +366,7 @@ describe TorqueBox::DeployUtils do
|
|
366
366
|
end
|
367
367
|
|
368
368
|
it 'should exclude based on patterns' do
|
369
|
-
@util.should_receive(:
|
369
|
+
@util.should_receive(:run_command) do |arg|
|
370
370
|
["puppet", "config.ru", "app"].permutation.map {|p|
|
371
371
|
"jar cvf /tmp/simpleapp.knob #{p.join(" ")}"
|
372
372
|
}.should include(arg)
|
@@ -382,7 +382,7 @@ describe TorqueBox::DeployUtils do
|
|
382
382
|
end
|
383
383
|
|
384
384
|
it 'should include all dirs and files except default' do
|
385
|
-
@util.should_receive(:
|
385
|
+
@util.should_receive(:run_command) do |arg|
|
386
386
|
["config.ru", "app", "puppet", "simpleapp.box"].permutation.map {|p|
|
387
387
|
"jar cvf /tmp/simpleapp.knob #{p.join(" ")}"
|
388
388
|
}.should include(arg)
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: torquebox-rake-support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 2.0.
|
5
|
+
version: 2.0.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- The TorqueBox Team
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-04-16 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
@@ -50,25 +50,25 @@ files:
|
|
50
50
|
- licenses/lgpl-2.1.txt
|
51
51
|
- lib/org.torquebox.rake-support.rb
|
52
52
|
- lib/torquebox-rake-support.rb
|
53
|
-
- lib/torquebox/rails.rb
|
54
53
|
- lib/torquebox/deploy_utils.rb
|
55
|
-
- lib/torquebox/
|
56
|
-
- lib/torquebox/server.rb
|
54
|
+
- lib/torquebox/rails.rb
|
57
55
|
- lib/torquebox/upstart.rb
|
56
|
+
- lib/torquebox/server.rb
|
57
|
+
- lib/torquebox/launchd.rb
|
58
58
|
- lib/torquebox/rake/tasks.rb
|
59
|
+
- lib/torquebox/rake/tasks/archive.rb
|
59
60
|
- lib/torquebox/rake/tasks/server.rb
|
60
61
|
- lib/torquebox/rake/tasks/deployment.rb
|
61
|
-
- lib/torquebox/rake/tasks/archive.rb
|
62
|
-
- generators/torquebox_queue_generator.rb
|
63
62
|
- generators/USAGE
|
63
|
+
- generators/torquebox_queue_generator.rb
|
64
64
|
- generators/templates/queue.rb
|
65
|
+
- spec/spec_helper.rb
|
65
66
|
- spec/rails_spec.rb
|
67
|
+
- spec/server_spec.rb
|
66
68
|
- spec/deploy_utils_spec.rb
|
67
69
|
- spec/upstart_spec.rb
|
68
|
-
- spec/spec_helper.rb
|
69
|
-
- spec/server_spec.rb
|
70
|
-
- spec/fixtures/simpleapp/simpleapp.box
|
71
70
|
- spec/fixtures/simpleapp/config.ru
|
71
|
+
- spec/fixtures/simpleapp/simpleapp.box
|
72
72
|
homepage: http://torquebox.org/
|
73
73
|
licenses:
|
74
74
|
- lgpl
|
@@ -98,6 +98,6 @@ specification_version: 3
|
|
98
98
|
summary: TorqueBox Rake Support
|
99
99
|
test_files:
|
100
100
|
- spec/rails_spec.rb
|
101
|
+
- spec/server_spec.rb
|
101
102
|
- spec/deploy_utils_spec.rb
|
102
103
|
- spec/upstart_spec.rb
|
103
|
-
- spec/server_spec.rb
|