summaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
authorJesse Hallam <jesse.hallam@gmail.com>2018-06-06 10:18:24 -0400
committerChristopher Speller <crspeller@gmail.com>2018-06-06 07:18:24 -0700
commit0ba0af889e3a71d6d5aeb4dd10279d5027d3d8cd (patch)
tree3ff854b92c68b60cdcaf7cec73c86962cde5ea29 /cmd
parent7df34989479f22de6f54ebab1e98f3b43ffd0bcf (diff)
downloadchat-0ba0af889e3a71d6d5aeb4dd10279d5027d3d8cd.tar.gz
chat-0ba0af889e3a71d6d5aeb4dd10279d5027d3d8cd.tar.bz2
chat-0ba0af889e3a71d6d5aeb4dd10279d5027d3d8cd.zip
MM-6839: searching for paths relative to executable (#8915)
* MM-6839: search relative to executable (#8853) * MM-6839: searching for paths relative to executable In addition to searching relative to the current working directory, also search relative to the location of the binary. This helps locate config and i18n files when invoking an absolute path to the mattermost binary. * MM-6839: find mattermost/ binary using utils.FindFile * add unit tests for utils.FindFile to exclude directories * fix filtering out directories in FindFile * fix platform invoking ./bin/mattermost
Diffstat (limited to 'cmd')
-rw-r--r--cmd/platform/main.go25
1 files changed, 12 insertions, 13 deletions
diff --git a/cmd/platform/main.go b/cmd/platform/main.go
index b5ea51920..25e091a84 100644
--- a/cmd/platform/main.go
+++ b/cmd/platform/main.go
@@ -6,19 +6,10 @@ package main
import (
"fmt"
"os"
- "path/filepath"
"syscall"
-)
-func findMattermostBinary() string {
- for _, file := range []string{"./mattermost", "../mattermost", "./bin/mattermost"} {
- path, _ := filepath.Abs(file)
- if stat, err := os.Stat(path); err == nil && !stat.IsDir() {
- return path
- }
- }
- return "./mattermost"
-}
+ "github.com/mattermost/mattermost-server/utils"
+)
func main() {
// Print angry message to use mattermost command directly
@@ -33,7 +24,15 @@ The platform binary will be removed in a future version.
args := os.Args
args[0] = "mattermost"
args = append(args, "--platform")
- if err := syscall.Exec(findMattermostBinary(), args, nil); err != nil {
- fmt.Println("Could not start Mattermost, use the mattermost command directly.")
+
+ realMattermost := utils.FindFile("mattermost")
+ if realMattermost == "" {
+ realMattermost = utils.FindFile("bin/mattermost")
+ }
+
+ if realMattermost == "" {
+ fmt.Println("Could not start Mattermost, use the mattermost command directly: failed to find mattermost")
+ } else if err := syscall.Exec(realMattermost, args, nil); err != nil {
+ fmt.Printf("Could not start Mattermost, use the mattermost command directly: %s\n", err.Error())
}
}