chore: Use After hooks and proper args
This commit is contained in:
parent
f79d34be5c
commit
3508a5b664
@ -5,7 +5,6 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/filecoin-project/lotus/build"
|
|
||||||
ufcli "github.com/urfave/cli/v2"
|
ufcli "github.com/urfave/cli/v2"
|
||||||
"golang.org/x/xerrors"
|
"golang.org/x/xerrors"
|
||||||
)
|
)
|
||||||
@ -33,13 +32,6 @@ func ShowHelp(cctx *ufcli.Context, err error) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func RunApp(app *ufcli.App) {
|
func RunApp(app *ufcli.App) {
|
||||||
defer func() {
|
|
||||||
if r := recover(); r != nil {
|
|
||||||
// Generate report in LOTUS_PATH and re-raise panic
|
|
||||||
build.GeneratePanicReport(os.Getenv("LOTUS_PATH"), "app_panic")
|
|
||||||
panic(r)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
if err := app.Run(os.Args); err != nil {
|
if err := app.Run(os.Args); err != nil {
|
||||||
if os.Getenv("LOTUS_DEV") != "" {
|
if os.Getenv("LOTUS_DEV") != "" {
|
||||||
log.Warnf("%+v", err)
|
log.Warnf("%+v", err)
|
||||||
|
@ -113,6 +113,12 @@ func main() {
|
|||||||
Usage: "use color in display output",
|
Usage: "use color in display output",
|
||||||
DefaultText: "depends on output being a TTY",
|
DefaultText: "depends on output being a TTY",
|
||||||
},
|
},
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "panic-reports",
|
||||||
|
EnvVars: []string{"LOTUS_PANIC_REPORT_PATH"},
|
||||||
|
Hidden: true,
|
||||||
|
Value: "~/.lotus", // should follow --repo default
|
||||||
|
},
|
||||||
&cli.StringFlag{
|
&cli.StringFlag{
|
||||||
Name: "repo",
|
Name: "repo",
|
||||||
EnvVars: []string{"LOTUS_PATH"},
|
EnvVars: []string{"LOTUS_PATH"},
|
||||||
@ -146,6 +152,14 @@ func main() {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
|
After: func(c *cli.Context) error {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
// Generate report in LOTUS_PATH and re-raise panic
|
||||||
|
build.GeneratePanicReport(c.String("panic-reports"), c.String("repo"), c.App.Name)
|
||||||
|
panic(r)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
},
|
||||||
}
|
}
|
||||||
app.Setup()
|
app.Setup()
|
||||||
app.Metadata["repoType"] = repo.StorageMiner
|
app.Metadata["repoType"] = repo.StorageMiner
|
||||||
|
@ -75,6 +75,12 @@ func main() {
|
|||||||
Value: "~/.lotusworker", // TODO: Consider XDG_DATA_HOME
|
Value: "~/.lotusworker", // TODO: Consider XDG_DATA_HOME
|
||||||
Usage: fmt.Sprintf("Specify worker repo path. flag %s and env WORKER_PATH are DEPRECATION, will REMOVE SOON", FlagWorkerRepoDeprecation),
|
Usage: fmt.Sprintf("Specify worker repo path. flag %s and env WORKER_PATH are DEPRECATION, will REMOVE SOON", FlagWorkerRepoDeprecation),
|
||||||
},
|
},
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "panic-reports",
|
||||||
|
EnvVars: []string{"LOTUS_PANIC_REPORT_PATH"},
|
||||||
|
Hidden: true,
|
||||||
|
Value: "~/.lotus", // should follow --repo default
|
||||||
|
},
|
||||||
&cli.StringFlag{
|
&cli.StringFlag{
|
||||||
Name: "miner-repo",
|
Name: "miner-repo",
|
||||||
Aliases: []string{"storagerepo"},
|
Aliases: []string{"storagerepo"},
|
||||||
@ -89,6 +95,14 @@ func main() {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
After: func(c *cli.Context) error {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
// Generate report in LOTUS_PATH and re-raise panic
|
||||||
|
build.GeneratePanicReport(c.String("panic-reports"), c.String(FlagWorkerRepo), c.App.Name)
|
||||||
|
panic(r)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
},
|
||||||
Commands: local,
|
Commands: local,
|
||||||
}
|
}
|
||||||
app.Setup()
|
app.Setup()
|
||||||
|
@ -67,6 +67,12 @@ func main() {
|
|||||||
Version: build.UserVersion(),
|
Version: build.UserVersion(),
|
||||||
EnableBashCompletion: true,
|
EnableBashCompletion: true,
|
||||||
Flags: []cli.Flag{
|
Flags: []cli.Flag{
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "panic-reports",
|
||||||
|
EnvVars: []string{"LOTUS_PANIC_REPORT_PATH"},
|
||||||
|
Hidden: true,
|
||||||
|
Value: "~/.lotus", // should follow --repo default
|
||||||
|
},
|
||||||
&cli.StringFlag{
|
&cli.StringFlag{
|
||||||
Name: "repo",
|
Name: "repo",
|
||||||
EnvVars: []string{"LOTUS_PATH"},
|
EnvVars: []string{"LOTUS_PATH"},
|
||||||
@ -84,6 +90,14 @@ func main() {
|
|||||||
},
|
},
|
||||||
cliutil.FlagVeryVerbose,
|
cliutil.FlagVeryVerbose,
|
||||||
},
|
},
|
||||||
|
After: func(c *cli.Context) error {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
// Generate report in LOTUS_PATH and re-raise panic
|
||||||
|
build.GeneratePanicReport(c.String("panic-reports"), c.String("repo"), c.App.Name)
|
||||||
|
panic(r)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
|
||||||
Commands: append(local, lcli.Commands...),
|
Commands: append(local, lcli.Commands...),
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user