mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
* 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
39 lines
1.2 KiB
Go
39 lines
1.2 KiB
Go
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"syscall"
|
|
|
|
"github.com/mattermost/mattermost-server/utils"
|
|
)
|
|
|
|
func main() {
|
|
// Print angry message to use mattermost command directly
|
|
fmt.Println(`
|
|
------------------------------------ ERROR ------------------------------------------------
|
|
The platform binary has been deprecated, please switch to using the new mattermost binary.
|
|
The platform binary will be removed in a future version.
|
|
-------------------------------------------------------------------------------------------
|
|
`)
|
|
|
|
// Execve the real MM binary
|
|
args := os.Args
|
|
args[0] = "mattermost"
|
|
args = append(args, "--platform")
|
|
|
|
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())
|
|
}
|
|
}
|