in codecatalyst-runner/pkg/workflows/replace_variable_handler.go [17:47]
func ReplaceVariableHandler(planOutputs map[string]map[string]string, secrets SecretProvider) runner.Feature {
replacer := &variableReplacer{
planOutputs: planOutputs,
secrets: secrets,
}
return func(ctx context.Context, plan runner.Plan, e runner.PlanExecutor) error {
log.Ctx(ctx).Debug().Msg("ENTER ReplaceVariableHandler")
for name, value := range plan.EnvironmentConfiguration().Env {
var newValue string
var err error
if newValue, err = replacer.Replace(ctx, plan, value); err != nil {
return err
}
plan.EnvironmentConfiguration().Env[name] = newValue
}
for _, cg := range plan.CommandGroups() {
for _, command := range cg.Commands {
for i, commandPart := range command {
if newValue, err := replacer.Replace(ctx, plan, commandPart); err != nil {
return err
} else {
command[i] = newValue
}
}
}
}
err := e(ctx)
log.Ctx(ctx).Debug().Msg("EXIT ReplaceVariableHandler")
return err
}
}