Merge branch 'develop' into lint

This commit is contained in:
Brenden Soares
2022-04-11 20:18:54 -07:00
committed by GitHub
19 changed files with 143 additions and 40 deletions

View File

@@ -10,8 +10,8 @@ import (
"io"
"os"
"os/exec"
"runtime"
"sync"
"sync/atomic"
"time"
"github.com/revel/cmd/model"
@@ -74,6 +74,7 @@ func NewAppCmd(binPath string, port int, runMode string, paths *model.RevelConta
func (cmd AppCmd) Start(c *model.CommandConfig) error {
listeningWriter := &startupListeningWriter{os.Stdout, make(chan bool), c, &bytes.Buffer{}}
cmd.Stdout = listeningWriter
cmd.Stderr = listeningWriter
utils.CmdInit(cmd.Cmd, !c.Vendored, c.AppPath)
utils.Logger.Info("Exec app:", "path", cmd.Path, "args", cmd.Args, "dir", cmd.Dir, "env", cmd.Env)
if err := cmd.Cmd.Start(); err != nil {
@@ -84,8 +85,9 @@ func (cmd AppCmd) Start(c *model.CommandConfig) error {
case exitState := <-cmd.waitChan():
fmt.Println("Startup failure view previous messages, \n Proxy is listening :", c.Run.Port)
err := utils.NewError("", "Revel Run Error", "starting your application there was an exception. See terminal output, "+exitState, "")
atomic.SwapInt32(&startupError, 1)
// TODO pretiffy command line output
// err.MetaError = listeningWriter.getLastOutput()
err.Stack = listeningWriter.buffer.String()
return err
case <-time.After(60 * time.Second):
@@ -143,11 +145,8 @@ func (cmd AppCmd) Kill() {
// Send an interrupt signal to allow for a graceful shutdown
utils.Logger.Info("Killing revel server pid", "pid", cmd.Process.Pid)
var err error
if runtime.GOOS != "windows" {
// os.Interrupt is not available on windows
err = cmd.Process.Signal(os.Interrupt)
}
err := cmd.Process.Signal(os.Interrupt)
if err != nil {
utils.Logger.Info(