iron_worker_ng 0.8.4 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/bin/iron_worker +48 -3
- data/lib/iron_worker_ng/client.rb +7 -7
- data/lib/iron_worker_ng/code/base.rb +48 -24
- data/lib/iron_worker_ng/code/builder.rb +4 -4
- data/lib/iron_worker_ng/code/dir_container.rb +33 -0
- data/lib/iron_worker_ng/code/runtime/binary.rb +1 -1
- data/lib/iron_worker_ng/code/runtime/go.rb +1 -1
- data/lib/iron_worker_ng/code/runtime/java.rb +1 -1
- data/lib/iron_worker_ng/code/runtime/mono.rb +1 -1
- data/lib/iron_worker_ng/code/runtime/node.rb +1 -1
- data/lib/iron_worker_ng/code/runtime/perl.rb +1 -1
- data/lib/iron_worker_ng/code/runtime/php.rb +3 -3
- data/lib/iron_worker_ng/code/runtime/python.rb +1 -1
- data/lib/iron_worker_ng/code/runtime/ruby.rb +4 -4
- data/lib/iron_worker_ng/feature/base.rb +4 -4
- data/lib/iron_worker_ng/feature/binary/merge_exec.rb +2 -2
- data/lib/iron_worker_ng/feature/common/merge_dir.rb +2 -2
- data/lib/iron_worker_ng/feature/common/merge_file.rb +2 -2
- data/lib/iron_worker_ng/feature/go/merge_exec.rb +2 -2
- data/lib/iron_worker_ng/feature/java/merge_exec.rb +2 -2
- data/lib/iron_worker_ng/feature/java/merge_jar.rb +2 -2
- data/lib/iron_worker_ng/feature/mono/merge_exec.rb +2 -2
- data/lib/iron_worker_ng/feature/node/merge_exec.rb +2 -2
- data/lib/iron_worker_ng/feature/perl/merge_exec.rb +2 -2
- data/lib/iron_worker_ng/feature/php/merge_exec.rb +2 -2
- data/lib/iron_worker_ng/feature/python/merge_exec.rb +2 -2
- data/lib/iron_worker_ng/feature/ruby/merge_exec.rb +2 -2
- data/lib/iron_worker_ng/feature/ruby/merge_gem.rb +3 -3
- metadata +3 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.9.0
|
data/bin/iron_worker
CHANGED
@@ -25,9 +25,9 @@ if $*.size == 1 && ($*[0] == '-v' || $*[0] == '--version')
|
|
25
25
|
exit 0
|
26
26
|
end
|
27
27
|
|
28
|
-
if $*.size == 0 || (not ['codes.create', 'upload', 'tasks.create', 'queue', 'schedules.create', 'schedule', 'tasks.log', 'log'].include?($*[0]))
|
28
|
+
if $*.size == 0 || (not ['codes.create', 'upload', 'tasks.create', 'queue', 'schedules.create', 'schedule', 'tasks.log', 'log', 'run'].include?($*[0]))
|
29
29
|
puts 'usage: iron_worker COMMAND [OPTIONS]'
|
30
|
-
puts ' COMMAND: codes.create (upload), tasks.create (queue), schedules.create (schedule), tasks.log (log)'
|
30
|
+
puts ' COMMAND: codes.create (upload), tasks.create (queue), schedules.create (schedule), tasks.log (log), run'
|
31
31
|
puts ' run iron_worker COMMAND --help to get more information about each command'
|
32
32
|
exit 1
|
33
33
|
end
|
@@ -53,7 +53,6 @@ if command == 'codes.create'
|
|
53
53
|
end
|
54
54
|
|
55
55
|
name = nil
|
56
|
-
wfile = nil
|
57
56
|
|
58
57
|
opts = OptionParser.new do |opts|
|
59
58
|
opts.banner = "usage: iron_worker #{command} [OPTIONS]"
|
@@ -268,4 +267,50 @@ elsif command == 'tasks.log'
|
|
268
267
|
rescue IronCore::Error
|
269
268
|
end
|
270
269
|
end
|
270
|
+
elsif command == 'run'
|
271
|
+
if $*.size > 0 && $*[0][0] != '-'
|
272
|
+
$*.unshift('-n')
|
273
|
+
end
|
274
|
+
|
275
|
+
name = nil
|
276
|
+
payload = nil
|
277
|
+
payload_file = nil
|
278
|
+
|
279
|
+
opts = OptionParser.new do |opts|
|
280
|
+
opts.banner = "usage: iron_worker #{command} [OPTIONS]"
|
281
|
+
|
282
|
+
opts.on('-n', '--name NAME', 'code name or workerfile') do |v|
|
283
|
+
name = v
|
284
|
+
end
|
285
|
+
|
286
|
+
opts.on('-p', '--payload PAYLOAD', String, 'payload to pass') do |v|
|
287
|
+
payload = v
|
288
|
+
end
|
289
|
+
|
290
|
+
opts.on('-f', '--payload-file PAYLOAD_FILE', String, 'payload file to pass') do |v|
|
291
|
+
payload_file = v
|
292
|
+
end
|
293
|
+
end
|
294
|
+
|
295
|
+
begin
|
296
|
+
opts.parse!
|
297
|
+
rescue OptionParser::ParseError
|
298
|
+
puts $!.to_s
|
299
|
+
exit 1
|
300
|
+
end
|
301
|
+
|
302
|
+
if name.nil?
|
303
|
+
puts opts
|
304
|
+
exit 1
|
305
|
+
end
|
306
|
+
|
307
|
+
if payload.nil? and (not payload_file.nil?)
|
308
|
+
payload = File.read(payload_file)
|
309
|
+
end
|
310
|
+
|
311
|
+
code = IronWorkerNG::Code::Base.new(name)
|
312
|
+
|
313
|
+
IronCore::Logger.info 'IronWorkerNG', "Worker '#{name}' run started"
|
314
|
+
|
315
|
+
code.run(payload)
|
271
316
|
end
|
@@ -63,14 +63,14 @@ module IronWorkerNG
|
|
63
63
|
def codes_create(code, options = {})
|
64
64
|
IronCore::Logger.debug 'IronWorkerNG', "Calling codes.create with code='#{code.to_s}' and options='#{options.to_s}'"
|
65
65
|
|
66
|
-
|
66
|
+
container_file = code.create_container
|
67
67
|
|
68
68
|
if code.remote_build_command.nil?
|
69
|
-
res = @api.codes_create(code.name,
|
69
|
+
res = @api.codes_create(code.name, container_file, 'sh', '__runner__.sh', options)
|
70
70
|
else
|
71
71
|
builder_code_name = code.name + (code.name.capitalize == code.name ? '::Builder' : '::builder')
|
72
72
|
|
73
|
-
@api.codes_create(builder_code_name,
|
73
|
+
@api.codes_create(builder_code_name, container_file, 'sh', '__runner__.sh', options)
|
74
74
|
|
75
75
|
builder_task = tasks.create(builder_code_name, :code_name => code.name, :client_options => @api.options.to_json, :codes_create_options => options.to_json)
|
76
76
|
builder_task = tasks.wait_for(builder_task.id)
|
@@ -83,7 +83,7 @@ module IronWorkerNG
|
|
83
83
|
res = JSON.parse(builder_task.msg)
|
84
84
|
end
|
85
85
|
|
86
|
-
File.unlink(
|
86
|
+
File.unlink(container_file)
|
87
87
|
|
88
88
|
OpenStruct.new(res)
|
89
89
|
end
|
@@ -123,7 +123,7 @@ module IronWorkerNG
|
|
123
123
|
def tasks_create(code_name, params = {}, options = {})
|
124
124
|
IronCore::Logger.debug 'IronWorkerNG', "Calling tasks.create with code_name='#{code_name}', params='#{params.to_s}' and options='#{options.to_s}'"
|
125
125
|
|
126
|
-
res = @api.tasks_create(code_name, params.
|
126
|
+
res = @api.tasks_create(code_name, params.is_a?(String) ? params : params.to_json, options)
|
127
127
|
|
128
128
|
OpenStruct.new(res['tasks'][0])
|
129
129
|
end
|
@@ -197,7 +197,7 @@ module IronWorkerNG
|
|
197
197
|
def schedules_create(code_name, params = {}, options = {})
|
198
198
|
IronCore::Logger.debug 'IronWorkerNG', "Calling schedules.create with code_name='#{code_name}', params='#{params.to_s}' and options='#{options.to_s}'"
|
199
199
|
|
200
|
-
res = @api.schedules_create(code_name, params.
|
200
|
+
res = @api.schedules_create(code_name, params.is_a?(String) ? params : params.to_json, options)
|
201
201
|
|
202
202
|
OpenStruct.new(res['schedules'][0])
|
203
203
|
end
|
@@ -227,7 +227,7 @@ module IronWorkerNG
|
|
227
227
|
end
|
228
228
|
|
229
229
|
def params_for_legacy(code_name, params)
|
230
|
-
if params.
|
230
|
+
if params.is_a?(String)
|
231
231
|
params = JSON.parse(params)
|
232
232
|
end
|
233
233
|
|
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'tmpdir'
|
2
2
|
require 'zip/zip'
|
3
|
+
require 'fileutils'
|
3
4
|
|
5
|
+
require_relative 'dir_container'
|
4
6
|
require_relative '../feature/base'
|
5
7
|
require_relative '../feature/common/merge_file'
|
6
8
|
require_relative '../feature/common/merge_dir'
|
@@ -173,20 +175,20 @@ module IronWorkerNG
|
|
173
175
|
Digest::MD5.hexdigest(@features.map { |f| f.hash_string }.join)
|
174
176
|
end
|
175
177
|
|
176
|
-
def runtime_bundle(
|
178
|
+
def runtime_bundle(container)
|
177
179
|
end
|
178
180
|
|
179
|
-
def runtime_run_code
|
181
|
+
def runtime_run_code(local = false)
|
180
182
|
''
|
181
183
|
end
|
182
184
|
|
183
|
-
def bundle(
|
185
|
+
def bundle(container, local = false)
|
184
186
|
@features.each do |feature|
|
185
|
-
feature.bundle(
|
187
|
+
feature.bundle(container)
|
186
188
|
end
|
187
189
|
|
188
190
|
unless @inside_builder
|
189
|
-
|
191
|
+
container.get_output_stream(@dest_dir + '__runner__.sh') do |runner|
|
190
192
|
runner.write <<RUNNER
|
191
193
|
#!/bin/sh
|
192
194
|
# #{IronWorkerNG.full_version}
|
@@ -204,15 +206,15 @@ root() {
|
|
204
206
|
|
205
207
|
cd "$(root "$@")"
|
206
208
|
|
207
|
-
#{runtime_run_code}
|
209
|
+
#{runtime_run_code(local)}
|
208
210
|
RUNNER
|
209
211
|
end
|
210
212
|
end
|
211
213
|
|
212
|
-
runtime_bundle(
|
214
|
+
runtime_bundle(container)
|
213
215
|
end
|
214
216
|
|
215
|
-
def
|
217
|
+
def create_container(local = false)
|
216
218
|
unless @inside_builder
|
217
219
|
if @exec.nil?
|
218
220
|
IronCore::Logger.error 'IronWorkerNG', 'No exec specified', IronCore::Error
|
@@ -225,35 +227,57 @@ RUNNER
|
|
225
227
|
|
226
228
|
fixate
|
227
229
|
|
228
|
-
|
230
|
+
container_name = Dir.tmpdir + '/' + Dir::Tmpname.make_tmpname('iron-worker-ng-', "container#{local ? '' : '.zip'}")
|
229
231
|
|
230
|
-
IronCore::Logger.debug 'IronWorkerNG', "Creating code
|
232
|
+
IronCore::Logger.debug 'IronWorkerNG', "Creating #{local ? 'local ' : ''}code container '#{container_name}'"
|
231
233
|
|
232
|
-
if
|
233
|
-
|
234
|
-
end
|
235
|
-
|
236
|
-
Zip::ZipFile.open(zip_name, Zip::ZipFile::CREATE) do |zip|
|
237
|
-
bundle(zip)
|
234
|
+
if local
|
235
|
+
container = IronWorkerNG::Code::DirContainer.new(container_name)
|
238
236
|
|
237
|
+
bundle(container)
|
238
|
+
else
|
239
239
|
if @remote_build_command
|
240
|
-
|
240
|
+
@dest_dir = '__build__/'
|
241
|
+
end
|
241
242
|
|
242
|
-
|
243
|
-
|
243
|
+
Zip::ZipFile.open(container_name, Zip::ZipFile::CREATE) do |container|
|
244
|
+
bundle(container)
|
244
245
|
|
245
|
-
|
246
|
+
if @remote_build_command
|
247
|
+
IronCore::Logger.info 'IronWorkerNG', 'Creating builder'
|
248
|
+
|
249
|
+
builder = IronWorkerNG::Code::Builder.new
|
250
|
+
builder.remote_build_command = @remote_build_command
|
246
251
|
|
247
|
-
|
248
|
-
|
252
|
+
builder.gem('iron_worker_ng')
|
253
|
+
|
254
|
+
builder.fixate
|
255
|
+
builder.bundle(container)
|
256
|
+
end
|
257
|
+
end
|
258
|
+
|
259
|
+
if @remote_build_command
|
260
|
+
@dest_dir = ''
|
249
261
|
end
|
250
262
|
end
|
251
263
|
|
264
|
+
container_name
|
265
|
+
end
|
266
|
+
|
267
|
+
def run(params = {})
|
268
|
+
container_name = create_container(true)
|
269
|
+
|
270
|
+
payload = File.open("#{container_name}/__payload__", 'wb')
|
271
|
+
payload.write(params.is_a?(String) ? params : params.to_json)
|
272
|
+
payload.close
|
273
|
+
|
252
274
|
if @remote_build_command
|
253
|
-
|
275
|
+
system("cd #{container_name} && #{@remote_build_command}")
|
254
276
|
end
|
255
277
|
|
256
|
-
|
278
|
+
system("sh #{container_name}/__runner__.sh -d #{container_name} -payload #{container_name}/__payload__ -id 0")
|
279
|
+
|
280
|
+
FileUtils.rm_f(container_name)
|
257
281
|
end
|
258
282
|
|
259
283
|
def to_s
|
@@ -13,19 +13,19 @@ module IronWorkerNG
|
|
13
13
|
runtime(:ruby)
|
14
14
|
end
|
15
15
|
|
16
|
-
def bundle(
|
16
|
+
def bundle(container)
|
17
17
|
@exec = IronWorkerNG::Feature::Ruby::MergeExec::Feature.new(self, '__builder__.rb', nil)
|
18
18
|
|
19
|
-
super(
|
19
|
+
super(container)
|
20
20
|
|
21
|
-
|
21
|
+
container.get_output_stream(@dest_dir + '__builder__.sh') do |builder|
|
22
22
|
builder.write <<BUILDER_SH
|
23
23
|
# #{IronWorkerNG.full_version}
|
24
24
|
#{remote_build_command}
|
25
25
|
BUILDER_SH
|
26
26
|
end
|
27
27
|
|
28
|
-
|
28
|
+
container.get_output_stream(@dest_dir + '__builder__.rb') do |builder|
|
29
29
|
builder.write <<BUILDER_RUBY
|
30
30
|
# #{IronWorkerNG.full_version}
|
31
31
|
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
|
3
|
+
module IronWorkerNG
|
4
|
+
module Code
|
5
|
+
class DirContainer
|
6
|
+
def initialize(dir)
|
7
|
+
@dir = dir
|
8
|
+
end
|
9
|
+
|
10
|
+
def full_dest(dest)
|
11
|
+
@dir + '/' + dest
|
12
|
+
end
|
13
|
+
|
14
|
+
def add(dest, src)
|
15
|
+
FileUtils.mkdir_p(File.dirname(full_dest(dest)))
|
16
|
+
|
17
|
+
if File.directory?(src)
|
18
|
+
FileUtils.mkdir(full_dest(dest))
|
19
|
+
else
|
20
|
+
FileUtils.cp(src, full_dest(dest))
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def get_output_stream(dest, &block)
|
25
|
+
FileUtils.mkdir_p(File.dirname(full_dest(dest)))
|
26
|
+
|
27
|
+
file = File.open(full_dest(dest), 'wb')
|
28
|
+
yield file
|
29
|
+
file.close
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -8,7 +8,7 @@ module IronWorkerNG
|
|
8
8
|
include IronWorkerNG::Feature::Java::MergeJar::InstanceMethods
|
9
9
|
include IronWorkerNG::Feature::Java::MergeExec::InstanceMethods
|
10
10
|
|
11
|
-
def runtime_run_code
|
11
|
+
def runtime_run_code(local = false)
|
12
12
|
classpath_array = []
|
13
13
|
|
14
14
|
@features.each do |f|
|
@@ -6,8 +6,8 @@ module IronWorkerNG
|
|
6
6
|
module PHP
|
7
7
|
include IronWorkerNG::Feature::PHP::MergeExec::InstanceMethods
|
8
8
|
|
9
|
-
def runtime_bundle(
|
10
|
-
|
9
|
+
def runtime_bundle(container)
|
10
|
+
container.get_output_stream(@dest_dir + '__runner__.php') do |runner|
|
11
11
|
runner.write <<PHP_RUNNER
|
12
12
|
<?php
|
13
13
|
/* #{IronWorkerNG.full_version} */
|
@@ -48,7 +48,7 @@ PHP_RUNNER
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
def runtime_run_code
|
51
|
+
def runtime_run_code(local = false)
|
52
52
|
<<RUN_CODE
|
53
53
|
TERM=dumb php __runner__.php "$@"
|
54
54
|
RUN_CODE
|
@@ -10,8 +10,8 @@ module IronWorkerNG
|
|
10
10
|
include IronWorkerNG::Feature::Ruby::MergeGemfile::InstanceMethods
|
11
11
|
include IronWorkerNG::Feature::Ruby::MergeExec::InstanceMethods
|
12
12
|
|
13
|
-
def runtime_bundle(
|
14
|
-
|
13
|
+
def runtime_bundle(container)
|
14
|
+
container.get_output_stream(@dest_dir + '__runner__.rb') do |runner|
|
15
15
|
runner.write <<RUBY_RUNNER
|
16
16
|
# #{IronWorkerNG.full_version}
|
17
17
|
|
@@ -85,9 +85,9 @@ RUBY_RUNNER
|
|
85
85
|
end
|
86
86
|
end
|
87
87
|
|
88
|
-
def runtime_run_code
|
88
|
+
def runtime_run_code(local = false)
|
89
89
|
<<RUN_CODE
|
90
|
-
ruby __runner__.rb "$@"
|
90
|
+
#{local ? 'GEM_PATH="" ' : ''}ruby __runner__.rb "$@"
|
91
91
|
RUN_CODE
|
92
92
|
end
|
93
93
|
end
|
@@ -11,7 +11,7 @@ module IronWorkerNG
|
|
11
11
|
@code.base_dir + path
|
12
12
|
end
|
13
13
|
|
14
|
-
def
|
14
|
+
def container_add(container, dest, src)
|
15
15
|
new_src, clean = IronWorkerNG::Fetcher.fetch(src, true)
|
16
16
|
|
17
17
|
new_src = File.expand_path(new_src) unless new_src.nil?
|
@@ -24,10 +24,10 @@ module IronWorkerNG
|
|
24
24
|
|
25
25
|
if File.directory?(src)
|
26
26
|
Dir.glob(src + '/**/**') do |path|
|
27
|
-
|
27
|
+
container.add(@code.dest_dir + dest + path[src.length .. -1], path)
|
28
28
|
end
|
29
29
|
else
|
30
|
-
|
30
|
+
container.add(@code.dest_dir + dest, src)
|
31
31
|
end
|
32
32
|
|
33
33
|
unless clean.nil?
|
@@ -39,7 +39,7 @@ module IronWorkerNG
|
|
39
39
|
''
|
40
40
|
end
|
41
41
|
|
42
|
-
def bundle(
|
42
|
+
def bundle(container)
|
43
43
|
end
|
44
44
|
end
|
45
45
|
end
|
@@ -15,10 +15,10 @@ module IronWorkerNG
|
|
15
15
|
Digest::MD5.hexdigest(@path + File.mtime(rebase(@path)).to_i.to_s)
|
16
16
|
end
|
17
17
|
|
18
|
-
def bundle(
|
18
|
+
def bundle(container)
|
19
19
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling binary exec with path='#{@path}'"
|
20
20
|
|
21
|
-
|
21
|
+
container_add(container, File.basename(@path), rebase(@path))
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -26,10 +26,10 @@ module IronWorkerNG
|
|
26
26
|
Digest::MD5.hexdigest(s)
|
27
27
|
end
|
28
28
|
|
29
|
-
def bundle(
|
29
|
+
def bundle(container)
|
30
30
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling dir with path='#{@path}' and dest='#{@dest}'"
|
31
31
|
|
32
|
-
|
32
|
+
container_add(container, @dest + File.basename(@path), rebase(@path))
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
@@ -20,10 +20,10 @@ module IronWorkerNG
|
|
20
20
|
Digest::MD5.hexdigest(@path + @dest + File.mtime(rebase(@path)).to_i.to_s)
|
21
21
|
end
|
22
22
|
|
23
|
-
def bundle(
|
23
|
+
def bundle(container)
|
24
24
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling file with path='#{@path}' and dest='#{@dest}'"
|
25
25
|
|
26
|
-
|
26
|
+
container_add(container, @dest + File.basename(@path), rebase(@path))
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
@@ -15,10 +15,10 @@ module IronWorkerNG
|
|
15
15
|
Digest::MD5.hexdigest(@path + File.mtime(rebase(@path)).to_i.to_s)
|
16
16
|
end
|
17
17
|
|
18
|
-
def bundle(
|
18
|
+
def bundle(container)
|
19
19
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling go exec with path='#{@path}'"
|
20
20
|
|
21
|
-
|
21
|
+
container_add(container, File.basename(@path), rebase(@path))
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -17,10 +17,10 @@ module IronWorkerNG
|
|
17
17
|
Digest::MD5.hexdigest(@path + @klass + File.mtime(rebase(@path)).to_i.to_s)
|
18
18
|
end
|
19
19
|
|
20
|
-
def bundle(
|
20
|
+
def bundle(container)
|
21
21
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling java exec with path='#{@path}' and class='#{@klass}'"
|
22
22
|
|
23
|
-
|
23
|
+
container_add(container, File.basename(@path), rebase(@path))
|
24
24
|
end
|
25
25
|
|
26
26
|
def code_for_classpath
|
@@ -15,10 +15,10 @@ module IronWorkerNG
|
|
15
15
|
Digest::MD5.hexdigest(@path + File.mtime(rebase(@path)).to_i.to_s)
|
16
16
|
end
|
17
17
|
|
18
|
-
def bundle(
|
18
|
+
def bundle(container)
|
19
19
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling java jar with path='#{@path}'"
|
20
20
|
|
21
|
-
|
21
|
+
container_add(container, File.basename(@path), rebase(@path))
|
22
22
|
end
|
23
23
|
|
24
24
|
def code_for_classpath
|
@@ -15,10 +15,10 @@ module IronWorkerNG
|
|
15
15
|
Digest::MD5.hexdigest(@path + File.mtime(rebase(@path)).to_i.to_s)
|
16
16
|
end
|
17
17
|
|
18
|
-
def bundle(
|
18
|
+
def bundle(container)
|
19
19
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling mono exec with path='#{@path}'"
|
20
20
|
|
21
|
-
|
21
|
+
container_add(container, File.basename(@path), rebase(@path))
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -15,10 +15,10 @@ module IronWorkerNG
|
|
15
15
|
Digest::MD5.hexdigest(@path + File.mtime(rebase(@path)).to_i.to_s)
|
16
16
|
end
|
17
17
|
|
18
|
-
def bundle(
|
18
|
+
def bundle(container)
|
19
19
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling node exec with path='#{@path}'"
|
20
20
|
|
21
|
-
|
21
|
+
container_add(container, File.basename(@path), rebase(@path))
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -15,10 +15,10 @@ module IronWorkerNG
|
|
15
15
|
Digest::MD5.hexdigest(@path + File.mtime(rebase(@path)).to_i.to_s)
|
16
16
|
end
|
17
17
|
|
18
|
-
def bundle(
|
18
|
+
def bundle(container)
|
19
19
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling perl exec with path='#{@path}'"
|
20
20
|
|
21
|
-
|
21
|
+
container_add(container, File.basename(@path), rebase(@path))
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -15,10 +15,10 @@ module IronWorkerNG
|
|
15
15
|
Digest::MD5.hexdigest(@path + File.mtime(rebase(@path)).to_i.to_s)
|
16
16
|
end
|
17
17
|
|
18
|
-
def bundle(
|
18
|
+
def bundle(container)
|
19
19
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling php exec with path='#{@path}'"
|
20
20
|
|
21
|
-
|
21
|
+
container_add(container, File.basename(@path), rebase(@path))
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -15,10 +15,10 @@ module IronWorkerNG
|
|
15
15
|
Digest::MD5.hexdigest(@path + File.mtime(rebase(@path)).to_i.to_s)
|
16
16
|
end
|
17
17
|
|
18
|
-
def bundle(
|
18
|
+
def bundle(container)
|
19
19
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling python exec with path='#{@path}'"
|
20
20
|
|
21
|
-
|
21
|
+
container_add(container, File.basename(@path), rebase(@path))
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -17,10 +17,10 @@ module IronWorkerNG
|
|
17
17
|
Digest::MD5.hexdigest(@path + @klass + File.mtime(rebase(@path)).to_i.to_s)
|
18
18
|
end
|
19
19
|
|
20
|
-
def bundle(
|
20
|
+
def bundle(container)
|
21
21
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling ruby exec with path='#{path}' and class='#{klass}'"
|
22
22
|
|
23
|
-
|
23
|
+
container_add(container, File.basename(@path), rebase(@path))
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
@@ -37,12 +37,12 @@ module IronWorkerNG
|
|
37
37
|
Digest::MD5.hexdigest(@spec.full_name)
|
38
38
|
end
|
39
39
|
|
40
|
-
def bundle(
|
40
|
+
def bundle(container)
|
41
41
|
if @spec.extensions.length == 0 || IronWorkerNG::Feature::Ruby::MergeGem.merge_binary?
|
42
42
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling ruby gem with name='#{@spec.name}' and version='#{@spec.version}'"
|
43
43
|
|
44
|
-
|
45
|
-
|
44
|
+
container_add(container, '__gems__/gems/' + @spec.full_name, gem_path)
|
45
|
+
container_add(container, "__gems__/specifications/#{@spec.full_name}.gemspec", gem_path + '/../../specifications/' + @spec.full_name + '.gemspec')
|
46
46
|
else
|
47
47
|
IronCore::Logger.warn 'IronWorkerNG', "Skipping ruby gem with name='#{@spec.name}' and version='#{@spec.version}' as it contains native extensions"
|
48
48
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iron_worker_ng
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -113,6 +113,7 @@ files:
|
|
113
113
|
- lib/iron_worker_ng/code/base.rb
|
114
114
|
- lib/iron_worker_ng/code/binary.rb
|
115
115
|
- lib/iron_worker_ng/code/builder.rb
|
116
|
+
- lib/iron_worker_ng/code/dir_container.rb
|
116
117
|
- lib/iron_worker_ng/code/go.rb
|
117
118
|
- lib/iron_worker_ng/code/java.rb
|
118
119
|
- lib/iron_worker_ng/code/mono.rb
|
@@ -161,7 +162,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
161
162
|
version: '0'
|
162
163
|
segments:
|
163
164
|
- 0
|
164
|
-
hash:
|
165
|
+
hash: 837810259
|
165
166
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
167
|
none: false
|
167
168
|
requirements:
|