summaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
authorJesse Hallam <jesse.hallam@gmail.com>2018-05-29 10:55:49 -0400
committerHarrison Healey <harrisonmhealey@gmail.com>2018-05-29 10:55:49 -0400
commitd3cf110620033f8831a55a3fd911d7864b6aab4a (patch)
tree3b25cede4bf947227f1ec3206c2b1ab55db3f15b /cmd
parent4f5fdb6f8959cdf7d7b2cb93ea77960429bcac8a (diff)
downloadchat-d3cf110620033f8831a55a3fd911d7864b6aab4a.tar.gz
chat-d3cf110620033f8831a55a3fd911d7864b6aab4a.tar.bz2
chat-d3cf110620033f8831a55a3fd911d7864b6aab4a.zip
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
Diffstat (limited to 'cmd')
-rw-r--r--cmd/platform/main.go22
1 files changed, 10 insertions, 12 deletions
diff --git a/cmd/platform/main.go b/cmd/platform/main.go
index b5ea51920..6d9952c70 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,14 @@ 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 {
+
+ realMattermost := utils.FindFile("mattermost")
+ if realMattermost == "" {
+ // This will still fail, of course.
+ realMattermost = "./mattermost"
+ }
+
+ if err := syscall.Exec(utils.FindFile("mattermost"), args, nil); err != nil {
fmt.Println("Could not start Mattermost, use the mattermost command directly.")
}
}