@@ -20,19 +20,37 @@ var FuncMap = template.FuncMap{
2020 "Title" : strings .Title ,
2121}
2222
23+ func createTemplatedFile (fullFilePath string , template * template.Template , data interface {}) {
24+ f , err := os .Create (fullFilePath )
25+ if err != nil {
26+ log .Printf ("Error creating file: %v" , err )
27+ }
28+ err = template .Execute (f , data )
29+ if err != nil {
30+ log .Printf ("Error templating: %v" , err )
31+ }
32+ }
33+
34+
35+ func TemplateFileAndOverwrite (fileDir string , fileName string , template * template.Template , data interface {}) {
36+ fullFilePath := fmt .Sprintf ("%v/%v" , fileDir , fileName )
37+ err := os .MkdirAll (fileDir , os .ModePerm )
38+ if err != nil {
39+ log .Printf ("Error creating directory %v: %v" , fullFilePath , err )
40+ }
41+ createTemplatedFile (fullFilePath , template , data )
42+
43+ }
44+
2345func TemplateFileIfDoesNotExist (fileDir string , fileName string , template * template.Template , data interface {}) {
2446 fullFilePath := fmt .Sprintf ("%v/%v" , fileDir , fileName )
2547
2648 if _ , err := os .Stat (fullFilePath ); os .IsNotExist (err ) {
2749 err := CreateDirIfDoesNotExist (fileDir )
28- f , err := os .Create (fullFilePath )
29- if err != nil {
30- log .Printf ("Error creating file: %v" , err )
31- }
32- err = template .Execute (f , data )
3350 if err != nil {
34- log .Printf ("Error templating : %v" , err )
51+ log .Printf ("Error creating directory %v : %v" , fullFilePath , err )
3552 }
53+ createTemplatedFile (fullFilePath , template , data )
3654 } else {
3755 log .Printf ("%v already exists. skipping." , fullFilePath )
3856 }
0 commit comments