|
|
@ -151,10 +151,12 @@ type xbake struct {
|
|
|
|
Pull *bool `yaml:"pull,omitempty"`
|
|
|
|
Pull *bool `yaml:"pull,omitempty"`
|
|
|
|
NoCache *bool `yaml:"no-cache,omitempty"`
|
|
|
|
NoCache *bool `yaml:"no-cache,omitempty"`
|
|
|
|
NoCacheFilter stringArray `yaml:"no-cache-filter,omitempty"`
|
|
|
|
NoCacheFilter stringArray `yaml:"no-cache-filter,omitempty"`
|
|
|
|
|
|
|
|
Contexts stringMap `yaml:"contexts,omitempty"`
|
|
|
|
// don't forget to update documentation if you add a new field:
|
|
|
|
// don't forget to update documentation if you add a new field:
|
|
|
|
// docs/guides/bake/compose-file.md#extension-field-with-x-bake
|
|
|
|
// docs/guides/bake/compose-file.md#extension-field-with-x-bake
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
type stringMap map[string]string
|
|
|
|
type stringArray []string
|
|
|
|
type stringArray []string
|
|
|
|
|
|
|
|
|
|
|
|
func (sa *stringArray) UnmarshalYAML(unmarshal func(interface{}) error) error {
|
|
|
|
func (sa *stringArray) UnmarshalYAML(unmarshal func(interface{}) error) error {
|
|
|
@ -188,25 +190,25 @@ func (t *Target) composeExtTarget(exts map[string]interface{}) error {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if len(xb.Tags) > 0 {
|
|
|
|
if len(xb.Tags) > 0 {
|
|
|
|
t.Tags = dedupString(append(t.Tags, xb.Tags...))
|
|
|
|
t.Tags = dedupSlice(append(t.Tags, xb.Tags...))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if len(xb.CacheFrom) > 0 {
|
|
|
|
if len(xb.CacheFrom) > 0 {
|
|
|
|
t.CacheFrom = dedupString(append(t.CacheFrom, xb.CacheFrom...))
|
|
|
|
t.CacheFrom = dedupSlice(append(t.CacheFrom, xb.CacheFrom...))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if len(xb.CacheTo) > 0 {
|
|
|
|
if len(xb.CacheTo) > 0 {
|
|
|
|
t.CacheTo = dedupString(append(t.CacheTo, xb.CacheTo...))
|
|
|
|
t.CacheTo = dedupSlice(append(t.CacheTo, xb.CacheTo...))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if len(xb.Secrets) > 0 {
|
|
|
|
if len(xb.Secrets) > 0 {
|
|
|
|
t.Secrets = dedupString(append(t.Secrets, xb.Secrets...))
|
|
|
|
t.Secrets = dedupSlice(append(t.Secrets, xb.Secrets...))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if len(xb.SSH) > 0 {
|
|
|
|
if len(xb.SSH) > 0 {
|
|
|
|
t.SSH = dedupString(append(t.SSH, xb.SSH...))
|
|
|
|
t.SSH = dedupSlice(append(t.SSH, xb.SSH...))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if len(xb.Platforms) > 0 {
|
|
|
|
if len(xb.Platforms) > 0 {
|
|
|
|
t.Platforms = dedupString(append(t.Platforms, xb.Platforms...))
|
|
|
|
t.Platforms = dedupSlice(append(t.Platforms, xb.Platforms...))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if len(xb.Outputs) > 0 {
|
|
|
|
if len(xb.Outputs) > 0 {
|
|
|
|
t.Outputs = dedupString(append(t.Outputs, xb.Outputs...))
|
|
|
|
t.Outputs = dedupSlice(append(t.Outputs, xb.Outputs...))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if xb.Pull != nil {
|
|
|
|
if xb.Pull != nil {
|
|
|
|
t.Pull = xb.Pull
|
|
|
|
t.Pull = xb.Pull
|
|
|
@ -215,7 +217,10 @@ func (t *Target) composeExtTarget(exts map[string]interface{}) error {
|
|
|
|
t.NoCache = xb.NoCache
|
|
|
|
t.NoCache = xb.NoCache
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if len(xb.NoCacheFilter) > 0 {
|
|
|
|
if len(xb.NoCacheFilter) > 0 {
|
|
|
|
t.NoCacheFilter = dedupString(append(t.NoCacheFilter, xb.NoCacheFilter...))
|
|
|
|
t.NoCacheFilter = dedupSlice(append(t.NoCacheFilter, xb.NoCacheFilter...))
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if len(xb.Contexts) > 0 {
|
|
|
|
|
|
|
|
t.Contexts = dedupMap(t.Contexts, xb.Contexts)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return nil
|
|
|
|
return nil
|
|
|
|