build-tool 0.3.1 → 0.3.2

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.
@@ -187,17 +187,7 @@ rule
187
187
  ;
188
188
 
189
189
  git_statement
190
- : REMOTE STRING git_remote_values END { result = GitRemoteNode.new( [ val[1], GitRemoteValueList.new( val[2] ) ] ); }
191
- ;
192
-
193
- git_remote_values
194
- : /* empty */
195
- | git_remote_value git_remote_values { result = val.flatten; }
196
- ;
197
-
198
- git_remote_value
199
- : server_declaration { result = val[0]; }
200
- | USE SERVER identifier { result = UseServerNode.new( val[2] ); }
190
+ : REMOTE STRING repository_statements END { result = RepositoryDeclarationNode.new( val[1..-1]); }
201
191
  ;
202
192
 
203
193
  #
@@ -288,10 +288,10 @@ module BuildTool; module Cfg;
288
288
  return @vcs
289
289
  end
290
290
 
291
- def visit_GitRemoteNode( node )
292
- visitor = GitRemoteNodeVisitor.new( configuration )
293
- remote = node.accept(visitor)
294
- @vcs.remote[remote.name] = remote
291
+ def visit_RepositoryDeclarationNode( node )
292
+ visitor = RepositoryDeclarationNodeVisitor.new( configuration )
293
+ repo = node.accept(visitor)
294
+ @vcs.remote[repo.name] = repo
295
295
  end
296
296
 
297
297
  end # class GitDeclarationNodeVisitor
@@ -316,44 +316,6 @@ module BuildTool; module Cfg;
316
316
  end # class GitSvnDeclarationNodeVisitor
317
317
 
318
318
 
319
- class GitRemoteNodeVisitor < ListVisitor
320
-
321
- def initialize( configuration )
322
- super( configuration )
323
- @remote = nil
324
- end
325
-
326
- def visit_GitRemoteNode( node )
327
- name = node.values[0]
328
- @remote = BuildTool::VCS::GitRemote.new( name ) if @remote.nil?
329
- node = node.values[1]
330
- self.visit_nodes(node.values)
331
- return @remote
332
- end
333
-
334
- def visit_GitRemotePathNode( node )
335
- @remote.path = node.value
336
- end
337
-
338
- def visit_GitRemoteValueList( node )
339
- self.visit(node)
340
- end
341
-
342
- def visit_ServerDeclarationNode( node )
343
- visitor = ServerDeclarationNodeVisitor.new( configuration )
344
- @remote.server = node.accept(visitor)
345
- end
346
-
347
- def visit_UseServerNode( node )
348
- @remote.server = configuration.server( node.value )
349
- if @remote.server.nil?
350
- raise ConfigurationError, "Unknown server #{node.value} configured for remote #{@remote.name}!"
351
- end
352
- end
353
-
354
- end # class GitRemoteNodeVisitor
355
-
356
-
357
319
  class IncludeNodeVisitor < ListVisitor
358
320
 
359
321
  def visit_IncludeNode( node )
@@ -313,11 +313,19 @@ module BuildTool; module Commands;
313
313
 
314
314
  class Standard < Base
315
315
 
316
+ def initialize( *args )
317
+ # Only used by child classes but needed for complete_modules
318
+ @all = false
319
+ super( *args )
320
+ end
321
+
316
322
  def initialize_options
317
323
  options.separator "Common options"
318
324
 
319
325
  options.on( "-v", "--verbose", "Enable verbose output" ) do
320
326
  Logging.appenders['stdout'].level = [ Logging.appenders['stdout'].level-1, 0 ].max
327
+ Logging.logger['MJ::Logging::LoggerAdapter'].level =
328
+ [ Logging.logger['MJ::Logging::LoggerAdapter'].level - 1, 0 ].max
321
329
  end
322
330
 
323
331
  options.on( nil, "--dry-run", "Enable dry run." ) do
@@ -329,25 +337,37 @@ module BuildTool; module Commands;
329
337
  end
330
338
  end
331
339
 
332
- def complete_modules( name, all = false )
340
+ # Gathers all modules currently known.
341
+ #
342
+ # @param all Return template modules too.
343
+ def complete_modules( name, include_templates = false )
333
344
  res = []
334
345
  found = false
335
346
  configuration.modules.each do |mod|
336
- next if ( !all and mod.is_template? )
347
+ next if ( !include_templates and mod.is_template? )
337
348
  # We match on the following conditions:
338
349
  # 1. name = mod.name
339
350
  # 2. name/ matches beginning of mod.name
340
351
  # 3. name starts with ":". Look for package instead of
341
352
  # module
342
353
  if name.end_with?('/') and mod.name.start_with? name
343
- res << mod
344
354
  found = true
345
- elsif mod.name == name
355
+ # Now check if it is active.
356
+ next if !( mod.active? || @all )
346
357
  res << mod
358
+ elsif mod.name == name
347
359
  found = true
360
+ # Now check if it is active.
361
+ if mod.active? || @all
362
+ res << mod
363
+ end
364
+ break
348
365
  end
349
366
  end
367
+ # Raise an error if the module was not found
350
368
  raise UsageError, "Unknown module/package #{name}" if !found
369
+ # Give a warning if all modules where
370
+ logger.warn "All modules for #{name} are inactive! Will ignore it." if res.empty?
351
371
  return res
352
372
  end
353
373
 
@@ -415,7 +435,6 @@ module BuildTool; module Commands;
415
435
  class ModuleBasedCommand < Standard
416
436
 
417
437
  def initialize( *args )
418
- @all = false
419
438
  super( *args )
420
439
  end
421
440
 
@@ -455,8 +474,6 @@ module BuildTool; module Commands;
455
474
 
456
475
  modules.each do |mod|
457
476
 
458
- next if !( mod.active? || @all )
459
-
460
477
  begin
461
478
  logger.info ""
462
479
  logger.info "#### Module #{mod.name}"
@@ -17,7 +17,6 @@ module BuildTool; module Commands; module Modules
17
17
  @options.banner = "Usage: #{Pathname.new($0).basename} #{self.fullname} [MODULE|GROUP]..."
18
18
 
19
19
  @template = false
20
- @all = false
21
20
 
22
21
  @options.separator "Options:"
23
22
 
@@ -105,7 +105,7 @@ module BuildTool; module VCS
105
105
  logger.info <<-EOS
106
106
  The following command sometimes fails when issued from this script. Reason unknown. The
107
107
  best chance you have is issuing the command manually!
108
- #{local_path}: #{cmd}
108
+ #{local_path}: git fetch #{config.track_remote}
109
109
  #{local_path}: git checkout -b #{config.track_branch} #{config.track_remote}/#{config.track_branch}
110
110
  EOS
111
111
 
@@ -159,33 +159,5 @@ best chance you have is issuing the command manually!
159
159
 
160
160
  end # class Git
161
161
 
162
- class GitRemote
163
-
164
- attr_accessor :server
165
- attr_accessor :path
166
- attr_reader :name
167
-
168
- def initialize( name )
169
- @name = name
170
- @path = nil
171
- end
172
-
173
- def url
174
- url = ""
175
- if @server
176
- url = @server.url
177
- end
178
- if @path
179
- url = "#{url}/#{path}"
180
- end
181
- url
182
- end
183
-
184
- def to_s
185
- "REMOTE: #{name} #{url}"
186
- end
187
-
188
- end # class Remote
189
-
190
162
  end; end # module BuildTool::VCS
191
163
 
data/lib/mj/logging.rb CHANGED
@@ -15,10 +15,10 @@ module MJ; module Logging;
15
15
 
16
16
  return case event.level
17
17
 
18
- when ::Logging::level_num(:ERROR)
18
+ when ::Logging::level_num((:ERROR))
19
19
  sprintf("error: %s\n", obj)
20
20
 
21
- when ::Logging::level_num(:WARN)
21
+ when ::Logging::level_num((:WARN))
22
22
  sprintf("warning: %s\n", obj)
23
23
 
24
24
  else
@@ -28,14 +28,55 @@ module MJ; module Logging;
28
28
 
29
29
  end # class BasicLayout
30
30
 
31
+ # :TODO: Map the Logging Levels to Logger Levels instead of hardcoding them here.
31
32
  class LoggerAdapter
32
33
 
33
34
  def initialize( prefix )
34
35
  @prefix = prefix.upcase
35
36
  end
36
37
 
38
+ def debug( string )
39
+ logger.debug( "<#{@prefix}> #{string}" )
40
+ end
41
+
42
+ def debug?
43
+ return logger.level > ::Logging.level_num(:debug)
44
+ end
45
+
37
46
  def info( string )
38
- logger.trace( "<#{@prefix}> #{string}" )
47
+ logger.info( "<#{@prefix}> info #{string}" )
48
+ end
49
+
50
+ def info?
51
+ return logger.level > ::Logging.level_num(:info)
52
+ end
53
+
54
+ def warn( string )
55
+ logger.arn( "<#{@prefix}> #{string}" )
56
+ end
57
+
58
+ def warn?
59
+ return logger.level > ::Logging.level_num(:warn)
60
+ end
61
+
62
+ def error( string )
63
+ logger.error( "<#{@prefix}> #{string}" )
64
+ end
65
+
66
+ def error?
67
+ return logger.level > ::Logging.level_num(:error)
68
+ end
69
+
70
+ def fatal( string )
71
+ logger.error( "<#{@prefix}> #{string}" )
72
+ end
73
+
74
+ def fatal?
75
+ return logger.level > ::Logging.level_num(:error)
76
+ end
77
+
78
+ def unknown( string )
79
+ logger.error( "<#{@prefix}> UNKNOWN: #{string}" )
39
80
  end
40
81
  end
41
82
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: build-tool
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 1
10
- version: 0.3.1
9
+ - 2
10
+ version: 0.3.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Michael Jansen
@@ -36,7 +36,7 @@ cert_chain:
36
36
  M3zOaQdtTmiQPBqNIsE=
37
37
  -----END CERTIFICATE-----
38
38
 
39
- date: 2010-07-09 00:00:00 +02:00
39
+ date: 2010-07-19 00:00:00 +02:00
40
40
  default_executable:
41
41
  dependencies:
42
42
  - !ruby/object:Gem::Dependency
metadata.gz.sig CHANGED
Binary file