mirror of
https://github.com/hashicorp/packer.git
synced 2026-09-28 02:34:02 -04:00
Merge pull request #2367 from mitchellh/b-build-type
helper/config: copy buildname/buildtype properly
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user