iron_worker_ng 0.7.4 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +6 -7
- data/VERSION +1 -1
- data/bin/iron_worker +15 -42
- data/lib/iron_worker_ng/api_client.rb +33 -24
- data/lib/iron_worker_ng/client.rb +49 -10
- data/lib/iron_worker_ng/code/base.rb +136 -39
- data/lib/iron_worker_ng/code/binary.rb +4 -10
- data/lib/iron_worker_ng/code/builder.rb +10 -4
- data/lib/iron_worker_ng/code/java.rb +4 -22
- data/lib/iron_worker_ng/code/mono.rb +13 -0
- data/lib/iron_worker_ng/code/node.rb +4 -8
- data/lib/iron_worker_ng/code/php.rb +13 -0
- data/lib/iron_worker_ng/code/python.rb +13 -0
- data/lib/iron_worker_ng/code/ruby.rb +4 -89
- data/lib/iron_worker_ng/code/runtime/binary.rb +19 -0
- data/lib/iron_worker_ng/code/runtime/java.rb +31 -0
- data/lib/iron_worker_ng/code/runtime/mono.rb +17 -0
- data/lib/iron_worker_ng/code/runtime/node.rb +17 -0
- data/lib/iron_worker_ng/code/runtime/php.rb +59 -0
- data/lib/iron_worker_ng/code/runtime/python.rb +17 -0
- data/lib/iron_worker_ng/code/runtime/ruby.rb +96 -0
- data/lib/iron_worker_ng/feature/base.rb +1 -2
- data/lib/iron_worker_ng/feature/binary/merge_exec.rb +3 -5
- data/lib/iron_worker_ng/feature/common/merge_dir.rb +0 -4
- data/lib/iron_worker_ng/feature/common/merge_file.rb +0 -4
- data/lib/iron_worker_ng/feature/java/merge_exec.rb +3 -5
- data/lib/iron_worker_ng/feature/java/merge_jar.rb +0 -4
- data/lib/iron_worker_ng/feature/mono/merge_exec.rb +51 -0
- data/lib/iron_worker_ng/feature/node/merge_exec.rb +3 -5
- data/lib/iron_worker_ng/feature/php/merge_exec.rb +51 -0
- data/lib/iron_worker_ng/feature/python/merge_exec.rb +51 -0
- data/lib/iron_worker_ng/feature/ruby/merge_exec.rb +3 -5
- data/lib/iron_worker_ng/feature/ruby/merge_gem.rb +4 -4
- data/lib/iron_worker_ng/feature/ruby/merge_gemfile.rb +0 -4
- data/lib/iron_worker_ng.rb +9 -1
- data/remote_test.rb +3 -1
- metadata +18 -7
- data/lib/iron_worker_ng/code/creator.rb +0 -63
- data/lib/iron_worker_ng/code/initializer.rb +0 -76
@@ -0,0 +1,96 @@
|
|
1
|
+
require_relative '../../feature/ruby/merge_gem'
|
2
|
+
require_relative '../../feature/ruby/merge_gemfile'
|
3
|
+
require_relative '../../feature/ruby/merge_exec'
|
4
|
+
|
5
|
+
module IronWorkerNG
|
6
|
+
module Code
|
7
|
+
module Runtime
|
8
|
+
module Ruby
|
9
|
+
include IronWorkerNG::Feature::Ruby::MergeGem::InstanceMethods
|
10
|
+
include IronWorkerNG::Feature::Ruby::MergeGemfile::InstanceMethods
|
11
|
+
include IronWorkerNG::Feature::Ruby::MergeExec::InstanceMethods
|
12
|
+
|
13
|
+
def runtime_bundle(zip)
|
14
|
+
zip.get_output_stream(@dest_dir + '__runner__.rb') do |runner|
|
15
|
+
runner.write <<RUBY_RUNNER
|
16
|
+
# #{IronWorkerNG.full_version}
|
17
|
+
|
18
|
+
module IronWorkerNG
|
19
|
+
#{File.read(File.dirname(__FILE__) + '/../../../3rdparty/hashie/merge_initializer.rb')}
|
20
|
+
#{File.read(File.dirname(__FILE__) + '/../../../3rdparty/hashie/indifferent_access.rb')}
|
21
|
+
end
|
22
|
+
|
23
|
+
class IronWorkerNGHash < Hash
|
24
|
+
include IronWorkerNG::Hashie::Extensions::MergeInitializer
|
25
|
+
include IronWorkerNG::Hashie::Extensions::IndifferentAccess
|
26
|
+
end
|
27
|
+
|
28
|
+
root = nil
|
29
|
+
payload_file = nil
|
30
|
+
task_id = nil
|
31
|
+
|
32
|
+
0.upto($*.length - 2) do |i|
|
33
|
+
root = $*[i + 1] if $*[i] == '-d'
|
34
|
+
payload_file = $*[i + 1] if $*[i] == '-payload'
|
35
|
+
task_id = $*[i + 1] if $*[i] == '-id'
|
36
|
+
end
|
37
|
+
|
38
|
+
ENV['GEM_PATH'] = ([root + '__gems__'] + (ENV['GEM_PATH'] || '').split(':')).join(':')
|
39
|
+
|
40
|
+
$:.unshift("\#{root}")
|
41
|
+
|
42
|
+
require 'json'
|
43
|
+
|
44
|
+
@iron_task_id = task_id
|
45
|
+
|
46
|
+
@payload = File.read(payload_file)
|
47
|
+
|
48
|
+
params = {}
|
49
|
+
begin
|
50
|
+
params = JSON.parse(@payload)
|
51
|
+
rescue
|
52
|
+
end
|
53
|
+
|
54
|
+
@params = IronWorkerNGHash.new(params)
|
55
|
+
|
56
|
+
def payload
|
57
|
+
@payload
|
58
|
+
end
|
59
|
+
|
60
|
+
def params
|
61
|
+
@params
|
62
|
+
end
|
63
|
+
|
64
|
+
def iron_task_id
|
65
|
+
@iron_task_id
|
66
|
+
end
|
67
|
+
|
68
|
+
require '#{File.basename(@exec.path)}'
|
69
|
+
|
70
|
+
unless #{@exec.klass == nil}
|
71
|
+
exec_class = Kernel.const_get('#{@exec.klass}')
|
72
|
+
exec_inst = exec_class.new
|
73
|
+
|
74
|
+
params.keys.each do |param|
|
75
|
+
if param.class == String
|
76
|
+
if exec_inst.respond_to?(param + '=')
|
77
|
+
exec_inst.send(param + '=', params[param])
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
exec_inst.run
|
83
|
+
end
|
84
|
+
RUBY_RUNNER
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
def runtime_run_code
|
89
|
+
<<RUN_CODE
|
90
|
+
ruby __runner__.rb "$@"
|
91
|
+
RUN_CODE
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
@@ -17,8 +17,7 @@ module IronWorkerNG
|
|
17
17
|
new_src = File.expand_path(new_src) unless new_src.nil?
|
18
18
|
|
19
19
|
if new_src.nil? || (not File.exists?(new_src))
|
20
|
-
IronCore::Logger.error 'IronWorkerNG', "Can't find src with path='#{src}'"
|
21
|
-
raise IronCore::IronError.new("Can't find src with path='#{src}'")
|
20
|
+
IronCore::Logger.error 'IronWorkerNG', "Can't find src with path='#{src}'", IronCore::Error
|
22
21
|
end
|
23
22
|
|
24
23
|
src = new_src
|
@@ -23,9 +23,11 @@ module IronWorkerNG
|
|
23
23
|
end
|
24
24
|
|
25
25
|
module InstanceMethods
|
26
|
-
def merge_exec(path)
|
26
|
+
def merge_exec(path=nil)
|
27
27
|
@exec ||= nil
|
28
28
|
|
29
|
+
return @exec unless path
|
30
|
+
|
29
31
|
unless @exec.nil?
|
30
32
|
IronCore::Logger.warn 'IronWorkerNG', "Ignoring attempt to merge binary exec with path='#{path}'"
|
31
33
|
return
|
@@ -42,10 +44,6 @@ module IronWorkerNG
|
|
42
44
|
|
43
45
|
alias :merge_worker :merge_exec
|
44
46
|
alias :worker :merge_worker
|
45
|
-
|
46
|
-
def self.included(base)
|
47
|
-
IronWorkerNG::Code::Base.register_feature(:name => 'merge_exec', :for_klass => base, :args => 'PATH')
|
48
|
-
end
|
49
47
|
end
|
50
48
|
end
|
51
49
|
end
|
@@ -29,9 +29,11 @@ module IronWorkerNG
|
|
29
29
|
end
|
30
30
|
|
31
31
|
module InstanceMethods
|
32
|
-
def merge_exec(path, klass = nil)
|
32
|
+
def merge_exec(path = nil, klass = nil)
|
33
33
|
@exec ||= nil
|
34
34
|
|
35
|
+
return @exec unless path
|
36
|
+
|
35
37
|
unless @exec.nil?
|
36
38
|
IronCore::Logger.warn 'IronWorkerNG', "Ignoring attempt to merge java exec with path='#{path}' and class='#{klass}'"
|
37
39
|
return
|
@@ -48,10 +50,6 @@ module IronWorkerNG
|
|
48
50
|
|
49
51
|
alias :merge_worker :merge_exec
|
50
52
|
alias :worker :merge_worker
|
51
|
-
|
52
|
-
def self.included(base)
|
53
|
-
IronWorkerNG::Code::Base.register_feature(:name => 'merge_exec', :for_klass => base, :args => 'PATH,CLASS')
|
54
|
-
end
|
55
53
|
end
|
56
54
|
end
|
57
55
|
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module IronWorkerNG
|
2
|
+
module Feature
|
3
|
+
module Mono
|
4
|
+
module MergeExec
|
5
|
+
class Feature < IronWorkerNG::Feature::Base
|
6
|
+
attr_reader :path
|
7
|
+
|
8
|
+
def initialize(code, path)
|
9
|
+
super(code)
|
10
|
+
|
11
|
+
@path = path
|
12
|
+
end
|
13
|
+
|
14
|
+
def hash_string
|
15
|
+
Digest::MD5.hexdigest(@path + File.mtime(rebase(@path)).to_i.to_s)
|
16
|
+
end
|
17
|
+
|
18
|
+
def bundle(zip)
|
19
|
+
IronCore::Logger.debug 'IronWorkerNG', "Bundling mono exec with path='#{@path}'"
|
20
|
+
|
21
|
+
zip_add(zip, File.basename(@path), rebase(@path))
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
module InstanceMethods
|
26
|
+
def merge_exec(path=nil)
|
27
|
+
@exec ||= nil
|
28
|
+
|
29
|
+
return @exec unless path
|
30
|
+
|
31
|
+
unless @exec.nil?
|
32
|
+
IronCore::Logger.warn 'IronWorkerNG', "Ignoring attempt to merge mono exec with path='#{path}'"
|
33
|
+
return
|
34
|
+
end
|
35
|
+
|
36
|
+
@exec = IronWorkerNG::Feature::Mono::MergeExec::Feature.new(self, path)
|
37
|
+
|
38
|
+
IronCore::Logger.info 'IronWorkerNG', "Merging mono exec with path='#{path}'"
|
39
|
+
|
40
|
+
@features << @exec
|
41
|
+
end
|
42
|
+
|
43
|
+
alias :exec :merge_exec
|
44
|
+
|
45
|
+
alias :merge_worker :merge_exec
|
46
|
+
alias :worker :merge_worker
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -23,9 +23,11 @@ module IronWorkerNG
|
|
23
23
|
end
|
24
24
|
|
25
25
|
module InstanceMethods
|
26
|
-
def merge_exec(path)
|
26
|
+
def merge_exec(path=nil)
|
27
27
|
@exec ||= nil
|
28
28
|
|
29
|
+
return @exec unless path
|
30
|
+
|
29
31
|
unless @exec.nil?
|
30
32
|
IronCore::Logger.warn 'IronWorkerNG', "Ignoring attempt to merge node exec with path='#{path}'"
|
31
33
|
return
|
@@ -42,10 +44,6 @@ module IronWorkerNG
|
|
42
44
|
|
43
45
|
alias :merge_worker :merge_exec
|
44
46
|
alias :worker :merge_worker
|
45
|
-
|
46
|
-
def self.included(base)
|
47
|
-
IronWorkerNG::Code::Base.register_feature(:name => 'merge_exec', :for_klass => base, :args => 'PATH')
|
48
|
-
end
|
49
47
|
end
|
50
48
|
end
|
51
49
|
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module IronWorkerNG
|
2
|
+
module Feature
|
3
|
+
module PHP
|
4
|
+
module MergeExec
|
5
|
+
class Feature < IronWorkerNG::Feature::Base
|
6
|
+
attr_reader :path
|
7
|
+
|
8
|
+
def initialize(code, path)
|
9
|
+
super(code)
|
10
|
+
|
11
|
+
@path = path
|
12
|
+
end
|
13
|
+
|
14
|
+
def hash_string
|
15
|
+
Digest::MD5.hexdigest(@path + File.mtime(rebase(@path)).to_i.to_s)
|
16
|
+
end
|
17
|
+
|
18
|
+
def bundle(zip)
|
19
|
+
IronCore::Logger.debug 'IronWorkerNG', "Bundling php exec with path='#{@path}'"
|
20
|
+
|
21
|
+
zip_add(zip, File.basename(@path), rebase(@path))
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
module InstanceMethods
|
26
|
+
def merge_exec(path=nil)
|
27
|
+
@exec ||= nil
|
28
|
+
|
29
|
+
return @exec unless path
|
30
|
+
|
31
|
+
unless @exec.nil?
|
32
|
+
IronCore::Logger.warn 'IronWorkerNG', "Ignoring attempt to merge php exec with path='#{path}'"
|
33
|
+
return
|
34
|
+
end
|
35
|
+
|
36
|
+
@exec = IronWorkerNG::Feature::PHP::MergeExec::Feature.new(self, path)
|
37
|
+
|
38
|
+
IronCore::Logger.info 'IronWorkerNG', "Merging php exec with path='#{path}'"
|
39
|
+
|
40
|
+
@features << @exec
|
41
|
+
end
|
42
|
+
|
43
|
+
alias :exec :merge_exec
|
44
|
+
|
45
|
+
alias :merge_worker :merge_exec
|
46
|
+
alias :worker :merge_worker
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module IronWorkerNG
|
2
|
+
module Feature
|
3
|
+
module Python
|
4
|
+
module MergeExec
|
5
|
+
class Feature < IronWorkerNG::Feature::Base
|
6
|
+
attr_reader :path
|
7
|
+
|
8
|
+
def initialize(code, path)
|
9
|
+
super(code)
|
10
|
+
|
11
|
+
@path = path
|
12
|
+
end
|
13
|
+
|
14
|
+
def hash_string
|
15
|
+
Digest::MD5.hexdigest(@path + File.mtime(rebase(@path)).to_i.to_s)
|
16
|
+
end
|
17
|
+
|
18
|
+
def bundle(zip)
|
19
|
+
IronCore::Logger.debug 'IronWorkerNG', "Bundling python exec with path='#{@path}'"
|
20
|
+
|
21
|
+
zip_add(zip, File.basename(@path), rebase(@path))
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
module InstanceMethods
|
26
|
+
def merge_exec(path=nil)
|
27
|
+
@exec ||= nil
|
28
|
+
|
29
|
+
return @exec unless path
|
30
|
+
|
31
|
+
unless @exec.nil?
|
32
|
+
IronCore::Logger.warn 'IronWorkerNG', "Ignoring attempt to merge python exec with path='#{path}'"
|
33
|
+
return
|
34
|
+
end
|
35
|
+
|
36
|
+
@exec = IronWorkerNG::Feature::Python::MergeExec::Feature.new(self, path)
|
37
|
+
|
38
|
+
IronCore::Logger.info 'IronWorkerNG', "Merging python exec with path='#{path}'"
|
39
|
+
|
40
|
+
@features << @exec
|
41
|
+
end
|
42
|
+
|
43
|
+
alias :exec :merge_exec
|
44
|
+
|
45
|
+
alias :merge_worker :merge_exec
|
46
|
+
alias :worker :merge_worker
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -25,9 +25,11 @@ module IronWorkerNG
|
|
25
25
|
end
|
26
26
|
|
27
27
|
module InstanceMethods
|
28
|
-
def merge_exec(path, klass = nil)
|
28
|
+
def merge_exec(path = nil, klass = nil)
|
29
29
|
@exec ||= nil
|
30
30
|
|
31
|
+
return @exec unless path
|
32
|
+
|
31
33
|
unless @exec.nil?
|
32
34
|
IronCore::Logger.warn 'IronWorkerNG', "Ignoring attempt to merge ruby exec with path='#{path}' and class='#{klass}'"
|
33
35
|
return
|
@@ -44,10 +46,6 @@ module IronWorkerNG
|
|
44
46
|
|
45
47
|
alias :merge_worker :merge_exec
|
46
48
|
alias :worker :merge_worker
|
47
|
-
|
48
|
-
def self.included(base)
|
49
|
-
IronWorkerNG::Code::Base.register_feature(:name => 'merge_exec', :for_klass => base, :args => 'PATH[,CLASS]')
|
50
|
-
end
|
51
49
|
end
|
52
50
|
end
|
53
51
|
end
|
@@ -57,6 +57,10 @@ module IronWorkerNG
|
|
57
57
|
|
58
58
|
@merge_gem_reqs ||= []
|
59
59
|
@merge_gem_reqs << Bundler::Dependency.new(name, version.split(', '))
|
60
|
+
|
61
|
+
unless @fixators.include?(:merge_gem_fixate)
|
62
|
+
@fixators << :merge_gem_fixate
|
63
|
+
end
|
60
64
|
end
|
61
65
|
|
62
66
|
alias :gem :merge_gem
|
@@ -94,10 +98,6 @@ module IronWorkerNG
|
|
94
98
|
end
|
95
99
|
end
|
96
100
|
end
|
97
|
-
|
98
|
-
def self.included(base)
|
99
|
-
IronWorkerNG::Code::Base.register_feature(:name => 'merge_gem', :for_klass => base, :args => 'NAME[,VERSION]')
|
100
|
-
end
|
101
101
|
end
|
102
102
|
end
|
103
103
|
end
|
data/lib/iron_worker_ng.rb
CHANGED
@@ -1,4 +1,12 @@
|
|
1
1
|
require_relative 'iron_worker_ng/version'
|
2
2
|
require_relative 'iron_worker_ng/fetcher'
|
3
3
|
require_relative 'iron_worker_ng/client'
|
4
|
-
require_relative 'iron_worker_ng/code/
|
4
|
+
require_relative 'iron_worker_ng/code/base'
|
5
|
+
require_relative 'iron_worker_ng/code/ruby'
|
6
|
+
require_relative 'iron_worker_ng/code/binary'
|
7
|
+
require_relative 'iron_worker_ng/code/java'
|
8
|
+
require_relative 'iron_worker_ng/code/node'
|
9
|
+
require_relative 'iron_worker_ng/code/mono'
|
10
|
+
require_relative 'iron_worker_ng/code/python'
|
11
|
+
require_relative 'iron_worker_ng/code/php'
|
12
|
+
require_relative 'iron_worker_ng/code/builder'
|
data/remote_test.rb
CHANGED
@@ -17,7 +17,9 @@ require_relative 'test/iron_io_config.rb'
|
|
17
17
|
|
18
18
|
client = IronWorkerNG::Client.new
|
19
19
|
|
20
|
-
code = IronWorkerNG::Code
|
20
|
+
code = IronWorkerNG::Code.new do
|
21
|
+
runtime 'ruby'
|
22
|
+
|
21
23
|
exec 'ng_tests_worker.rb'
|
22
24
|
gemfile 'Gemfile'
|
23
25
|
gemfile 'test/Gemfile'
|
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.8.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-07-10 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: iron_core
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.
|
22
|
+
version: 0.2.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -27,7 +27,7 @@ dependencies:
|
|
27
27
|
requirements:
|
28
28
|
- - ! '>='
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version: 0.
|
30
|
+
version: 0.2.0
|
31
31
|
- !ruby/object:Gem::Dependency
|
32
32
|
name: zip
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
@@ -113,18 +113,29 @@ 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/creator.rb
|
117
|
-
- lib/iron_worker_ng/code/initializer.rb
|
118
116
|
- lib/iron_worker_ng/code/java.rb
|
117
|
+
- lib/iron_worker_ng/code/mono.rb
|
119
118
|
- lib/iron_worker_ng/code/node.rb
|
119
|
+
- lib/iron_worker_ng/code/php.rb
|
120
|
+
- lib/iron_worker_ng/code/python.rb
|
120
121
|
- lib/iron_worker_ng/code/ruby.rb
|
122
|
+
- lib/iron_worker_ng/code/runtime/binary.rb
|
123
|
+
- lib/iron_worker_ng/code/runtime/java.rb
|
124
|
+
- lib/iron_worker_ng/code/runtime/mono.rb
|
125
|
+
- lib/iron_worker_ng/code/runtime/node.rb
|
126
|
+
- lib/iron_worker_ng/code/runtime/php.rb
|
127
|
+
- lib/iron_worker_ng/code/runtime/python.rb
|
128
|
+
- lib/iron_worker_ng/code/runtime/ruby.rb
|
121
129
|
- lib/iron_worker_ng/feature/base.rb
|
122
130
|
- lib/iron_worker_ng/feature/binary/merge_exec.rb
|
123
131
|
- lib/iron_worker_ng/feature/common/merge_dir.rb
|
124
132
|
- lib/iron_worker_ng/feature/common/merge_file.rb
|
125
133
|
- lib/iron_worker_ng/feature/java/merge_exec.rb
|
126
134
|
- lib/iron_worker_ng/feature/java/merge_jar.rb
|
135
|
+
- lib/iron_worker_ng/feature/mono/merge_exec.rb
|
127
136
|
- lib/iron_worker_ng/feature/node/merge_exec.rb
|
137
|
+
- lib/iron_worker_ng/feature/php/merge_exec.rb
|
138
|
+
- lib/iron_worker_ng/feature/python/merge_exec.rb
|
128
139
|
- lib/iron_worker_ng/feature/ruby/merge_exec.rb
|
129
140
|
- lib/iron_worker_ng/feature/ruby/merge_gem.rb
|
130
141
|
- lib/iron_worker_ng/feature/ruby/merge_gemfile.rb
|
@@ -146,7 +157,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
146
157
|
version: '0'
|
147
158
|
segments:
|
148
159
|
- 0
|
149
|
-
hash: -
|
160
|
+
hash: -271964877
|
150
161
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
151
162
|
none: false
|
152
163
|
requirements:
|
@@ -1,63 +0,0 @@
|
|
1
|
-
require_relative 'initializer'
|
2
|
-
require_relative 'base'
|
3
|
-
require_relative 'ruby'
|
4
|
-
require_relative 'java'
|
5
|
-
require_relative 'node'
|
6
|
-
require_relative 'binary'
|
7
|
-
require_relative 'builder'
|
8
|
-
|
9
|
-
module IronWorkerNG
|
10
|
-
module Code
|
11
|
-
class Creator
|
12
|
-
include IronWorkerNG::Code::Initializer::InstanceMethods
|
13
|
-
|
14
|
-
def self.create(*args, &block)
|
15
|
-
runtime = IronWorkerNG::Code::Creator.new(*args, &block).runtime || 'ruby'
|
16
|
-
|
17
|
-
IronWorkerNG::Code::Base.registered_types.find { |r| r[:name] == runtime }[:klass].new(*args, &block)
|
18
|
-
end
|
19
|
-
|
20
|
-
def initialize(*args, &block)
|
21
|
-
initialize_code(*args, &block)
|
22
|
-
end
|
23
|
-
|
24
|
-
def name(name = nil)
|
25
|
-
@name = name if name
|
26
|
-
|
27
|
-
@name
|
28
|
-
end
|
29
|
-
|
30
|
-
def name=(name)
|
31
|
-
@name = name
|
32
|
-
end
|
33
|
-
|
34
|
-
def remote_build_command(remote_build_command = nil)
|
35
|
-
end
|
36
|
-
|
37
|
-
def remote_build_command=(remote_build_command)
|
38
|
-
end
|
39
|
-
|
40
|
-
def runtime(*args)
|
41
|
-
@runtime = args[0] if args.length == 1
|
42
|
-
|
43
|
-
@runtime
|
44
|
-
end
|
45
|
-
|
46
|
-
def runtime=(runtime)
|
47
|
-
@runtime = runtime
|
48
|
-
end
|
49
|
-
|
50
|
-
def merge_exec(path, *args)
|
51
|
-
@exec = OpenStruct.new(:path => path)
|
52
|
-
end
|
53
|
-
|
54
|
-
alias :exec :merge_exec
|
55
|
-
|
56
|
-
alias :merge_worker :merge_exec
|
57
|
-
alias :worker :merge_worker
|
58
|
-
|
59
|
-
def method_missing(name, *args)
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
@@ -1,76 +0,0 @@
|
|
1
|
-
module IronWorkerNG
|
2
|
-
module Code
|
3
|
-
module Initializer
|
4
|
-
module InstanceMethods
|
5
|
-
def initialize_code(*args, &block)
|
6
|
-
@name = nil
|
7
|
-
@exec = nil
|
8
|
-
|
9
|
-
wfiles = []
|
10
|
-
|
11
|
-
if args.length == 1 && args[0].class == String
|
12
|
-
name = args[0]
|
13
|
-
|
14
|
-
if name.end_with?('.worker') || name.end_with?('.workerfile')
|
15
|
-
@name = name.gsub(/\.worker$/, '').gsub(/\.workerfile$/, '')
|
16
|
-
else
|
17
|
-
merge_exec(name)
|
18
|
-
end
|
19
|
-
elsif args.length == 1 && args[0].class == Hash
|
20
|
-
@name = args[0][:name] || args[0]['name']
|
21
|
-
|
22
|
-
unless @name.nil?
|
23
|
-
if @name.end_with?('.worker') || @name.end_with?('.workerfile')
|
24
|
-
@name = @name.gsub(/\.worker$/, '').gsub(/\.workerfile$/, '')
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
exec = args[0][:exec] || args[0]['exec'] || args[0][:worker] || args[0]['worker']
|
29
|
-
merge_exec(exec) unless exec.nil?
|
30
|
-
end
|
31
|
-
|
32
|
-
if args.length == 1 && args[0].class == Hash && (args[0][:workerfile] || args[0]['workerfile'])
|
33
|
-
wfiles << args[0][:workerfile] || args[0]['workerfile']
|
34
|
-
end
|
35
|
-
|
36
|
-
if @name.nil? and @exec
|
37
|
-
@name = guess_name_for_path(@exec.path)
|
38
|
-
end
|
39
|
-
|
40
|
-
unless @name.nil?
|
41
|
-
wfiles << @name + '.worker'
|
42
|
-
wfiles << @name + '.workerfile'
|
43
|
-
end
|
44
|
-
|
45
|
-
wfiles << 'Workerfile'
|
46
|
-
|
47
|
-
wfiles.each do |wfile|
|
48
|
-
src, clean = IronWorkerNG::Fetcher.fetch(wfile)
|
49
|
-
|
50
|
-
unless src.nil?
|
51
|
-
eval(src)
|
52
|
-
|
53
|
-
@base_dir = File.dirname(wfile) == '.' ? '' : File.dirname(wfile) + '/'
|
54
|
-
|
55
|
-
break
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
unless block.nil?
|
60
|
-
instance_eval(&block)
|
61
|
-
end
|
62
|
-
|
63
|
-
if @name.nil? and @exec
|
64
|
-
@name = guess_name_for_path(@exec.path)
|
65
|
-
end
|
66
|
-
|
67
|
-
@name = File.basename(@name) unless @name.nil?
|
68
|
-
end
|
69
|
-
|
70
|
-
def guess_name_for_path(path)
|
71
|
-
File.basename(path).gsub(/\..*$/, '').capitalize.gsub(/_./) { |x| x[1].upcase }
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|