Skip to content

Commit

Permalink
fix: include file variable handling
Browse files Browse the repository at this point in the history
  • Loading branch information
Fabian Simon committed Jan 3, 2023
1 parent c52fab2 commit e306d7f
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 7 deletions.
6 changes: 4 additions & 2 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,10 @@ gomake run --var f=foo --var bar=baz --dry-run install

# How to Install

## Linux
### ZSH
## Linux (Change version to current)
```bash
sudo wget -O /usr/bin/gomake https://github.com/fasibio/gomake/releases/download/1.0.26/gomake_1.0.26_linux_amd64 ; sudo chmod 755 /usr/bin/gomake
```


# Extra functions
Expand Down
2 changes: 1 addition & 1 deletion gomake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ install:
- export TEST1234=ShowME
- echo $TEST1234
{{- if eq .Var.A "B" }}
- echo {{lower "LINUX"}}
- echo {{lower "LINUX make"}}
{{- end}}
- ls {{ .Env.ZDOTDIR}}
{{include "execute"}}
Expand Down
22 changes: 18 additions & 4 deletions interpreter/interpreter.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ func NewInterpreter(appName, executeCommand, executer string, dryRun bool, cmdHa
}

func (r *Interpreter) GetMakeScripts() (command.MakeStruct, error) {
explizitMakeFile, _, err := r.GetExecuteTemplate(string(r.commandFile))
explizitMakeFile, _, err := r.GetExecuteTemplate(string(r.commandFile), make(map[string]string))
if err != nil {
return nil, err
}
Expand All @@ -59,7 +59,7 @@ func (r *Interpreter) getMakeScripts(yamlFileData []byte) (command.MakeStruct, e
return c1, err
}

func (r *Interpreter) GetExecuteTemplate(file string) ([]byte, map[string]map[string]string, error) {
func (r *Interpreter) GetExecuteTemplate(file string, extraVariables map[string]string) ([]byte, map[string]map[string]string, error) {
varCommandArr := strings.Split(file, "---")
if len(varCommandArr) == 1 {
varCommandArr = strings.Split("variables:\n---\n"+file, "---")
Expand All @@ -78,6 +78,12 @@ func (r *Interpreter) GetExecuteTemplate(file string) ([]byte, map[string]map[st
tempVar[k] = v
}

for k, v := range extraVariables {
if _, ok := tempVar[k]; !ok {
tempVar[k] = v
}
}

varStr, err := r.getParsedTemplate("gomake_variables", varCommandArr[0], TemplateData{Env: env, Var: tempVar})

if err != nil {
Expand All @@ -92,11 +98,19 @@ func (r *Interpreter) GetExecuteTemplate(file string) ([]byte, map[string]map[st
variables["variables"][k] = v
}

for k, v := range extraVariables {
if _, ok := variables["variables"][k]; !ok {
variables["variables"][k] = v
}
}

v, err := r.cmdHandler.ExecuteVariablesCommands(variables["variables"])
if err != nil {
return nil, nil, err
}

log.Println(v, string(varCommandArr[1]))

b, err := r.getParsedTemplate("gomake", varCommandArr[1], TemplateData{Var: v, Env: env})
return b, variables, err
}
Expand All @@ -107,7 +121,7 @@ type DryRunOutput struct {
}

func (r *Interpreter) Run() error {
explizitMakeFile, variables, err := r.GetExecuteTemplate(string(r.commandFile))
explizitMakeFile, variables, err := r.GetExecuteTemplate(string(r.commandFile), make(map[string]string))
if err != nil {
return err
}
Expand Down Expand Up @@ -165,7 +179,7 @@ func (r *Interpreter) getParsedTemplate(templateName, tmpl string, data Template
if err != nil {
log.Panic(err)
}
b, variables, err := r.GetExecuteTemplate(string(f))
b, variables, err := r.GetExecuteTemplate(string(f), data.Var)
if err != nil {
log.Panic(err)
}
Expand Down

0 comments on commit e306d7f

Please sign in to comment.