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.
30 lines
908 B
30 lines
908 B
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
|
|
|