From 9ac515e622faac5f1b30ab5ee04901a5226f9aa0 Mon Sep 17 00:00:00 2001
From: Volker Schukai <volker.schukai@schukai.com>
Date: Tue, 27 Dec 2022 18:25:43 +0100
Subject: [PATCH] fix: abs/rel path for data file

---
 application/source/command.go | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/application/source/command.go b/application/source/command.go
index 829d1e3..780eaae 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)
 	}
 
 }
-- 
GitLab