mirror of
https://github.com/openfaas/faasd.git
synced 2025-06-20 04:56:37 +00:00
Upgrades to go-execute/v2 and updates various other dependencies. Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
51 lines
1.1 KiB
Go
Generated
51 lines
1.1 KiB
Go
Generated
// Copyright (c) arkade author(s) 2022. All rights reserved.
|
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
|
|
package env
|
|
|
|
import (
|
|
"context"
|
|
"log"
|
|
"os"
|
|
"path"
|
|
"strings"
|
|
|
|
execute "github.com/alexellis/go-execute/v2"
|
|
)
|
|
|
|
// GetClientArch returns a pair of arch and os
|
|
func GetClientArch() (arch string, os string) {
|
|
task := execute.ExecTask{
|
|
Command: "uname",
|
|
Args: []string{"-m"},
|
|
StreamStdio: false}
|
|
res, err := task.Execute(context.Background())
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
|
|
archResult := strings.TrimSpace(res.Stdout)
|
|
|
|
taskOS := execute.ExecTask{Command: "uname",
|
|
Args: []string{"-s"},
|
|
StreamStdio: false}
|
|
resOS, errOS := taskOS.Execute(context.Background())
|
|
if errOS != nil {
|
|
log.Println(errOS)
|
|
}
|
|
|
|
osResult := strings.TrimSpace(resOS.Stdout)
|
|
|
|
return archResult, osResult
|
|
}
|
|
|
|
func LocalBinary(name, subdir string) string {
|
|
home := os.Getenv("HOME")
|
|
val := path.Join(home, ".arkade/bin/")
|
|
if len(subdir) > 0 {
|
|
val = path.Join(val, subdir)
|
|
}
|
|
|
|
return path.Join(val, name)
|
|
}
|