forked from tangled.org/core
Monorepo for Tangled — https://tangled.org
1package engine 2 3import ( 4 "fmt" 5 6 "tangled.sh/tangled.sh/core/api/tangled" 7) 8 9type EnvVars []string 10 11// ConstructEnvs converts a tangled.Pipeline_Step_Environment_Elem.{Key,Value} 12// representation into a docker-friendly []string{"KEY=value", ...} slice. 13func ConstructEnvs(envs []*tangled.Pipeline_Step_Environment_Elem) EnvVars { 14 var dockerEnvs EnvVars 15 for _, env := range envs { 16 if env != nil { 17 ev := fmt.Sprintf("%s=%s", env.Key, env.Value) 18 dockerEnvs = append(dockerEnvs, ev) 19 } 20 } 21 return dockerEnvs 22} 23 24// Slice returns the EnvVar as a []string slice. 25func (ev EnvVars) Slice() []string { 26 return ev 27} 28 29// AddEnv adds a key=value string to the EnvVar. 30func (ev *EnvVars) AddEnv(key, value string) { 31 *ev = append(*ev, fmt.Sprintf("%s=%s", key, value)) 32}