ianheggie/cruisecontrol.rb

View on GitHub
lib/builder_plugins/log_publisher.rb

Summary

Maintainability
A
0 mins
Test Coverage
#
# this plugin will publish logs from your project into the build directory after a build finishes
# by default, it will publish files it finds that match the pattern 
#
# <pre><code>log/*log</code></pre>
#
# but it can be configured to match any number of patterns like this
# 
# <pre><code>project.log_publisher.globs = ['log/*.log', 'tmp/*']</code></log>
#
class LogPublisher < BuilderPlugin
  attr_accessor :globs
  
  def initialize(project)
    @globs = ["log/*.log"]
    super
  end

  def build_finished(build)
    @globs.each do |glob|
      Dir["#{project.local_checkout}/#{glob}"].each do |file|
        FileUtils.mv file, build.artifacts_directory
      end
    end
  end
end

Project.plugin :log_publisher