You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
908 B

4 years ago
module PackerExec
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
def write_box_metadata(template, io)
md = BuildMetadata.new(template, build_timestamp, override_version).read
io.write(JSON.pretty_generate(md))
io.close
end
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
end