Sha256: e40587a66f63bad2a4463321cf50cf25f8976fcf2c1c6e43419d10dd25c1b99a

Contents?: true

Size: 1.24 KB

Versions: 1

Compression:

Stored size: 1.24 KB

Contents

require "buildem"
require 'buildem/base'
require 'buildem/configuration'
require 'buildem/executor'
require 'process_pool'

module Kernel
  def unordered
    puts "Started unordered sequence"
    yield
    $pool = ProcessPool.new($configuration.workers)
    puts $configuration.workers
    $jobs.each do |command|
      $pool.schedule(command,command.argz)
    end
    $pool.start
    $pool.shutdown
    puts "Finished #{$jobs.size} unordered jobs"
  end
  
  def queued_run(command, optz = {})
    $jobs << BuildEm::Executor.new([command,optz])
  end
  
  def run(command, optz = {})
    BuildEm::Executor.new([command,optz]).run
  end
end

class BuildEm::Runner
  $jobs = []
  def self.start
    if ARGV.size == 1
      begin
        puts "running #{ARGV[0]}"
        $configuration = BuildEm::Configuration.new
        load ARGV[0]
      ensure
        puts "finished #{ARGV[0]}"
      end
    else
      puts usage
    end
  end
  
  private
  
    def self.usage
<<-USAGE

-----------------------------------------------------------------
                            BUILD'EM
-----------------------------------------------------------------

  usage: buildem filename.buildem

-----------------------------------------------------------------
USAGE
    end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
buildem-0.0.5 lib/buildem/runner.rb