diff --git a/application/source/command.go b/application/source/command.go index 829d1e33187cc4583d8a34bce8a3ddf745056c7e..780eaae0077ba13725f672a747e1bc022578c785 100644 --- a/application/source/command.go +++ b/application/source/command.go @@ -109,16 +109,20 @@ func (d *Definition) PrepareTemplate(s *xflags.Settings[Definition]) { s.AddError(err) } else { - if d.Template.Prepare.DataFile == "" { - d.Template.Prepare.DataFile = "data.yaml" + o := d.Template.Prepare.DataFile + if o == "" { + o = "data.yaml" } - o := path.Join(d.Template.Prepare.Output, d.Template.Prepare.DataFile) - os.WriteFile(o, data, os.ModePerm) - } + if !path.IsAbs(o) { + o = path.Join(d.Template.Prepare.Output, o) + } + + err = os.WriteFile(o, data, os.ModePerm) + if err != nil { + s.AddError(err) + } - if err != nil { - s.AddError(err) } }