build-tool 0.6.0.rc1 → 0.6.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- build-tool (0.6)
4
+ build-tool (0.6.0.rc2)
5
5
  activerecord (>= 3.2.1)
6
6
  ansi (>= 1.4.2)
7
7
  grit (>= 2.4.1)
@@ -23,7 +23,7 @@ GEM
23
23
  i18n (~> 0.6)
24
24
  multi_json (~> 1.0)
25
25
  ansi (1.4.2)
26
- arel (3.0.0)
26
+ arel (3.0.2)
27
27
  builder (3.0.0)
28
28
  diff-lcs (1.1.3)
29
29
  grit (2.4.1)
@@ -46,27 +46,6 @@ def initialize( name, application_root )
46
46
  @local_settings_file_path = local_configuration_dir.join("#{@name}.yaml")
47
47
  end
48
48
 
49
- # Execute necessary migration steps
50
- def migrate()
51
-
52
- logger.debug( 'Checking for obsolete modules in db.' )
53
- for mod in @configuration.modules do
54
- if not mod.found_in_recipe
55
- logger.info 'Module %s no longer supported by recipe. Removing it from db.' % [ mod.name ]
56
- mod.destroy()
57
- end
58
- end
59
-
60
- logger.debug( 'Checking for obsolete settings in db.' )
61
- @configuration.settings.each do |n, s|
62
- if not s.seen and not n.start_with? 'BUILD_TOOL.'
63
- logger.info 'Setting %s no longer supported by recipe. Removing it from db.' % [ s.name ]
64
- s.destroy()
65
- end
66
- end
67
-
68
- end
69
-
70
49
  # Load the configuration
71
50
  def configuration
72
51
  return @configuration if @configuration
@@ -140,7 +119,7 @@ def configuration
140
119
  @configuration.save
141
120
 
142
121
  # Migrate the recipe (if necessary)
143
- migrate()
122
+ @configuration.migrate()
144
123
 
145
124
  # Finished.
146
125
  @configuration
@@ -376,85 +376,15 @@ def initialize_options
376
376
  end
377
377
  end
378
378
 
379
- # Complete buildsets
380
- def complete_buildsets( name )
381
- if name == ':all'
382
- return complete_modules( '*' )
383
- end
384
- end
385
-
386
379
  # Gathers all modules currently known.
387
380
  #
388
381
  # @param all Return template modules too.
389
382
  def complete_modules( name, include_templates = false )
390
- if name.start_with? ':'
391
- return complete_buildsets( name )
392
- end
393
- res = []
394
- found = false
395
- should_be_unique = false
396
- resume = ( @resume_from.nil? and @resume_after.nil? )
397
- configuration.modules.each do |mod|
398
- take_module = false
399
- next if ( !include_templates and mod.is_template? )
400
- # We match on the following conditions:
401
- # 1. name = mod.name
402
- # 2. name/ matches beginning of mod.name
403
- # 3. name equals last part of mod.name (behind /) and is unique
404
- if name.end_with?('/') and ( mod.name.index "/#{name}" or mod.name.start_with? name )
405
- found = true
406
- # Now check if it is active.
407
- next if !( mod.active? || @all )
408
- take_module = true
409
- elsif mod.name == name
410
- found = true
411
- should_be_unique = true
412
- take_module = true
413
- elsif name == '*'
414
- found = true
415
- # Now check if it is active.
416
- next if !( mod.active? || @all )
417
- take_module = true
418
- elsif mod.name.end_with?( "/#{name}" )
419
- found = true
420
- should_be_unique = true
421
- take_module = true
422
- end
423
-
424
- if not resume and @resume_from and mod.name == @resume_from.name
425
- resume = true
426
- end
427
-
428
- res << mod if resume and take_module
429
-
430
- if not resume and @resume_after and mod.name == @resume_after.name
431
- resume = true
432
- end
433
-
434
- end
435
-
436
- # Raise an error if the module was not found
437
- if !found
438
- raise UsageError, "Unknown module/package #{name}"
439
- end
440
-
441
- # Raise an error if the result should be unique but is not.
442
- if should_be_unique and res.size > 1
443
- raise UsageError, "#{name} is ambiguous (#{res.map { |m| m.name }.join( ', ' ) })."
444
- end
445
-
446
- # Give a warning if all modules where
447
- warn( "All modules for #{name} are inactive! Will ignore it." ) if res.empty?
448
- return res
383
+ configuration.complete_modules( name, include_templates, @all, @resume_from, @resume_after )
449
384
  end
450
385
 
451
386
  def complete_module( name, include_templates = false )
452
- modules = complete_modules( name, include_templates )
453
- case modules.size
454
- when 0 then return nil
455
- when 1 then return modules[0]
456
- else raise UsageError, "#{name} is ambiguous. Please be more specific"
457
- end
387
+ configuration.complete_module( name, include_templates, @all, @resume_from, @resume_after )
458
388
  end
459
389
 
460
390
  def while_logging_to( dir, fname, level, &block )
@@ -624,11 +554,11 @@ def do_execute( args )
624
554
  info( "User Interrupt" )
625
555
  return -1
626
556
  rescue BuildTool::Error => e
627
- error( e.message )
557
+ error( '%s: %s' % [ mod.name, e.message ] )
628
558
  verbose( e.backtrace.join("\n") )
629
559
  raise
630
560
  rescue Exception => e
631
- error( "#{e.class}:#{e.message}" )
561
+ error( '%s:%s: %s' % [ mod.name, e.class, e.message ] )
632
562
  verbose( e.backtrace.join("\n") )
633
563
  raise
634
564
  end
@@ -54,10 +54,10 @@ def disable_feature( name )
54
54
  end
55
55
 
56
56
  if @default and feature.default_active? == false
57
- info( '%s: using default (disabled).' % mod.name )
57
+ info( '%s: using default (disabled).' % feature.name )
58
58
  feature.active = nil
59
59
  else
60
- info( '%s: disabled explicitely.' % mod.name )
60
+ info( '%s: disabled explicitely.' % feature.name )
61
61
  feature.active = false
62
62
  end
63
63
  end
@@ -40,7 +40,7 @@ def initialize_options
40
40
  def is_module_ready?( mod )
41
41
  isready = true
42
42
  isready &= mod.ready_for_fetch
43
- if isready && !mod.vcs.fetching_supported?
43
+ if isready && !mod.vcs_required.fetching_supported?
44
44
  warn( "#{mod.name}: fetching not supported by #{mod.vcs.name} -> implicit rebase." )
45
45
  end
46
46
  return isready
@@ -72,7 +72,7 @@ def print_file( filename )
72
72
 
73
73
  erb = ERB.new( file.read, nil, "%<>" )
74
74
  b = binding
75
- settings = recipe.settings
75
+ settings = BuildTool::Application.instance.configuration.settings
76
76
  puts erb.result(b)
77
77
  return 0
78
78
  end
@@ -236,6 +236,115 @@ def truncate
236
236
  @settings = {}
237
237
  end
238
238
 
239
+ # Execute the necessary steps to adapt the configuration to the current state of the
240
+ # recipe.
241
+ #
242
+ # The recipe has to be loaded before calling this method. With the configuration given.
243
+ # The method removes obsolete stuff from the database.
244
+ def migrate()
245
+
246
+ logger.debug( 'Checking for obsolete modules in db.' )
247
+ for mod in @modules do
248
+ if not mod.found_in_recipe
249
+ logger.info 'Module %s no longer supported by recipe. Removing it from db.' % [ mod.name ]
250
+ # Remove it from our bookkeeping first.
251
+ @module.delete( mod.name )
252
+ @modules.delete( mod )
253
+ # Remove it from the db
254
+ mod.destroy()
255
+ end
256
+ end
257
+
258
+ logger.debug( 'Checking for obsolete settings in db.' )
259
+ settings.each do |n, s|
260
+ if not s.seen and not n.start_with? 'BUILD_TOOL.'
261
+ logger.info 'Setting %s no longer supported by recipe. Removing it from db.' % [ s.name ]
262
+ s.destroy()
263
+ end
264
+ end
265
+
266
+ end
267
+
268
+ # Complete buildsets
269
+ def complete_buildsets( name )
270
+ if name == ':all'
271
+ return complete_modules( '*' )
272
+ end
273
+ end
274
+
275
+ def complete_module( name, include_templates = false, all = false, resume_from = nil, resume_after = nil )
276
+ modules = complete_modules( name, include_templates, all, resume_from, resume_after )
277
+ case modules.size
278
+ when 0 then return nil
279
+ when 1 then return modules[0]
280
+ else raise BuildTool::ConfigurationError, "#{name} is ambiguous. Please be more specific"
281
+ end
282
+ end
283
+
284
+ def complete_modules( name, include_templates = false, all = false, resume_from = nil, resume_after = nil )
285
+ if name.start_with? ':'
286
+ return complete_buildsets( name )
287
+ end
288
+ res = []
289
+ found = false
290
+ should_be_unique = false
291
+ resume = ( resume_from.nil? and resume_after.nil? )
292
+ modules.each do |mod|
293
+ take_module = false
294
+ next if ( !include_templates and mod.is_template? )
295
+ # We match on the following conditions:
296
+ # 1. name = mod.name
297
+ # 2. name/ matches beginning of mod.name
298
+ # 3. name equals last part of mod.name (behind /) and is unique
299
+ if name.end_with?('/') and ( mod.name.index "/#{name}" or mod.name.start_with? name )
300
+ found = true
301
+ # Now check if it is active.
302
+ next if !( mod.active? || all )
303
+ take_module = true
304
+ elsif mod.name == name or mod.name.end_with?( "/#{name}" )
305
+ # if a module is specified by name we add it regardless of its enabled /
306
+ # disabled state. But only if the associated features is enabled.
307
+ if ( mod.active? ) or ( !mod.active? && ( mod.feature.nil? || mod.feature.active? ) )
308
+ found = true
309
+ should_be_unique = true
310
+ take_module = true
311
+ else
312
+ raise BuildTool::ConfigurationError, "Can't select module %s from inactive feature %s" % [ mod.name, mod.feature.name ]
313
+ end
314
+ elsif name == '*'
315
+ found = true
316
+ # Now check if it is active.
317
+ next if !( mod.active? || @all )
318
+ take_module = true
319
+ end
320
+
321
+ if not resume and resume_from and mod.name == resume_from.name
322
+ resume = true
323
+ end
324
+
325
+ res << mod if resume and take_module
326
+
327
+ if not resume and resume_after and mod.name == resume_after.name
328
+ resume = true
329
+ end
330
+
331
+ end
332
+
333
+ # Raise an error if the module was not found
334
+ if !found
335
+ raise BuildTool::ConfigurationError, "Unknown module/package #{name}"
336
+ end
337
+
338
+ # Raise an error if the result should be unique but is not.
339
+ if should_be_unique and res.size > 1
340
+ raise BuildTool::ConfigurationError, "#{name} is ambiguous (#{res.map { |m| m.name }.join( ', ' ) })."
341
+ end
342
+
343
+ # Give a warning if all modules where
344
+ warn( "All modules for #{name} are inactive! Will ignore it." ) if res.empty?
345
+ return res
346
+ end
347
+
239
348
  end # Configuration
240
349
 
241
350
  end # module BuildTool
@@ -52,7 +52,7 @@ def my_initialize()
52
52
  ### ATTRIBUTES
53
53
  #
54
54
 
55
- attr_writer :feature
55
+ attr_accessor :feature
56
56
  attr_reader :patches
57
57
 
58
58
  # The previous version of this module.
@@ -26,5 +26,5 @@ def recipe_version()
26
26
 
27
27
  end
28
28
 
29
- VERSION = Version.new( 0, 6, 0, 1 )
29
+ VERSION = Version.new( 0, 6, 0, 2 )
30
30
  end
@@ -0,0 +1,129 @@
1
+ require 'test_helper.rb'
2
+
3
+ require 'build-tool/cfg/parser'
4
+ require 'build-tool/configuration'
5
+
6
+ class TestConfiguration < ActiveSupport::TestCase
7
+
8
+ def setup()
9
+ @configuration = BuildTool::Configuration.new()
10
+ @configuration.truncate()
11
+ @parser = BuildTool::Cfg::Parser.new( @configuration )
12
+
13
+ assert_nothing_raised() { @parser.parse_string <<-EOF }
14
+ log-directory "$HOME/test/log"
15
+
16
+ module "toplevel1_enabled"
17
+ end
18
+
19
+ module "toplevel2_disabled"
20
+ end
21
+ disable module "toplevel2_disabled"
22
+
23
+ feature "feature1"
24
+
25
+ module "feature1/module1"
26
+ end
27
+
28
+ module "feature1/module2"
29
+ end
30
+
31
+ module "feature1/module3"
32
+ end
33
+
34
+ disable module "feature1/module2"
35
+ end
36
+
37
+ feature "feature2"
38
+
39
+ module "feature2/module1"
40
+ end
41
+
42
+ module "feature2/module2"
43
+ end
44
+ disable module "feature2/module2"
45
+ end
46
+ disable feature "feature2"
47
+ EOF
48
+ end
49
+
50
+ test '":all" works.' do
51
+ assert_equal(
52
+ [ 'toplevel1_enabled', 'feature1/module1', 'feature1/module3' ],
53
+ @configuration.complete_modules( ":all" ).map { |m| m.name } )
54
+ end
55
+
56
+ test 'selecting a active toplevel module works.' do
57
+ assert_equal(
58
+ [ 'toplevel1_enabled' ],
59
+ @configuration.complete_modules( 'toplevel1_enabled' ).map { |m| m.name } )
60
+ end
61
+
62
+ test 'selecting a inactive toplevel module works.' do
63
+ assert_equal(
64
+ [ 'toplevel2_disabled' ],
65
+ @configuration.complete_modules( 'toplevel2_disabled' ).map { |m| m.name } )
66
+ end
67
+
68
+
69
+ test 'selecting a active module works from a active feature works.' do
70
+ assert_equal(
71
+ [ 'feature1/module1' ],
72
+ @configuration.complete_modules( 'feature1/module1' ).map { |m| m.name } )
73
+ end
74
+
75
+ test 'selecting a inactive module from a active feature works.' do
76
+ assert_equal(
77
+ [ 'feature1/module2' ],
78
+ @configuration.complete_modules( 'feature1/module2' ).map { |m| m.name } )
79
+ end
80
+
81
+ test 'selecting a active module from a inactive feature works not.' do
82
+ assert_raises( BuildTool::ConfigurationError ) do
83
+ @configuration.complete_modules( 'feature2/module1' )
84
+ end
85
+ end
86
+
87
+ test 'selecting a inactive module from a inactive feature works not.' do
88
+ assert_raises( BuildTool::ConfigurationError ) do
89
+ @configuration.complete_modules( 'feature2/module2' )
90
+ end
91
+ end
92
+
93
+ test 'selecting a nonexistant module works not.' do
94
+ assert_raises( BuildTool::ConfigurationError ) do
95
+ @configuration.complete_modules( 'nothere' )
96
+ end
97
+ end
98
+
99
+ test 'selecting a group works.' do
100
+ assert_equal(
101
+ [ 'feature1/module1', 'feature1/module3' ],
102
+ @configuration.complete_modules( 'feature1/' ).map { |m| m.name } )
103
+ end
104
+
105
+ test 'selecting a group works with all = true.' do
106
+ assert_equal(
107
+ [ 'feature1/module1', 'feature1/module2', 'feature1/module3' ],
108
+ @configuration.complete_modules( 'feature1/', false, true ).map { |m| m.name } )
109
+ end
110
+
111
+ test 'selecting a group works with all = true and resume_after.' do
112
+ assert_equal(
113
+ [ 'feature1/module2', 'feature1/module3' ],
114
+ @configuration.complete_modules( 'feature1/', false, true, nil, @configuration.complete_module( 'feature1/module1' ) ).map { |m| m.name } )
115
+ end
116
+
117
+ test 'selecting a group works with all = true and resume_before.' do
118
+ assert_equal(
119
+ [ 'feature1/module2', 'feature1/module3' ],
120
+ @configuration.complete_modules( 'feature1/', false, true, @configuration.complete_module( 'feature1/module2' ) ).map { |m| m.name } )
121
+ end
122
+ test 'selecting a group works with all = true on disabled feature' do
123
+ assert_equal(
124
+ [ 'feature2/module1', 'feature2/module2' ],
125
+ @configuration.complete_modules( 'feature2/', false, true ).map { |m| m.name } )
126
+ end
127
+ end
128
+
129
+
@@ -22,8 +22,11 @@ module "test_disabled"
22
22
  disable module "test_disabled"
23
23
  EOF
24
24
  # Now check the parsed configuration
25
+ assert_not_nil( @configuration.module( 'test_default' ) )
25
26
  assert( @configuration.module( 'test_default' ).default_active? )
26
27
  assert( @configuration.module( 'test_default' ).active? )
28
+
29
+ assert_not_nil( @configuration.module( 'test_disabled' ) )
27
30
  assert( !@configuration.module( 'test_disabled' ).default_active? )
28
31
  assert( !@configuration.module( 'test_disabled' ).active? )
29
32
 
@@ -34,6 +37,9 @@ module "test_disabled"
34
37
  EOF
35
38
 
36
39
  # Now check the parsed configuration
40
+ assert_not_nil( @configuration.module( 'test_default' ) )
41
+ assert_not_nil( @configuration.module( 'test_disabled' ) )
42
+ # Active values changed
37
43
  assert( !@configuration.module( 'test_default' ).active? )
38
44
  assert( @configuration.module( 'test_disabled' ).active? )
39
45
  # But the defaults are the same
@@ -50,7 +56,7 @@ module "test_default"
50
56
  end
51
57
  EOF
52
58
  # Now check the parsed configuration
53
- assert( @configuration.module( 'test_default' ) )
59
+ assert_not_nil( @configuration.module( 'test_default' ) )
54
60
  mod = @configuration.module( 'test_default' )
55
61
  assert_equal( mod.description, 'Default is a test module' )
56
62
  assert_equal( mod.long_description, 'It really is' )
@@ -100,4 +106,36 @@ module "test_disabled"
100
106
 
101
107
  end
102
108
 
109
+ test 'Removes obsolete modules' do
110
+ assert_nothing_raised() { @parser.parse_string <<-EOF }
111
+ module "remains"
112
+ end
113
+ module "obsolete"
114
+ end
115
+ EOF
116
+
117
+ assert_not_nil( @configuration.module( 'remains' ) )
118
+ assert_not_nil( @configuration.module( 'obsolete' ) )
119
+
120
+ @configuration = BuildTool::Configuration.new()
121
+ @configuration.load()
122
+ @parser = BuildTool::Cfg::Parser.new( @configuration )
123
+ @localparser = BuildTool::Cfg::Parser.new( @configuration, false )
124
+ assert_nothing_raised() { @parser.parse_string <<-EOF }
125
+ module "remains"
126
+ end
127
+ EOF
128
+
129
+ # Now check the parsed configuration. Still the same
130
+ assert_not_nil( @configuration.module( 'remains' ) )
131
+ assert_not_nil( @configuration.module( 'obsolete' ) )
132
+
133
+ # Migrate
134
+ @configuration.migrate()
135
+
136
+ # Now check the parsed configuration. Not the same anymore.
137
+ assert_not_nil( @configuration.module( 'remains' ) )
138
+ assert_nil( @configuration.module( 'obsolete' ) )
139
+ end
140
+
103
141
  end # class TestParserModuleTest
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: build-tool
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0.rc1
4
+ version: 0.6.0.rc2
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-19 00:00:00.000000000 Z
12
+ date: 2012-02-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: logging
16
- requirement: &5457780 !ruby/object:Gem::Requirement
16
+ requirement: &5454660 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.6.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *5457780
24
+ version_requirements: *5454660
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activerecord
27
- requirement: &5457040 !ruby/object:Gem::Requirement
27
+ requirement: &5454160 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 3.2.1
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *5457040
35
+ version_requirements: *5454160
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: sqlite3
38
- requirement: &5454900 !ruby/object:Gem::Requirement
38
+ requirement: &5453620 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.3.5
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *5454900
46
+ version_requirements: *5453620
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: ansi
49
- requirement: &5454320 !ruby/object:Gem::Requirement
49
+ requirement: &5453100 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.4.2
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *5454320
57
+ version_requirements: *5453100
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: grit
60
- requirement: &5453780 !ruby/object:Gem::Requirement
60
+ requirement: &5452240 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 2.4.1
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *5453780
68
+ version_requirements: *5452240
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: racc
71
- requirement: &5453320 !ruby/object:Gem::Requirement
71
+ requirement: &5482440 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 1.4.7
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *5453320
79
+ version_requirements: *5482440
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rexical
82
- requirement: &5452780 !ruby/object:Gem::Requirement
82
+ requirement: &5481740 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 1.0.5
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *5452780
90
+ version_requirements: *5481740
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rake
93
- requirement: &5452280 !ruby/object:Gem::Requirement
93
+ requirement: &5481200 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 0.9.2
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *5452280
101
+ version_requirements: *5481200
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: yard
104
- requirement: &5451800 !ruby/object:Gem::Requirement
104
+ requirement: &5480720 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: 0.7.5
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *5451800
112
+ version_requirements: *5480720
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: turn
115
- requirement: &5482100 !ruby/object:Gem::Requirement
115
+ requirement: &5480260 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,7 +120,7 @@ dependencies:
120
120
  version: '0.9'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *5482100
123
+ version_requirements: *5480260
124
124
  description: ! "\n The tool helps \n\n ...\n "
125
125
  email:
126
126
  - info@michael-jansen.biz
@@ -234,6 +234,7 @@ files:
234
234
  - tasks/rdoc.rake
235
235
  - tasks/rexical.rake
236
236
  - tasks/test.rake
237
+ - test/integration/configuration_test.rb
237
238
  - test/integration/history_test.rb
238
239
  - test/integration/parser_configuration.rb
239
240
  - test/integration/parser_environment_parser.rb
@@ -287,6 +288,7 @@ signing_key:
287
288
  specification_version: 3
288
289
  summary: A tool helping to download, configure and compile from sources.
289
290
  test_files:
291
+ - test/integration/configuration_test.rb
290
292
  - test/integration/history_test.rb
291
293
  - test/integration/parser_configuration.rb
292
294
  - test/integration/parser_environment_parser.rb