Merge pull request #2367 from mitchellh/b-build-type

helper/config: copy buildname/buildtype properly
This commit is contained in:
Mitchell Hashimoto
2015-06-30 10:45:12 -07:00
3 changed files with 33 additions and 1 deletions
+2
View File
@@ -42,6 +42,8 @@ func Decode(target interface{}, config *DecodeOpts, raws ...interface{}) error {
if config.InterpolateContext == nil {
config.InterpolateContext = ctx
} else {
config.InterpolateContext.BuildName = ctx.BuildName
config.InterpolateContext.BuildType = ctx.BuildType
config.InterpolateContext.TemplatePath = ctx.TemplatePath
config.InterpolateContext.UserVariables = ctx.UserVariables
}
+30
View File
@@ -74,6 +74,36 @@ func TestDecode(t *testing.T) {
},
},
},
"build name": {
[]interface{}{
map[string]interface{}{
"name": "{{build_name}}",
},
map[string]interface{}{
"packer_build_name": "foo",
},
},
&Target{
Name: "foo",
},
nil,
},
"build type": {
[]interface{}{
map[string]interface{}{
"name": "{{build_type}}",
},
map[string]interface{}{
"packer_builder_type": "foo",
},
},
&Target{
Name: "foo",
},
nil,
},
}
for k, tc := range cases {
+1 -1
View File
@@ -71,7 +71,7 @@ func funcGenBuildName(ctx *Context) interface{} {
func funcGenBuildType(ctx *Context) interface{} {
return func() (string, error) {
if ctx == nil || ctx.BuildType == "" {
return "", errors.New("build_name not available")
return "", errors.New("build_type not available")
}
return ctx.BuildType, nil