make env handling os dependent

environment variables are handled differently on windows vs linux.  here we split them to be handled but no actually processing of windows environment variables was done.  it can be added for future.  hoowever, now we dont get errors on windows about processing them.

Signed-off-by: Brent Baude <bbaude@redhat.com>
This commit is contained in:
Brent Baude 2020-06-02 08:11:31 -05:00
parent 2937151e37
commit 70e6b2e6dd
3 changed files with 23 additions and 13 deletions

13
pkg/env/env.go vendored
View File

@ -20,18 +20,6 @@ var DefaultEnvVariables = map[string]string{
const whiteSpaces = " \t"
// ParseSlice parses the specified slice and transforms it into an environment
// map.
func ParseSlice(s []string) (map[string]string, error) {
env := make(map[string]string, len(s))
for _, e := range s {
if err := parseEnv(env, e); err != nil {
return nil, err
}
}
return env, nil
}
// Slice transforms the specified map of environment variables into a
// slice. If a value is non-empty, the key and value are joined with '='.
func Slice(m map[string]string) []string {
@ -96,7 +84,6 @@ func parseEnv(env map[string]string, line string) error {
if data[0] == "" {
return errors.Errorf("invalid environment variable: %q", line)
}
// trim the front of a variable, but nothing else
name := strings.TrimLeft(data[0], whiteSpaces)
if strings.ContainsAny(name, whiteSpaces) {

15
pkg/env/env_supported.go vendored Normal file
View File

@ -0,0 +1,15 @@
// +build linux darwin
package env
// ParseSlice parses the specified slice and transforms it into an environment
// map.
func ParseSlice(s []string) (map[string]string, error) {
env := make(map[string]string, len(s))
for _, e := range s {
if err := parseEnv(env, e); err != nil {
return nil, err
}
}
return env, nil
}

8
pkg/env/env_unsupported.go vendored Normal file
View File

@ -0,0 +1,8 @@
// +build !linux,!darwin
package env
func ParseSlice(s []string) (map[string]string, error) {
m := make(map[string]string)
return m, nil
}