boxgrinder-build 0.7.1 → 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.
@@ -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: []