boxgrinder-build 0.7.1 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -16,9 +16,44 @@
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 'logger'
19
20
  require 'boxgrinder-build/helpers/package-helper'
20
21
 
21
22
  module BoxGrinder
22
23
  describe PackageHelper do
24
+ before(:each) do
25
+ @config = mock('Config')
26
+ @appliance_config = mock('ApplianceConfig')
27
+ @exec_helper = mock(ExecHelper)
28
+ @log = Logger.new('/dev/null')
29
+ @appliance_config.stub!(:name).and_return('jeos-f13')
30
+
31
+ @helper = PackageHelper.new(@config, @appliance_config, :log => @log, :exec_helper => @exec_helper)
32
+ end
33
+
34
+ it "should package deliverables" do
35
+ File.should_receive(:exists?).with('destination/package.tgz').and_return(false)
36
+ File.should_receive(:expand_path).with('a/dir').and_return('a/dir/expanded')
37
+ FileUtils.should_receive(:ln_s).with('a/dir/expanded', 'destination/package')
38
+ FileUtils.should_receive(:rm).with('destination/package')
39
+
40
+ @exec_helper.should_receive(:execute).with("tar -C 'destination' -hcvzf 'destination/package.tgz' 'package'")
41
+
42
+ @helper.package('a/dir', 'destination/package.tgz')
43
+ end
44
+
45
+ it "should NOT package deliverables if pacakge already exists" do
46
+ File.should_receive(:exists?).with('destination/package.tgz').and_return(true)
47
+
48
+ @exec_helper.should_not_receive(:execute)
49
+
50
+ @helper.package('a/dir', 'destination/package.tgz')
51
+ end
52
+
53
+ it "should raise if unsupported format is specified" do
54
+ lambda {
55
+ @helper.package('a/dir', 'destination/package.tgz', :xyz)
56
+ }.should raise_error("Specified format: 'xyz' is currently unsupported.")
57
+ end
23
58
  end
24
59
  end
@@ -16,49 +16,47 @@
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 'boxgrinder-core/helpers/log-helper'
19
20
  require 'boxgrinder-build/helpers/plugin-helper'
20
21
  require 'ostruct'
21
22
 
22
23
  module BoxGrinder
23
24
  describe PluginHelper do
24
25
  before(:all) do
25
- @current_arch = (-1.size) == 8 ? "x86_64" : "i386"
26
- @plugin_array = %w(boxgrinder-build-fedora-os-plugin boxgrinder-build-rhel-os-plugin boxgrinder-build-centos-os-plugin boxgrinder-build-ec2-platform-plugin boxgrinder-build-vmware-platform-plugin boxgrinder-build-s3-delivery-plugin boxgrinder-build-sftp-delivery-plugin boxgrinder-build-local-delivery-plugin boxgrinder-build-ebs-delivery-plugin)
26
+ @plugin_array = %w(boxgrinder-build-fedora-os-plugin boxgrinder-build-rhel-os-plugin boxgrinder-build-centos-os-plugin boxgrinder-build-ec2-platform-plugin boxgrinder-build-vmware-platform-plugin boxgrinder-build-virtualbox-platform-plugin boxgrinder-build-s3-delivery-plugin boxgrinder-build-sftp-delivery-plugin boxgrinder-build-local-delivery-plugin boxgrinder-build-ebs-delivery-plugin)
27
27
  end
28
28
 
29
29
  before(:each) do
30
- @plugin_helper = PluginHelper.new(:options => OpenStruct.new)
30
+ @log = LogHelper.new(:level => :trace, :type => :stdout)
31
+ @plugin_helper = PluginHelper.new(OpenStruct.new(:additional_plugins => []), :log => @log)
31
32
  end
32
33
 
33
- it "should parse plugin list and return empty array when no plugins are provided" do
34
- @plugin_helper.parse_plugin_list.should == []
35
- end
34
+ it "should require default plugins" do
35
+ @plugin_array.each do |plugin|
36
+ @plugin_helper.should_receive(:require).once.with(plugin)
37
+ end
36
38
 
37
- it "should parse plugin list with double quotes" do
38
- @plugin_helper = PluginHelper.new(:options => OpenStruct.new(:plugins => '"abc,def"'))
39
- @plugin_helper.parse_plugin_list.should == ['abc', 'def']
39
+ @plugin_helper.read_and_require
40
40
  end
41
41
 
42
- it "should parse plugin list with single quotes" do
43
- @plugin_helper = PluginHelper.new(:options => OpenStruct.new(:plugins => "'abc,def'"))
44
- @plugin_helper.parse_plugin_list.should == ['abc', 'def']
45
- end
42
+ it "should require default plugins and fail silently" do
43
+ @log = mock('Logger')
46
44
 
47
- it "should parse plugin list with single quotes and clean up it" do
48
- @plugin_helper = PluginHelper.new(:options => OpenStruct.new(:plugins => "' abc , def'"))
49
- @plugin_helper.parse_plugin_list.should == ['abc', 'def']
50
- end
45
+ @plugin_helper.instance_variable_set(:@log, @log)
51
46
 
52
- it "should require default plugins" do
53
47
  @plugin_array.each do |plugin|
54
- @plugin_helper.should_receive(:require).once.with(plugin)
48
+ @log.should_receive(:trace).with("Loading plugin '#{plugin}'...")
49
+ @plugin_helper.should_receive(:require).once.with(plugin).and_raise(LoadError)
50
+ @log.should_receive(:trace).with("- Not found: LoadError")
55
51
  end
56
52
 
53
+ @log.should_not_receive(:warn)
54
+
57
55
  @plugin_helper.read_and_require
58
56
  end
59
57
 
60
58
  it "should read plugins specified in command line" do
61
- @plugin_helper = PluginHelper.new(:options => OpenStruct.new(:plugins => 'abc,def'))
59
+ @plugin_helper = PluginHelper.new(OpenStruct.new(:additional_plugins => ['abc', 'def']), :log => @log)
62
60
 
63
61
  @plugin_array.each do |plugin|
64
62
  @plugin_helper.should_receive(:require).once.with(plugin)
@@ -69,6 +67,52 @@ module BoxGrinder
69
67
 
70
68
  @plugin_helper.read_and_require
71
69
  end
70
+
71
+ it "should read plugins specified in command line and warn if plugin cannot be loaded" do
72
+ @log = mock('Logger')
73
+ @plugin_helper = PluginHelper.new(OpenStruct.new(:additional_plugins => ['abc']), :log => @log)
74
+
75
+ @plugin_array.each do |plugin|
76
+ @log.should_receive(:trace).with("Loading plugin '#{plugin}'...")
77
+ @plugin_helper.should_receive(:require).once.with(plugin)
78
+ @log.should_receive(:trace).with("- OK")
79
+ end
80
+
81
+ @log.should_receive(:trace).with("Loading plugin 'abc'...")
82
+ @plugin_helper.should_receive(:require).ordered.with('abc').and_raise(LoadError)
83
+ @log.should_receive(:trace).with("- Not found: LoadError")
84
+ @log.should_receive(:warn).with("Specified plugin: 'abc' wasn't found. Make sure its name is correct, skipping...")
85
+
86
+ @plugin_helper.read_and_require
87
+ end
88
+
89
+ it "should print os plugins" do
90
+ @log = mock('Logger')
91
+
92
+ @plugin_helper.instance_variable_set(:@log, @log)
93
+
94
+ @log.should_receive(:debug).with('Loading os plugins...')
95
+ @log.should_receive(:debug).with('We have 1 os plugin(s) registered')
96
+ @log.should_receive(:debug).with("- fedora plugin for Fedora.")
97
+ @log.should_receive(:debug).with('Plugins loaded.')
98
+
99
+ @plugin_helper.print_plugins('os') { {'fedora' => {:full_name => "Fedora"}} }
100
+ end
101
+
102
+ it "should load all plugins" do
103
+ @plugin_helper.should_receive(:read_and_require)
104
+
105
+ plugin_manager = mock('PluginManager')
106
+ plugin_manager.stub!(:plugins).and_return({:os =>{}, :platform =>{}, :delivery =>{}})
107
+
108
+ PluginManager.stub!(:instance).and_return(plugin_manager)
109
+
110
+ @plugin_helper.should_receive(:print_plugins).with('os')
111
+ @plugin_helper.should_receive(:print_plugins).with('platform')
112
+ @plugin_helper.should_receive(:print_plugins).with('delivery')
113
+
114
+ @plugin_helper.load_plugins
115
+ end
72
116
  end
73
117
  end
74
118
 
@@ -26,14 +26,14 @@ module BoxGrinder
26
26
  end
27
27
 
28
28
  it "should register simple plugin" do
29
- @manager.register_plugin( { :class => PluginManager, :type => :delivery, :name => :abc, :full_name => "Amazon Simple Storage Service (Amazon S3)" } )
29
+ @manager.register_plugin({:class => PluginManager, :type => :delivery, :name => :abc, :full_name => "Amazon Simple Storage Service (Amazon S3)"})
30
30
 
31
31
  @manager.plugins[:delivery].size.should == 1
32
32
  @manager.plugins[:delivery][:abc][:class].should == PluginManager
33
33
  end
34
34
 
35
35
  it "should register plugin with many types" do
36
- @manager.register_plugin( { :class => PluginManager, :type => :delivery, :name => :s3, :full_name => "Amazon Simple Storage Service (Amazon S3)", :types => [:s3, :cloudfront, :ami] } )
36
+ @manager.register_plugin({:class => PluginManager, :type => :delivery, :name => :s3, :full_name => "Amazon Simple Storage Service (Amazon S3)", :types => [:s3, :cloudfront, :ami]})
37
37
 
38
38
  @manager.plugins[:delivery].size.should == 4
39
39
  @manager.plugins[:delivery][:abc][:class].should == PluginManager
@@ -41,5 +41,36 @@ module BoxGrinder
41
41
  @manager.plugins[:delivery][:s3][:class].should == PluginManager
42
42
  @manager.plugins[:delivery][:cloudfront][:class].should == PluginManager
43
43
  end
44
+
45
+ it "should initialize a plugin" do
46
+ plugin = mock('Plugin')
47
+
48
+ clazz = mock('Class')
49
+ clazz.should_receive(:new).and_return(plugin)
50
+
51
+ @manager.instance_variable_set(:@plugins, {:delivery => {}, :os => {:fedora => {:class => clazz}}, :platform => {}})
52
+ @manager.initialize_plugin(:os, :fedora).should == [plugin, {:class => clazz}]
53
+ end
54
+
55
+ it "should raise if plugin initialization cannot be finished" do
56
+ clazz = mock('Class')
57
+ clazz.should_receive(:new).and_raise("Something")
58
+ clazz.should_receive(:to_s).and_return("Fedora")
59
+
60
+ @manager.instance_variable_set(:@plugins, {:delivery => {}, :os => {:fedora => {:class => clazz}}, :platform => {}})
61
+
62
+ lambda {
63
+ @manager.initialize_plugin(:os, :fedora)
64
+ }.should raise_error("Error while initializing 'Fedora' plugin.")
65
+ end
66
+
67
+ it "should register the plugin with 'plugin' method" do
68
+ plugin_manager = mock(PluginManager)
69
+ plugin_manager.should_receive(:register_plugin).with(:class => String, :type => :platform, :name => :ec2, :full_name => "Amazon Elastic Compute Cloud (Amazon EC2)")
70
+
71
+ PluginManager.should_receive(:instance).and_return(plugin_manager)
72
+
73
+ plugin :class => String, :type => :platform, :name => :ec2, :full_name => "Amazon Elastic Compute Cloud (Amazon EC2)"
74
+ end
44
75
  end
45
76
  end
@@ -18,6 +18,7 @@
18
18
 
19
19
  require 'rubygems'
20
20
  require 'boxgrinder-build/plugins/base-plugin'
21
+ require 'boxgrinder-core/helpers/log-helper'
21
22
  require 'yaml'
22
23
 
23
24
  module BoxGrinder
@@ -27,13 +28,22 @@ module BoxGrinder
27
28
  @config.stub!(:name).and_return('BoxGrinder')
28
29
  @config.stub!(:version_with_release).and_return('0.1.2')
29
30
 
31
+ plugins = mock('Plugins')
32
+ plugins.stub!(:[]).with('plugin_name').and_return({})
33
+
34
+ @config.stub!(:[]).with(:plugins).and_return(plugins)
35
+ @config.stub!(:file).and_return('/home/abc/boxgrinder_config_file')
36
+
30
37
  @appliance_config = mock('ApplianceConfig')
31
38
 
32
39
  @appliance_config.stub!(:path).and_return(OpenCascade.new({:build => 'build/path'}))
33
- @appliance_config.stub!(:os).and_return(OpenCascade.new({:name => 'fedora', :version => '11'}))
40
+ @appliance_config.stub!(:os).and_return(OpenCascade.new({:name => 'fedora', :version => '13'}))
41
+
42
+ @log = LogHelper.new(:level => :trace, :type => :stdout)
34
43
 
35
44
  @plugin = BasePlugin.new
36
- @plugin.init(@config, @appliance_config, :plugin_info => {:name => :plugin_name}, :log => Logger.new('/dev/null'))
45
+ @plugin.should_receive(:merge_plugin_config)
46
+ @plugin.init(@config, @appliance_config, :plugin_info => {:name => :plugin_name, :full_name => "Amazon Simple Storage Service (Amazon S3)"}, :log => @log)
37
47
  end
38
48
 
39
49
  it "should be initialized after running init method" do
@@ -93,18 +103,28 @@ module BoxGrinder
93
103
  @plugin.deliverables_exists?.should == false
94
104
  end
95
105
 
96
- it "should run the plugin" do
97
- @plugin.register_deliverable(:disk => "disk")
106
+ describe ".run" do
107
+ it "should run the plugin" do
108
+ @plugin.register_supported_os('fedora', ['12', '13'])
109
+ @plugin.register_deliverable(:disk => "disk")
98
110
 
99
- FileUtils.should_receive(:rm_rf).with("build/path/plugin_name-plugin/tmp")
100
- FileUtils.should_receive(:mkdir_p).with("build/path/plugin_name-plugin/tmp")
111
+ FileUtils.should_receive(:rm_rf).with("build/path/plugin_name-plugin/tmp")
112
+ FileUtils.should_receive(:mkdir_p).with("build/path/plugin_name-plugin/tmp")
101
113
 
102
- @plugin.should_receive(:execute).with('a', 3)
114
+ @plugin.should_receive(:execute).with('a', 3)
103
115
 
104
- FileUtils.should_receive(:mv).with("build/path/plugin_name-plugin/tmp/disk", "build/path/plugin_name-plugin/disk")
105
- FileUtils.should_receive(:rm_rf).with("build/path/plugin_name-plugin/tmp")
116
+ FileUtils.should_receive(:mv).with("build/path/plugin_name-plugin/tmp/disk", "build/path/plugin_name-plugin/disk")
117
+ FileUtils.should_receive(:rm_rf).with("build/path/plugin_name-plugin/tmp")
106
118
 
107
- @plugin.run('a', 3)
119
+ @plugin.run('a', 3)
120
+ end
121
+
122
+ it "should fail if OS is not supported" do
123
+ @plugin.register_supported_os('fedora', ['12', '13'])
124
+ @appliance_config.stub!(:os).and_return(OpenCascade.new({:name => 'fedora', :version => '14'}))
125
+ @log.should_receive(:error).with('Amazon Simple Storage Service (Amazon S3) plugin supports following operating systems: fedora (versions: 12, 13). Your appliance contains fedora 14 operating system which is not supported by this plugin, sorry.')
126
+ @plugin.run
127
+ end
108
128
  end
109
129
 
110
130
  it "should register a supported os" do
@@ -120,7 +140,7 @@ module BoxGrinder
120
140
  it "should return that the OS is supported" do
121
141
  @plugin.register_supported_os('fedora', ['12', '13'])
122
142
 
123
- @plugin.instance_variable_get(:@appliance_config).os.name = 'fedora'
143
+ @plugin.instance_variable_get(:@appliance_config).os.name = 'fedora'
124
144
  @plugin.instance_variable_get(:@appliance_config).os.version = '12'
125
145
 
126
146
  @plugin.is_supported_os?.should == true
@@ -129,12 +149,16 @@ module BoxGrinder
129
149
  it "should return that the OS is not supported" do
130
150
  @plugin.register_supported_os('fedora', ['1223'])
131
151
 
132
- @plugin.instance_variable_get(:@appliance_config).os.name = 'fedora'
152
+ @plugin.instance_variable_get(:@appliance_config).os.name = 'fedora'
133
153
  @plugin.instance_variable_get(:@appliance_config).os.version = '12'
134
154
 
135
155
  @plugin.is_supported_os?.should == false
136
156
  end
137
157
 
158
+ it "should return false when no operating systems are specified" do
159
+ @plugin.is_supported_os?.should == true
160
+ end
161
+
138
162
  it "should return supported os string" do
139
163
  @plugin.register_supported_os('fedora', ['12', '13'])
140
164
  @plugin.register_supported_os('centos', ['5'])
@@ -148,29 +172,61 @@ module BoxGrinder
148
172
  @plugin.instance_variable_get(:@plugin_config)['key'].should == 'avalue'
149
173
  end
150
174
 
151
- it "should read plugin config" do
152
- @plugin.instance_variable_set(:@config_file, "configfile")
175
+ describe ".read_plugin_config" do
176
+ it "should read plugin config" do
177
+ plugins = mock('Plugins')
178
+ plugins.stub!(:[]).with('plugin_name').and_return({'abc' => 'def'})
179
+ @config.stub!(:[]).with(:plugins).and_return(plugins)
180
+
181
+ @plugin.read_plugin_config
182
+ @plugin.instance_variable_get(:@plugin_config)['abc'].should == 'def'
183
+ end
184
+
185
+ it "should read plugin config and exit early" do
186
+ @config.stub!(:[]).with(:plugins).and_return(nil)
187
+ @plugin.read_plugin_config
188
+ end
189
+ end
153
190
 
154
- File.should_receive(:exists?).with('configfile').and_return(true)
155
- YAML.should_receive(:load_file).with('configfile').and_return('abcdef')
191
+ describe ".current_platform" do
192
+ it "should return raw" do
193
+ @plugin.current_platform.should == 'raw'
194
+ end
156
195
 
157
- @plugin.read_plugin_config
196
+ it "should return vmware" do
197
+ @plugin.instance_variable_set(:@previous_plugin_info, {:type => :platform, :name => :vmware})
158
198
 
159
- @plugin.instance_variable_get(:@plugin_config).should == 'abcdef'
199
+ @plugin.current_platform.should == 'vmware'
200
+ end
160
201
  end
161
202
 
162
- it "should read plugin config and raise an exception" do
163
- @plugin.instance_variable_set(:@config_file, "configfile")
203
+ describe ".validate_plugin_config" do
204
+ it "should validate plugn config" do
205
+ @plugin.instance_variable_set(:@plugin_config, {'one' => :platform, 'two' => :vmware})
164
206
 
165
- File.should_receive(:exists?).with('configfile').and_return(true)
166
- YAML.should_receive(:load_file).with('configfile').and_raise('something')
207
+ @plugin.validate_plugin_config(['one', 'two'])
208
+ end
167
209
 
168
- begin
169
- @plugin.read_plugin_config
170
- raise "Should raise"
171
- rescue => e
172
- e.message.should == "An error occurred while reading configuration file 'configfile' for BoxGrinder::BasePlugin. Is it a valid YAML file?"
210
+ it "should raise because some data isn't provided" do
211
+ @plugin.instance_variable_set(:@plugin_config, {'one' => :platform, 'two' => :vmware})
212
+
213
+ lambda {
214
+ @plugin.validate_plugin_config(['one', 'two', 'three'])
215
+ }.should raise_error(RuntimeError, "Please specify a valid 'three' key in BoxGrinder configuration file: '/home/abc/boxgrinder_config_file' or use CLI '---config three:DATA' argument. ")
173
216
  end
174
217
  end
218
+
219
+ it "should not allow to execute the plugin before initialization" do
220
+ @plugin = BasePlugin.new
221
+
222
+ lambda {
223
+ @plugin.execute
224
+ }.should raise_error(RuntimeError, "You can only execute the plugin after the plugin is initialized, please initialize the plugin using init method.")
225
+ end
226
+
227
+ it "should return target deliverables" do
228
+ @plugin.register_deliverable(:disk => "disk", :vmx => "vmx")
229
+ @plugin.deliverables.should == {:disk => "build/path/plugin_name-plugin/disk", :vmx => "build/path/plugin_name-plugin/vmx"}
230
+ end
175
231
  end
176
232
  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: 1
4
+ hash: 63
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 7
9
- - 1
10
- version: 0.7.1
8
+ - 8
9
+ - 0
10
+ version: 0.8.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Marek Goldmann
@@ -15,23 +15,22 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-01-03 00:00:00 +01:00
18
+ date: 2011-02-09 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: commander
22
+ name: thor
23
23
  prerelease: false
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ~>
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
- hash: 57
29
+ hash: 17
30
30
  segments:
31
- - 4
32
31
  - 0
33
- - 3
34
- version: 4.0.3
32
+ - 13
33
+ version: "0.13"
35
34
  type: :runtime
36
35
  version_requirements: *id001
37
36
  - !ruby/object:Gem::Dependency
@@ -42,25 +41,26 @@ dependencies:
42
41
  requirements:
43
42
  - - ~>
44
43
  - !ruby/object:Gem::Version
45
- hash: 17
44
+ hash: 23
46
45
  segments:
47
46
  - 0
48
- - 1
49
- - 5
50
- version: 0.1.5
47
+ - 2
48
+ - 0
49
+ version: 0.2.0
51
50
  type: :runtime
52
51
  version_requirements: *id002
53
52
  description: A tool for creating appliances from simple plain text files for various virtual environments.
54
53
  email: info@boxgrinder.org
55
54
  executables:
56
- - boxgrinder-build
55
+ - boxgrinder
57
56
  extensions: []
58
57
 
59
58
  extra_rdoc_files:
60
59
  - CHANGELOG
61
60
  - LICENSE
62
61
  - README
63
- - bin/boxgrinder-build
62
+ - bin/boxgrinder
63
+ - lib/boxgrinder-build.rb
64
64
  - lib/boxgrinder-build/appliance.rb
65
65
  - lib/boxgrinder-build/helpers/appliance-customize-helper.rb
66
66
  - lib/boxgrinder-build/helpers/augeas-helper.rb
@@ -69,6 +69,7 @@ extra_rdoc_files:
69
69
  - lib/boxgrinder-build/helpers/linux-helper.rb
70
70
  - lib/boxgrinder-build/helpers/package-helper.rb
71
71
  - lib/boxgrinder-build/helpers/plugin-helper.rb
72
+ - lib/boxgrinder-build/helpers/thor-helper.rb
72
73
  - lib/boxgrinder-build/managers/plugin-manager.rb
73
74
  - lib/boxgrinder-build/plugins/base-plugin.rb
74
75
  files:
@@ -77,8 +78,9 @@ files:
77
78
  - Manifest
78
79
  - README
79
80
  - Rakefile
80
- - bin/boxgrinder-build
81
+ - bin/boxgrinder
81
82
  - boxgrinder-build.gemspec
83
+ - lib/boxgrinder-build.rb
82
84
  - lib/boxgrinder-build/appliance.rb
83
85
  - lib/boxgrinder-build/helpers/appliance-customize-helper.rb
84
86
  - lib/boxgrinder-build/helpers/augeas-helper.rb
@@ -87,6 +89,7 @@ files:
87
89
  - lib/boxgrinder-build/helpers/linux-helper.rb
88
90
  - lib/boxgrinder-build/helpers/package-helper.rb
89
91
  - lib/boxgrinder-build/helpers/plugin-helper.rb
92
+ - lib/boxgrinder-build/helpers/thor-helper.rb
90
93
  - lib/boxgrinder-build/managers/plugin-manager.rb
91
94
  - lib/boxgrinder-build/plugins/base-plugin.rb
92
95
  - rubygem-boxgrinder-build.spec
@@ -101,8 +104,6 @@ files:
101
104
  - spec/helpers/plugin-helper-spec.rb
102
105
  - spec/managers/plugin-manager-spec.rb
103
106
  - spec/plugins/base-plugin-spec.rb
104
- - spec/rspec/src/appliances/jeos-f13.appl
105
- - spec/rspec/src/appliances/jeos-f13.ks
106
107
  has_rdoc: true
107
108
  homepage: http://www.jboss.org/boxgrinder
108
109
  licenses: []