27 lines
548 B
Go
27 lines
548 B
Go
|
// Copyright 2023 The Gitea Authors. All rights reserved.
|
||
|
// SPDX-License-Identifier: MIT
|
||
|
|
||
|
package cmd
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"strings"
|
||
|
|
||
|
"github.com/urfave/cli"
|
||
|
)
|
||
|
|
||
|
func RunMainApp(app *cli.App, args ...string) error {
|
||
|
err := app.Run(args)
|
||
|
if err == nil {
|
||
|
return nil
|
||
|
}
|
||
|
if strings.HasPrefix(err.Error(), "flag provided but not defined:") {
|
||
|
// the cli package should already have output the error message, so just exit
|
||
|
cli.OsExiter(1)
|
||
|
return err
|
||
|
}
|
||
|
_, _ = fmt.Fprintf(app.ErrWriter, "Command error: %v\n", err)
|
||
|
cli.OsExiter(1)
|
||
|
return err
|
||
|
}
|