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}