boxgrinder-build 0.6.4 → 0.6.5
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/CHANGELOG +4 -0
- data/Rakefile +1 -23
- data/bin/boxgrinder-build +1 -1
- data/boxgrinder-build.gemspec +5 -5
- data/lib/boxgrinder-build/appliance.rb +21 -10
- data/lib/boxgrinder-build/helpers/appliance-customize-helper.rb +2 -2
- data/rubygem-boxgrinder-build.spec +5 -2
- data/spec/appliance-spec.rb +113 -26
- metadata +7 -7
data/CHANGELOG
CHANGED
data/Rakefile
CHANGED
@@ -19,7 +19,6 @@
|
|
19
19
|
require 'rubygems'
|
20
20
|
require 'spec/rake/spectask'
|
21
21
|
require 'echoe'
|
22
|
-
require 'rbconfig'
|
23
22
|
|
24
23
|
Echoe.new("boxgrinder-build") do |p|
|
25
24
|
p.project = "BoxGrinder Build"
|
@@ -27,7 +26,7 @@ Echoe.new("boxgrinder-build") do |p|
|
|
27
26
|
p.summary = "A tool for creating appliances from simple plain text files for various virtual environments."
|
28
27
|
p.url = "http://www.jboss.org/boxgrinder"
|
29
28
|
p.email = "info@boxgrinder.org"
|
30
|
-
p.runtime_dependencies = ["commander ~>4.0.3", "boxgrinder-core ~>0.1.
|
29
|
+
p.runtime_dependencies = ["commander ~>4.0.3", "boxgrinder-core ~>0.1.4"]
|
31
30
|
end
|
32
31
|
|
33
32
|
desc "Run all tests"
|
@@ -48,24 +47,3 @@ Spec::Rake::SpecTask.new('spec:coverage') do |t|
|
|
48
47
|
t.rcov_opts = ['--exclude', 'spec,teamcity/*,/usr/lib/ruby/,.gem/ruby,/boxgrinder-core/,/gems/']
|
49
48
|
t.verbose = true
|
50
49
|
end
|
51
|
-
|
52
|
-
desc "Create RPM"
|
53
|
-
task :rpm, :target, :version, :arch, :needs => ['clean', 'gem'] do |t, args|
|
54
|
-
target = args[:target] || 'fedora'
|
55
|
-
version = args[:version] || 'rawhide'
|
56
|
-
arch = args[:arch] || RbConfig::CONFIG['host_cpu']
|
57
|
-
|
58
|
-
Dir["**/rubygem-*.spec"].each do |spec|
|
59
|
-
`mock -v -r #{target}-#{version}-#{arch} --buildsrpm --sources pkg/*.gem --spec #{spec} --resultdir pkg/`
|
60
|
-
exit 1 unless $? == 0
|
61
|
-
`mock -v -r #{target}-#{version}-#{arch} --rebuild pkg/*.rpm --resultdir pkg/`
|
62
|
-
exit 1 unless $? == 0
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
desc "Install RPM"
|
67
|
-
task 'rpm:install' => [:rpm] do
|
68
|
-
system "sudo yum -y remove rubygem-boxgrinder-build"
|
69
|
-
system "sudo yum -y localinstall --nogpgcheck pkg/*.rpm"
|
70
|
-
exit 1 unless $? == 0
|
71
|
-
end
|
data/bin/boxgrinder-build
CHANGED
@@ -46,7 +46,7 @@ module Commander
|
|
46
46
|
end
|
47
47
|
|
48
48
|
program :name, 'BoxGrinder Build'
|
49
|
-
program :version, '0.6.
|
49
|
+
program :version, '0.6.5'
|
50
50
|
program :description, "A tool for building VM images from simple definition files."
|
51
51
|
program :help, 'Homepage', 'http://www.jboss.org/boxgrinder/build.html'
|
52
52
|
program :help, 'Documentation', 'http://community.jboss.org/docs/DOC-14358'
|
data/boxgrinder-build.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{boxgrinder-build}
|
5
|
-
s.version = "0.6.
|
5
|
+
s.version = "0.6.5"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Marek Goldmann"]
|
9
|
-
s.date = %q{2010-
|
9
|
+
s.date = %q{2010-12-03}
|
10
10
|
s.default_executable = %q{boxgrinder-build}
|
11
11
|
s.description = %q{A tool for creating appliances from simple plain text files for various virtual environments.}
|
12
12
|
s.email = %q{info@boxgrinder.org}
|
@@ -26,13 +26,13 @@ Gem::Specification.new do |s|
|
|
26
26
|
|
27
27
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
28
28
|
s.add_runtime_dependency(%q<commander>, ["~> 4.0.3"])
|
29
|
-
s.add_runtime_dependency(%q<boxgrinder-core>, ["~> 0.1.
|
29
|
+
s.add_runtime_dependency(%q<boxgrinder-core>, ["~> 0.1.4"])
|
30
30
|
else
|
31
31
|
s.add_dependency(%q<commander>, ["~> 4.0.3"])
|
32
|
-
s.add_dependency(%q<boxgrinder-core>, ["~> 0.1.
|
32
|
+
s.add_dependency(%q<boxgrinder-core>, ["~> 0.1.4"])
|
33
33
|
end
|
34
34
|
else
|
35
35
|
s.add_dependency(%q<commander>, ["~> 4.0.3"])
|
36
|
-
s.add_dependency(%q<boxgrinder-core>, ["~> 0.1.
|
36
|
+
s.add_dependency(%q<boxgrinder-core>, ["~> 0.1.4"])
|
37
37
|
end
|
38
38
|
end
|
@@ -16,6 +16,7 @@
|
|
16
16
|
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
17
17
|
# 02110-1301 USA, or see the FSF site: http://www.fsf.org.
|
18
18
|
|
19
|
+
require 'rubygems'
|
19
20
|
require 'boxgrinder-core/models/appliance-config'
|
20
21
|
require 'boxgrinder-core/models/config'
|
21
22
|
require 'boxgrinder-core/helpers/appliance-helper'
|
@@ -28,23 +29,32 @@ module BoxGrinder
|
|
28
29
|
class Appliance
|
29
30
|
|
30
31
|
def initialize(appliance_definition_file, options = {})
|
31
|
-
@config
|
32
|
-
@appliance_definition_file
|
33
|
-
@log
|
34
|
-
@options
|
32
|
+
@config = Config.new
|
33
|
+
@appliance_definition_file = appliance_definition_file
|
34
|
+
@log = options[:log] || Logger.new(STDOUT)
|
35
|
+
@options = options[:options]
|
35
36
|
|
36
|
-
@config.name
|
37
|
+
@config.name = @options.name
|
37
38
|
@config.version.version = @options.version
|
38
39
|
@config.version.release = nil
|
39
40
|
end
|
40
41
|
|
41
|
-
def
|
42
|
+
def read_definition
|
42
43
|
appliance_configs, appliance_config = ApplianceHelper.new(:log => @log).read_definitions(@appliance_definition_file)
|
43
|
-
appliance_config_helper
|
44
|
+
appliance_config_helper = ApplianceConfigHelper.new(appliance_configs)
|
44
45
|
|
45
46
|
@appliance_config = appliance_config_helper.merge(appliance_config.clone.init_arch).initialize_paths
|
47
|
+
end
|
46
48
|
|
49
|
+
def validate_definition
|
47
50
|
ApplianceConfigValidator.new(@appliance_config).validate
|
51
|
+
|
52
|
+
raise "No operating system plugins installed. Install one or more operating system plugin. See http://community.jboss.org/docs/DOC-15081 and http://community.jboss.org/docs/DOC-15214 for more info" if PluginManager.instance.plugins[:os].empty?
|
53
|
+
|
54
|
+
os_plugin = PluginManager.instance.plugins[:os][@appliance_config.os.name.to_sym]
|
55
|
+
|
56
|
+
raise ApplianceValidationError, "Not supported operating system selected: #{@appliance_config.os.name}. Make sure you have installed right operating system plugin, see http://community.jboss.org/docs/DOC-15214. Supported OSes are: #{PluginManager.instance.plugins[:os].keys.join(", ")}" if os_plugin.nil?
|
57
|
+
raise ApplianceValidationError, "Not supported operating system version selected: #{@appliance_config.os.version}. Supported versions are: #{os_plugin[:versions].join(", ")}" unless @appliance_config.os.version.nil? or os_plugin[:versions].include?(@appliance_config.os.version)
|
48
58
|
end
|
49
59
|
|
50
60
|
def remove_old_builds
|
@@ -56,8 +66,8 @@ module BoxGrinder
|
|
56
66
|
def execute_plugin_chain
|
57
67
|
@log.info "Building '#{@appliance_config.name}' appliance for #{@appliance_config.hardware.arch} architecture."
|
58
68
|
|
59
|
-
base_plugin_output
|
60
|
-
platform_plugin_output
|
69
|
+
base_plugin_output = execute_os_plugin
|
70
|
+
platform_plugin_output = execute_platform_plugin(base_plugin_output)
|
61
71
|
|
62
72
|
execute_delivery_plugin(platform_plugin_output)
|
63
73
|
end
|
@@ -65,7 +75,8 @@ module BoxGrinder
|
|
65
75
|
def create
|
66
76
|
begin
|
67
77
|
PluginHelper.new(:options => @options, :log => @log).load_plugins
|
68
|
-
|
78
|
+
read_definition
|
79
|
+
validate_definition
|
69
80
|
remove_old_builds if @options.force
|
70
81
|
execute_plugin_chain
|
71
82
|
rescue
|
@@ -16,9 +16,9 @@
|
|
16
16
|
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
17
17
|
# 02110-1301 USA, or see the FSF site: http://www.fsf.org.
|
18
18
|
|
19
|
-
require '
|
19
|
+
require 'rubygems'
|
20
20
|
require 'boxgrinder-build/helpers/guestfs-helper'
|
21
|
-
require '
|
21
|
+
require 'boxgrinder-core/helpers/exec-helper'
|
22
22
|
require 'logger'
|
23
23
|
|
24
24
|
module BoxGrinder
|
@@ -5,8 +5,8 @@
|
|
5
5
|
|
6
6
|
Summary: A tool for creating appliances from simple plain text files
|
7
7
|
Name: rubygem-%{gemname}
|
8
|
-
Version: 0.6.
|
9
|
-
Release:
|
8
|
+
Version: 0.6.5
|
9
|
+
Release: 1%{?dist}
|
10
10
|
Group: Development/Languages
|
11
11
|
License: LGPLv3+
|
12
12
|
URL: http://www.jboss.org/boxgrinder
|
@@ -85,6 +85,9 @@ popd
|
|
85
85
|
%{gemdir}/doc/%{gemname}-%{version}
|
86
86
|
|
87
87
|
%changelog
|
88
|
+
* Thu Dec 02 2010 <mgoldman@redhat.com> - 0.6.5-1
|
89
|
+
- Updated to new upstream release: 0.6.5
|
90
|
+
|
88
91
|
* Mon Nov 22 2010 <mgoldman@redhat.com> - 0.6.4-3
|
89
92
|
- Changelog rewritten
|
90
93
|
- Added Require: parted and e2fsprogs
|
data/spec/appliance-spec.rb
CHANGED
@@ -18,15 +18,14 @@
|
|
18
18
|
|
19
19
|
require 'rubygems'
|
20
20
|
require 'boxgrinder-build/appliance'
|
21
|
-
#require 'rspec/rspec-config-helper'
|
22
21
|
require 'ostruct'
|
23
22
|
require 'logger'
|
24
23
|
|
25
24
|
module BoxGrinder
|
26
25
|
describe Appliance do
|
27
26
|
def prepare_appliance(options = OpenStruct.new)
|
28
|
-
options.name
|
29
|
-
options.version
|
27
|
+
options.name = 'boxgrinder'
|
28
|
+
options.version = '1.0'
|
30
29
|
|
31
30
|
@options = options
|
32
31
|
@log = Logger.new('/dev/null')
|
@@ -50,16 +49,16 @@ module BoxGrinder
|
|
50
49
|
|
51
50
|
@appliance_config.stub!(:hardware).and_return(
|
52
51
|
OpenCascade.new({
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
52
|
+
:partitions =>
|
53
|
+
{
|
54
|
+
'/' => {'size' => 2},
|
55
|
+
'/home' => {'size' => 3},
|
56
|
+
},
|
57
|
+
:arch => 'i686',
|
58
|
+
:base_arch => 'i386',
|
59
|
+
:cpus => 1,
|
60
|
+
:memory => 256,
|
61
|
+
})
|
63
62
|
)
|
64
63
|
|
65
64
|
@appliance_config
|
@@ -77,7 +76,8 @@ module BoxGrinder
|
|
77
76
|
|
78
77
|
PluginHelper.should_receive(:new).with(:options => @options, :log => @log).and_return(plugin_helper)
|
79
78
|
|
80
|
-
@appliance.should_receive(:
|
79
|
+
@appliance.should_receive(:read_definition)
|
80
|
+
@appliance.should_receive(:validate_definition)
|
81
81
|
@appliance.should_not_receive(:remove_old_builds)
|
82
82
|
@appliance.should_receive(:execute_plugin_chain)
|
83
83
|
|
@@ -92,14 +92,15 @@ module BoxGrinder
|
|
92
92
|
|
93
93
|
PluginHelper.should_receive(:new).with(:options => @options, :log => @log).and_return(plugin_helper)
|
94
94
|
|
95
|
-
@appliance.should_receive(:
|
95
|
+
@appliance.should_receive(:read_definition)
|
96
|
+
@appliance.should_receive(:validate_definition)
|
96
97
|
@appliance.should_receive(:remove_old_builds)
|
97
98
|
@appliance.should_receive(:execute_plugin_chain)
|
98
99
|
|
99
100
|
@appliance.create
|
100
101
|
end
|
101
102
|
|
102
|
-
it "should read
|
103
|
+
it "should read definition" do
|
103
104
|
prepare_appliance
|
104
105
|
|
105
106
|
appliance_config = ApplianceConfig.new
|
@@ -119,12 +120,98 @@ module BoxGrinder
|
|
119
120
|
|
120
121
|
ApplianceConfigHelper.should_receive(:new).with({}).and_return(appliance_config_helper)
|
121
122
|
|
122
|
-
|
123
|
-
|
123
|
+
@appliance.read_definition
|
124
|
+
end
|
125
|
+
|
126
|
+
describe ".validate_definition" do
|
127
|
+
it "should validate definition and pass" do
|
128
|
+
prepare_appliance
|
129
|
+
@appliance.instance_variable_set(:@appliance_config, prepare_appliance_config)
|
130
|
+
|
131
|
+
appliance_config_validator = mock(ApplianceConfigValidator)
|
132
|
+
appliance_config_validator.should_receive(:validate)
|
133
|
+
|
134
|
+
ApplianceConfigValidator.should_receive(:new).with(@appliance_config).and_return(appliance_config_validator)
|
135
|
+
|
136
|
+
puts @appliance_config
|
137
|
+
|
138
|
+
plugin_manager = mock(PluginManager)
|
139
|
+
plugin_manager.stub!(:plugins).and_return({:os => {:fedora => {:type => :os, :name => :fedora, :full_name => "Fedora", :versions => ["11", "12", "13", "14", "rawhide"]}}})
|
140
|
+
|
141
|
+
PluginManager.stub!(:instance).and_return(plugin_manager)
|
142
|
+
|
143
|
+
@appliance.validate_definition
|
144
|
+
end
|
145
|
+
|
146
|
+
it "should validate definition and fail because no operating system plugins are installed" do
|
147
|
+
prepare_appliance
|
148
|
+
@appliance.instance_variable_set(:@appliance_config, prepare_appliance_config)
|
149
|
+
|
150
|
+
appliance_config_validator = mock(ApplianceConfigValidator)
|
151
|
+
appliance_config_validator.should_receive(:validate)
|
152
|
+
|
153
|
+
ApplianceConfigValidator.should_receive(:new).with(@appliance_config).and_return(appliance_config_validator)
|
154
|
+
|
155
|
+
plugin_manager = mock(PluginManager)
|
156
|
+
plugin_manager.stub!(:plugins).and_return({:os => {}})
|
157
|
+
|
158
|
+
PluginManager.stub!(:instance).and_return(plugin_manager)
|
159
|
+
|
160
|
+
begin
|
161
|
+
@appliance.validate_definition
|
162
|
+
raise "Shouldn't raise"
|
163
|
+
rescue => e
|
164
|
+
e.message.should == "No operating system plugins installed. Install one or more operating system plugin. See http://community.jboss.org/docs/DOC-15081 and http://community.jboss.org/docs/DOC-15214 for more info"
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
it "should validate definition and fail because no supported operating system plugins is installed" do
|
169
|
+
prepare_appliance
|
170
|
+
@appliance.instance_variable_set(:@appliance_config, prepare_appliance_config)
|
171
|
+
|
172
|
+
appliance_config_validator = mock(ApplianceConfigValidator)
|
173
|
+
appliance_config_validator.should_receive(:validate)
|
174
|
+
|
175
|
+
ApplianceConfigValidator.should_receive(:new).with(@appliance_config).and_return(appliance_config_validator)
|
176
|
+
|
177
|
+
puts @appliance_config
|
178
|
+
|
179
|
+
plugin_manager = mock(PluginManager)
|
180
|
+
plugin_manager.stub!(:plugins).and_return({:os => {:rhel => {}}})
|
181
|
+
|
182
|
+
PluginManager.stub!(:instance).and_return(plugin_manager)
|
183
|
+
|
184
|
+
begin
|
185
|
+
@appliance.validate_definition
|
186
|
+
raise "Shouldn't raise"
|
187
|
+
rescue => e
|
188
|
+
e.message.should == "Not supported operating system selected: fedora. Make sure you have installed right operating system plugin, see http://community.jboss.org/docs/DOC-15214. Supported OSes are: rhel"
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
192
|
+
it "should validate definition and fail because no supported operating system version plugins is installed" do
|
193
|
+
prepare_appliance
|
194
|
+
@appliance.instance_variable_set(:@appliance_config, prepare_appliance_config)
|
195
|
+
|
196
|
+
appliance_config_validator = mock(ApplianceConfigValidator)
|
197
|
+
appliance_config_validator.should_receive(:validate)
|
198
|
+
|
199
|
+
ApplianceConfigValidator.should_receive(:new).with(@appliance_config).and_return(appliance_config_validator)
|
200
|
+
|
201
|
+
puts @appliance_config
|
202
|
+
|
203
|
+
plugin_manager = mock(PluginManager)
|
204
|
+
plugin_manager.stub!(:plugins).and_return({:os => {:fedora => {:type => :os, :name => :fedora, :full_name => "Fedora", :versions => ["xyz"]}}})
|
124
205
|
|
125
|
-
|
206
|
+
PluginManager.stub!(:instance).and_return(plugin_manager)
|
126
207
|
|
127
|
-
|
208
|
+
begin
|
209
|
+
@appliance.validate_definition
|
210
|
+
raise "Shouldn't raise"
|
211
|
+
rescue => e
|
212
|
+
e.message.should == "Not supported operating system version selected: 11. Supported versions are: xyz"
|
213
|
+
end
|
214
|
+
end
|
128
215
|
end
|
129
216
|
|
130
217
|
it "should remove old builds" do
|
@@ -147,7 +234,7 @@ module BoxGrinder
|
|
147
234
|
os_plugin.should_receive(:deliverables).and_return({:disk => 'abc'})
|
148
235
|
|
149
236
|
@plugin_manager.should_receive(:plugins).and_return({:os => "something"})
|
150
|
-
@plugin_manager.should_receive(:initialize_plugin).once.with(:os, :fedora).and_return([os_plugin, {:class => Appliance, :type => :os, :name => :fedora, :full_name
|
237
|
+
@plugin_manager.should_receive(:initialize_plugin).once.with(:os, :fedora).and_return([os_plugin, {:class => Appliance, :type => :os, :name => :fedora, :full_name => "Fedora", :versions => ["11", "12", "13", "rawhide"]}])
|
151
238
|
|
152
239
|
@appliance.execute_plugin_chain
|
153
240
|
end
|
@@ -164,7 +251,7 @@ module BoxGrinder
|
|
164
251
|
os_plugin.should_receive(:deliverables).and_return({:disk => 'abc'})
|
165
252
|
|
166
253
|
@plugin_manager.should_receive(:plugins).and_return({:os => "something"})
|
167
|
-
@plugin_manager.should_receive(:initialize_plugin).once.with(:os, :fedora).and_return([os_plugin, {:class => Appliance, :type => :os, :name => :fedora, :full_name
|
254
|
+
@plugin_manager.should_receive(:initialize_plugin).once.with(:os, :fedora).and_return([os_plugin, {:class => Appliance, :type => :os, :name => :fedora, :full_name => "Fedora", :versions => ["11", "12", "13", "rawhide"]}])
|
168
255
|
|
169
256
|
@appliance.execute_plugin_chain
|
170
257
|
end
|
@@ -182,7 +269,7 @@ module BoxGrinder
|
|
182
269
|
platform_plugin.should_receive(:deliverables).and_return({:disk => 'abc'})
|
183
270
|
|
184
271
|
@plugin_manager.should_receive(:plugins).and_return({:platform => "something"})
|
185
|
-
@plugin_manager.should_receive(:initialize_plugin).once.with(:platform, :vmware).and_return([platform_plugin, {:class => Appliance, :type => :platform, :name => :vmware, :full_name
|
272
|
+
@plugin_manager.should_receive(:initialize_plugin).once.with(:platform, :vmware).and_return([platform_plugin, {:class => Appliance, :type => :platform, :name => :vmware, :full_name => "VMware"}])
|
186
273
|
|
187
274
|
@appliance.execute_plugin_chain
|
188
275
|
end
|
@@ -200,7 +287,7 @@ module BoxGrinder
|
|
200
287
|
platform_plugin.should_receive(:deliverables).and_return({:disk => 'abc'})
|
201
288
|
|
202
289
|
@plugin_manager.should_receive(:plugins).and_return({:platform => "something"})
|
203
|
-
@plugin_manager.should_receive(:initialize_plugin).once.with(:platform, :vmware).and_return([platform_plugin, {:class => Appliance, :type => :platform, :name => :vmware, :full_name
|
290
|
+
@plugin_manager.should_receive(:initialize_plugin).once.with(:platform, :vmware).and_return([platform_plugin, {:class => Appliance, :type => :platform, :name => :vmware, :full_name => "VMware"}])
|
204
291
|
|
205
292
|
@appliance.execute_plugin_chain
|
206
293
|
end
|
@@ -217,7 +304,7 @@ module BoxGrinder
|
|
217
304
|
delivery_plugin.should_receive(:run).with(:ami)
|
218
305
|
|
219
306
|
@plugin_manager.should_receive(:plugins).and_return({:delivery => "something"})
|
220
|
-
@plugin_manager.should_receive(:initialize_plugin).with(:delivery, :ami).and_return([delivery_plugin, {:class => Appliance, :type => :delivery, :name => :s3, :full_name
|
307
|
+
@plugin_manager.should_receive(:initialize_plugin).with(:delivery, :ami).and_return([delivery_plugin, {:class => Appliance, :type => :delivery, :name => :s3, :full_name => "Amazon Simple Storage Service (Amazon S3)", :types => [:s3, :cloudfront, :ami]}])
|
221
308
|
|
222
309
|
@appliance.execute_plugin_chain
|
223
310
|
end
|
@@ -234,7 +321,7 @@ module BoxGrinder
|
|
234
321
|
delivery_plugin.should_receive(:run).with(:same)
|
235
322
|
|
236
323
|
@plugin_manager.should_receive(:plugins).and_return({:delivery => "something"})
|
237
|
-
@plugin_manager.should_receive(:initialize_plugin).with(:delivery, :same).and_return([delivery_plugin, {:class => Appliance, :type => :delivery, :name => :same, :full_name
|
324
|
+
@plugin_manager.should_receive(:initialize_plugin).with(:delivery, :same).and_return([delivery_plugin, {:class => Appliance, :type => :delivery, :name => :same, :full_name => "A plugin"}])
|
238
325
|
|
239
326
|
@appliance.execute_plugin_chain
|
240
327
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: boxgrinder-build
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 13
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 6
|
9
|
-
-
|
10
|
-
version: 0.6.
|
9
|
+
- 5
|
10
|
+
version: 0.6.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Marek Goldmann
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-12-03 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -42,12 +42,12 @@ dependencies:
|
|
42
42
|
requirements:
|
43
43
|
- - ~>
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
hash:
|
45
|
+
hash: 19
|
46
46
|
segments:
|
47
47
|
- 0
|
48
48
|
- 1
|
49
|
-
-
|
50
|
-
version: 0.1.
|
49
|
+
- 4
|
50
|
+
version: 0.1.4
|
51
51
|
type: :runtime
|
52
52
|
version_requirements: *id002
|
53
53
|
description: A tool for creating appliances from simple plain text files for various virtual environments.
|