Module: PackerExec

Included in:
BuildRunner, NormalizeRunner
Defined in:
lib/bento/packerexec.rb

Instance Method Summary collapse

Instance Method Details

#for_packer_run_with(template) ⇒ Object



2
3
4
5
6
7
8
9
10
# 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|
      (template, md_file)
      write_var_file(template, md_file, var_file)
      yield md_file, var_file
    end
  end
end

#write_box_metadata(template, io) ⇒ Object



12
13
14
15
16
# File 'lib/bento/packerexec.rb', line 12

def (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) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
# 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