mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-18 20:32:41 +03:00
2e539d5190
Backport #26346
Follow the CLI refactoring, and add tests.
(cherry picked from commit fa431b377d
)
26 lines
548 B
Go
26 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
|
|
}
|