package bpm_utils import ( "io" "os" "os/exec" "strings" ) func GetArch() string { output, err := exec.Command("/usr/bin/uname", "-m").Output() if err != nil { return "" } return strings.TrimSpace(string(output)) } func copyFileContents(src, dst string) (err error) { in, err := os.Open(src) if err != nil { return } defer in.Close() out, err := os.Create(dst) if err != nil { return } defer func() { cerr := out.Close() if err == nil { err = cerr } }() if _, err = io.Copy(out, in); err != nil { return } err = out.Sync() return } func stringSliceRemove(s []string, r string) []string { for i, v := range s { if v == r { return append(s[:i], s[i+1:]...) } } return s } func stringSliceRemoveEmpty(s []string) []string { var r []string for _, str := range s { if str != "" { r = append(r, str) } } return r }