Class: Ruby::Builder::CLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/ruby/builder/cli.rb

Instance Method Summary collapse

Instance Method Details

#revision(spec) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/ruby/builder/cli.rb', line 13

def revision(spec)
  source_dir = File.expand_path(options.fetch(:source_directory, Dir.pwd))

  logger.info "Parsing revisions at '#{source_dir}'..."
  revisions = RevisionParser.new(source_dir).parse(spec)

  if revisions.empty?
    logger.error "No revisions found for '#{spec}' in: #{source_dir}"
    exit 1
  end

  logger.info "Starting to build #{spec} (#{revisions.size} revisions) from '#{source_dir}'"
  Dir.mktmpdir("ruby-builder-") do |build_dir|
    preserve_revision(source_dir) do
      build_revisions(revisions, source_dir: source_dir, build_dir: build_dir)
    end
  end
end