Class: Rake::Application

Inherits:
Object
  • Object
show all
Defined in:
lib/rake/config.rb,
lib/rake/extensions.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.catchStderrObject



72
73
74
75
76
# File 'lib/rake/extensions.rb', line 72

def self.catchStderr()
  @logToStderr = false;
  @oldStderr = $stderr;
  $stderr = @logFile;
end

.catchStdoutObject



67
68
69
70
# File 'lib/rake/extensions.rb', line 67

def self.catchStdout()
  @oldStdout = $stdout;
  $stdout = @logFile;
end

.debug(*args) ⇒ Object



116
117
118
# File 'lib/rake/extensions.rb', line 116

def self.debug(*args)
  @logger.debug(*args) if @logger;
end

.error(*args) ⇒ Object



107
108
109
# File 'lib/rake/extensions.rb', line 107

def self.error(*args)
  @logger.error(*args) if @logger;
end

.fatal(*args) ⇒ Object



104
105
106
# File 'lib/rake/extensions.rb', line 104

def self.fatal(*args)
  @logger.fatal(*args) if @logger;
end

.flushLogObject



82
83
84
# File 'lib/rake/extensions.rb', line 82

def self.flushLog()
  @logFile.flush();
end

.info(*args) ⇒ Object



113
114
115
# File 'lib/rake/extensions.rb', line 113

def self.info(*args)
  @logger.info(*args) if @logger;
end

.log(*args) ⇒ Object



101
102
103
# File 'lib/rake/extensions.rb', line 101

def self.log(*args)
  @logger.log(*args) if @logger;
end

.logData(someData) ⇒ Object



92
93
94
# File 'lib/rake/extensions.rb', line 92

def self.logData(someData)
  @logFile.write(someData) if @logFile;
end

.logFileObject



89
90
91
# File 'lib/rake/extensions.rb', line 89

def self.logFile()
  return @logFile;
end

.loggerObject



86
87
88
# File 'lib/rake/extensions.rb', line 86

def self.logger()
  return @logger;
end

.mesg(*args) ⇒ Object



119
120
121
122
# File 'lib/rake/extensions.rb', line 119

def self.mesg(*args)
  @logger.info(*args) if @logger;
  $stderr.puts(*args) if @logToStderr;
end

.mesg_pp(*args) ⇒ Object

taken from www.ruby-forum.com/topic/43725 (2012/01/21)



125
126
127
128
129
130
131
132
133
134
135
136
# File 'lib/rake/extensions.rb', line 125

def self.mesg_pp(*args)
  old_out = $stdout
  begin
    s=StringIO.new
    $stdout=s
    pp(*args)
  ensure
    $stdout=old_out
  end
  @logger.info(s.string);
  $stderr.puts(s.string) if @logToStderr;
end

.openLogger(logFileBaseName) ⇒ Object



59
60
61
62
63
64
65
# File 'lib/rake/extensions.rb', line 59

def self.openLogger(logFileBaseName)
  timeStamp = Time.now.utc.strftime("%Y-%m-%d-%H-%M-%S-%L.log");
  @logFile = File.open(logFileBaseName+'-'+timeStamp, 'w');
  @logger = Logger.new(@logFile);
  @logger.datetime_format = "%H-%M-%S-%L";
  @logToStderr = true;
end

.set_logger(aLogger, aLogFile = nil) ⇒ Object



95
96
97
98
99
100
# File 'lib/rake/extensions.rb', line 95

def self.set_logger(aLogger, aLogFile=nil)
  @logFile = aLogFile;
  oldLogger = @logger;
  @logger = aLogger;
  return oldLogger;
end

.setLogToStderr(logToStderr) ⇒ Object



78
79
80
# File 'lib/rake/extensions.rb', line 78

def self.setLogToStderr(logToStderr)
  @logToStderr = logToStderr;
end

.warn(*args) ⇒ Object



110
111
112
# File 'lib/rake/extensions.rb', line 110

def self.warn(*args)
  @logger.warn(*args) if @logger;
end

Instance Method Details

#collect_tasksObject



498
499
500
501
502
503
# File 'lib/rake/config.rb', line 498

def collect_tasks
  rake_config_original_collect_tasks;
  @top_level_tasks.unshift("cookPostConfig");
  @top_level_tasks.unshift("cookConfig");
  @top_level_tasks.unshift("cookPreConfig");
end

#rake_config_original_collect_tasksObject



497
# File 'lib/rake/config.rb', line 497

alias_method :rake_config_original_collect_tasks, :collect_tasks

#rake_config_original_standard_rake_optionsObject



475
# File 'lib/rake/config.rb', line 475

alias_method :rake_config_original_standard_rake_options, :standard_rake_options

#rake_config_original_top_levelObject



505
# File 'lib/rake/config.rb', line 505

alias_method :rake_config_original_top_level, :top_level

#raw_load_rakefileObject



513
514
515
516
517
518
519
520
521
522
# File 'lib/rake/config.rb', line 513

def raw_load_rakefile
  myCookbookDir = File.expand_path(Dir.getwd());
  FileUtils.mkdir_p('logs');
  Rake::Application.openLogger('logs/'+Conf.log_file_name.gsub(/\//,'_')+'-buildLog');
  Rake::Application.logger.level = Logger::DEBUG;
  Rake::Application.mesg "Cook version: #{Cook::VERSION}";
  Conf.add_global_cookbooks();
  Rake::Application.mesg "Building in #{myCookbookDir}";
  Conf.add_cookbook(myCookbookDir);
end

#standard_rake_optionsObject



476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
# File 'lib/rake/config.rb', line 476

def standard_rake_options
  options = rake_config_original_standard_rake_options();
  options.push(
    ['--config', '-c YAML-CONFIG-FILE-NAME', "Load YAML configuration files named YAML-CONFIG-FILE-NAME in each receipe if it exists", 
      lambda { |value|
        confValues = value.split(/,/).each do | aValue |
          Conf.add_config_file_name(aValue);
        end
      }
    ]);
  options.push(
    ['--global-cookbook', '-C GLOBAL-COOKBOOK-DIRECTORY', "Load global Cookbook from the GLOBAL-COOKBOOK-DIRECTORY if it exists", 
      lambda { |value|
        confDirValues = value.split(/,/).each do | aValue |
          Conf.add_global_cookbook_directory(aValue);
        end
      }
    ]);
  return options;
end

#top_levelObject



506
507
508
509
510
511
# File 'lib/rake/config.rb', line 506

def top_level
  # load the central config files after all recipes
  Conf.load_central_config_files(); 
  # but before we start invoking tasks
  rake_config_original_top_level;
end