utils: Added SelfPath(), which figures out the current (absolute) path of the running binary

This commit is contained in:
Andrea Luzzardi 2013-02-13 13:58:28 -08:00
parent 2416edd400
commit e6adfa2bc6
1 changed files with 15 additions and 0 deletions

View File

@ -4,7 +4,9 @@ import (
"bytes"
"container/list"
"io"
"os"
"os/exec"
"path/filepath"
"sync"
)
@ -34,6 +36,19 @@ func Tar(path string) (io.Reader, error) {
return output, nil
}
// Figure out the absolute path of our own binary
func SelfPath() string {
path, err := exec.LookPath(os.Args[0])
if err != nil {
panic(err)
}
path, err = filepath.Abs(path)
if err != nil {
panic(err)
}
return path
}
type nopWriteCloser struct {
io.Writer
}