module PackerExec

Public Instance Methods

for_packer_run_with(template) { |md_file, var_file| ... } click to toggle source
# File lib/bento/packerexec.rb, line 2
def for_packer_run_with(template)
  Tempfile.open("#{template}-metadata.json") do |md_file|
    Tempfile.open("#{template}-metadata-var-file") do |var_file|
      write_box_metadata(template, md_file)
      write_var_file(template, md_file, var_file)
      yield md_file, var_file
    end
  end
end
write_box_metadata(template, io) click to toggle source
# File lib/bento/packerexec.rb, line 12
def write_box_metadata(template, io)
  md = BuildMetadata.new(template, build_timestamp, override_version).read
  io.write(JSON.pretty_generate(md))
  io.close
end
write_var_file(template, md_file, io) click to toggle source
# File lib/bento/packerexec.rb, line 18
def write_var_file(template, md_file, io)
  md = BuildMetadata.new(template, build_timestamp, override_version).read

  io.write(JSON.pretty_generate({
    box_basename:     md[:box_basename],
    build_timestamp:  md[:build_timestamp],
    git_revision:     md[:git_revision],
    metadata:         md_file.path,
    version:          md[:version],
  }))
  io.close
end