104 lines
2.7 KiB
Go
104 lines
2.7 KiB
Go
// Copyright 2021 Woodpecker Authors
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package common
|
|
|
|
import (
|
|
"github.com/urfave/cli/v3"
|
|
|
|
"go.woodpecker-ci.org/woodpecker/v2/shared/logger"
|
|
)
|
|
|
|
var GlobalFlags = append([]cli.Flag{
|
|
&cli.StringFlag{
|
|
Sources: cli.EnvVars("WOODPECKER_CONFIG"),
|
|
Name: "config",
|
|
Aliases: []string{"c"},
|
|
Usage: "path to config file",
|
|
},
|
|
&cli.StringFlag{
|
|
Sources: cli.EnvVars("WOODPECKER_SERVER"),
|
|
Name: "server",
|
|
Aliases: []string{"s"},
|
|
Usage: "server address",
|
|
},
|
|
&cli.StringFlag{
|
|
Sources: cli.EnvVars("WOODPECKER_TOKEN"),
|
|
Name: "token",
|
|
Aliases: []string{"t"},
|
|
Usage: "server auth token",
|
|
},
|
|
&cli.BoolFlag{
|
|
Sources: cli.EnvVars("WOODPECKER_DISABLE_UPDATE_CHECK"),
|
|
Name: "disable-update-check",
|
|
Usage: "disable update check",
|
|
},
|
|
&cli.BoolFlag{
|
|
Sources: cli.EnvVars("WOODPECKER_SKIP_VERIFY"),
|
|
Name: "skip-verify",
|
|
Usage: "skip ssl verification",
|
|
Hidden: true,
|
|
},
|
|
&cli.StringFlag{
|
|
Sources: cli.EnvVars("SOCKS_PROXY"),
|
|
Name: "socks-proxy",
|
|
Usage: "socks proxy address",
|
|
Hidden: true,
|
|
},
|
|
&cli.BoolFlag{
|
|
Sources: cli.EnvVars("SOCKS_PROXY_OFF"),
|
|
Name: "socks-proxy-off",
|
|
Usage: "socks proxy ignored",
|
|
Hidden: true,
|
|
},
|
|
}, logger.GlobalLoggerFlags...)
|
|
|
|
// FormatFlag return format flag with value set based on template
|
|
// if hidden value is set, flag will be hidden.
|
|
func FormatFlag(tmpl string, hidden ...bool) *cli.StringFlag {
|
|
return &cli.StringFlag{
|
|
Name: "format",
|
|
Usage: "format output",
|
|
Value: tmpl,
|
|
Hidden: len(hidden) != 0,
|
|
}
|
|
}
|
|
|
|
// OutputFlags returns a slice of cli.Flag containing output format options.
|
|
func OutputFlags(def string) []cli.Flag {
|
|
return []cli.Flag{
|
|
&cli.StringFlag{
|
|
Name: "output",
|
|
Usage: "output format",
|
|
Value: def,
|
|
},
|
|
&cli.BoolFlag{
|
|
Name: "output-no-headers",
|
|
Usage: "don't print headers",
|
|
},
|
|
}
|
|
}
|
|
|
|
var RepoFlag = &cli.StringFlag{
|
|
Name: "repository",
|
|
Aliases: []string{"repo"},
|
|
Usage: "repository id or full name (e.g. 134 or octocat/hello-world)",
|
|
}
|
|
|
|
var OrgFlag = &cli.StringFlag{
|
|
Name: "organization",
|
|
Aliases: []string{"org"},
|
|
Usage: "organization id or full name (e.g. 123 or octocat)",
|
|
}
|