summaryrefslogtreecommitdiffstats
path: root/cmd/platform/main.go
blob: b5ea51920de2503d25226518155c569c7ba01475 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.

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"
}

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")
	if err := syscall.Exec(findMattermostBinary(), args, nil); err != nil {
		fmt.Println("Could not start Mattermost, use the mattermost command directly.")
	}
}