iron_worker_ng 0.7.0 → 0.7.1
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/VERSION +1 -1
- data/bin/iron_worker +5 -1
- data/lib/iron_worker_ng/client.rb +7 -2
- data/lib/iron_worker_ng/code/base.rb +4 -9
- data/lib/iron_worker_ng/code/builder.rb +10 -2
- data/lib/iron_worker_ng/code/creator.rb +1 -1
- data/lib/iron_worker_ng/code/initializer.rb +32 -6
- data/lib/iron_worker_ng/feature/ruby/merge_gem.rb +1 -1
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.7.
|
1
|
+
0.7.1
|
data/bin/iron_worker
CHANGED
@@ -81,7 +81,11 @@ if command == 'codes.create'
|
|
81
81
|
code = nil
|
82
82
|
|
83
83
|
if runtime.nil?
|
84
|
-
code = IronWorkerNG::Code::Creator.create(:name => name)
|
84
|
+
code = IronWorkerNG::Code::Creator.create(:name => name) do
|
85
|
+
execute_features.each do |f|
|
86
|
+
send(f[:name], *f[:args])
|
87
|
+
end
|
88
|
+
end
|
85
89
|
else
|
86
90
|
code = runtimes.find { |r| r[:name] == runtime }[:klass].new(:name => name)
|
87
91
|
end
|
@@ -65,10 +65,15 @@ module IronWorkerNG
|
|
65
65
|
builder_code_name = code.name + 'Builder'
|
66
66
|
|
67
67
|
@api.codes_create(builder_code_name, zip_file, 'sh', '__runner__.sh', options)
|
68
|
+
|
68
69
|
builder_task_id = tasks.create(builder_code_name, :iron_token => token, :iron_project_id => project_id, :code_name => code.name, :codes_create_options => options.to_json).id
|
69
|
-
tasks.wait_for(builder_task_id)
|
70
|
+
task = tasks.wait_for(builder_task_id)
|
71
|
+
|
72
|
+
if task.status != 'complete'
|
73
|
+
raise IronCore::IronError.new("Error while remote building: \"#{tasks.log(task.id)}\"")
|
74
|
+
end
|
70
75
|
|
71
|
-
res =
|
76
|
+
res = JSON.parse(task.msg)
|
72
77
|
end
|
73
78
|
|
74
79
|
File.unlink(zip_file)
|
@@ -34,10 +34,6 @@ module IronWorkerNG
|
|
34
34
|
@@registered_features << feature
|
35
35
|
end
|
36
36
|
|
37
|
-
def self.guess_name_for_path(path)
|
38
|
-
File.basename(path).gsub(/\..*$/, '').capitalize.gsub(/_./) { |x| x[1].upcase }
|
39
|
-
end
|
40
|
-
|
41
37
|
include IronWorkerNG::Code::Initializer::InstanceMethods
|
42
38
|
|
43
39
|
include IronWorkerNG::Feature::Common::MergeFile::InstanceMethods
|
@@ -54,11 +50,6 @@ module IronWorkerNG
|
|
54
50
|
def name(name = nil)
|
55
51
|
@name = name if name
|
56
52
|
|
57
|
-
if @name.nil? and @exec
|
58
|
-
@name = IronWorkerNG::Code::Base.guess_name_for_path(@exec.path)
|
59
|
-
IronCore::Logger.info 'IronWorkerNG', "defaulting name to #{@name}"
|
60
|
-
end
|
61
|
-
|
62
53
|
@name
|
63
54
|
end
|
64
55
|
|
@@ -132,6 +123,10 @@ RUNNER
|
|
132
123
|
IronCore::Logger.error 'IronWorkerNG', 'No exec specified'
|
133
124
|
raise IronCore::IronError.new('No exec specified')
|
134
125
|
end
|
126
|
+
|
127
|
+
if @name.nil?
|
128
|
+
@name = guess_name_for_path(@exec.path)
|
129
|
+
end
|
135
130
|
end
|
136
131
|
|
137
132
|
fixate
|
@@ -3,6 +3,12 @@ require_relative '../feature/ruby/merge_gem'
|
|
3
3
|
module IronWorkerNG
|
4
4
|
module Code
|
5
5
|
class Builder < IronWorkerNG::Code::Ruby
|
6
|
+
def initialize(*args, &block)
|
7
|
+
@features = []
|
8
|
+
@base_dir = ''
|
9
|
+
@dest_dir = ''
|
10
|
+
end
|
11
|
+
|
6
12
|
def bundle(zip)
|
7
13
|
@exec = IronWorkerNG::Feature::Ruby::MergeExec::Feature.new(self, '__builder__.rb', nil)
|
8
14
|
|
@@ -22,7 +28,7 @@ BUILDER_SH
|
|
22
28
|
require 'iron_worker_ng'
|
23
29
|
require 'json'
|
24
30
|
|
25
|
-
|
31
|
+
exit 1 unless system('cd __build__ && sh ../__builder__.sh && cd ..')
|
26
32
|
|
27
33
|
Dir.chdir('__build__')
|
28
34
|
|
@@ -32,7 +38,9 @@ code.dir '.'
|
|
32
38
|
|
33
39
|
client = IronWorkerNG::Client.new(:token => params[:iron_token], :project_id => params[:iron_project_id])
|
34
40
|
|
35
|
-
client.codes.create(code, JSON.parse(params[:codes_create_options]))
|
41
|
+
res = client.codes.create(code, JSON.parse(params[:codes_create_options]))
|
42
|
+
|
43
|
+
client.tasks.set_progress(iron_task_id, :msg => res.marshal_dump.to_json)
|
36
44
|
BUILDER_RUBY
|
37
45
|
end
|
38
46
|
end
|
@@ -6,24 +6,40 @@ module IronWorkerNG
|
|
6
6
|
@name = nil
|
7
7
|
@exec = nil
|
8
8
|
|
9
|
+
wfiles = []
|
10
|
+
|
9
11
|
if args.length == 1 && args[0].class == String
|
10
|
-
|
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
|
11
19
|
elsif args.length == 1 && args[0].class == Hash
|
12
20
|
@name = args[0][:name] || args[0]['name']
|
13
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
|
+
|
14
28
|
exec = args[0][:exec] || args[0]['exec'] || args[0][:worker] || args[0]['worker']
|
15
29
|
merge_exec(exec) unless exec.nil?
|
16
30
|
end
|
17
31
|
|
18
|
-
wfiles = []
|
19
|
-
|
20
32
|
if args.length == 1 && args[0].class == Hash && (args[0][:workerfile] || args[0]['workerfile'])
|
21
33
|
wfiles << args[0][:workerfile] || args[0]['workerfile']
|
22
34
|
end
|
23
35
|
|
24
|
-
|
25
|
-
|
26
|
-
|
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'
|
27
43
|
end
|
28
44
|
|
29
45
|
wfiles << 'Workerfile'
|
@@ -41,6 +57,16 @@ module IronWorkerNG
|
|
41
57
|
unless block.nil?
|
42
58
|
instance_eval(&block)
|
43
59
|
end
|
60
|
+
|
61
|
+
if @name.nil? and @exec
|
62
|
+
@name = guess_name_for_path(@exec.path)
|
63
|
+
end
|
64
|
+
|
65
|
+
@name = File.basename(@name) unless @name.nil?
|
66
|
+
end
|
67
|
+
|
68
|
+
def guess_name_for_path(path)
|
69
|
+
File.basename(path).gsub(/\..*$/, '').capitalize.gsub(/_./) { |x| x[1].upcase }
|
44
70
|
end
|
45
71
|
end
|
46
72
|
end
|
@@ -42,7 +42,7 @@ module IronWorkerNG
|
|
42
42
|
IronCore::Logger.debug 'IronWorkerNG', "Bundling ruby gem with name='#{@spec.name}' and version='#{@spec.version}'"
|
43
43
|
|
44
44
|
zip_add(zip, '__gems__/gems/' + @spec.full_name, gem_path)
|
45
|
-
zip_add(zip, "__gems__/specifications/#{@spec.full_name}.gemspec",
|
45
|
+
zip_add(zip, "__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.7.
|
4
|
+
version: 0.7.1
|
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-06-
|
13
|
+
date: 2012-06-26 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: iron_core
|
@@ -145,7 +145,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
145
145
|
version: '0'
|
146
146
|
segments:
|
147
147
|
- 0
|
148
|
-
hash: -
|
148
|
+
hash: -928794419
|
149
149
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
150
|
none: false
|
151
151
|
requirements:
|