mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-11 06:03:57 +08:00
chore(deps): upgrade urfave/cli from v1 to v3
Migrate from urfave/cli v1 (maintenance mode) to v3 to benefit from active development, improved features, and long-term support. Signed-off-by: lifubang <lifubang@acmcoder.com>
This commit is contained in:
+65
@@ -0,0 +1,65 @@
|
||||
package cli
|
||||
|
||||
type GenericFlag = FlagBase[Value, NoConfig, genericValue]
|
||||
|
||||
// -- Value Value
|
||||
type genericValue struct {
|
||||
val Value
|
||||
}
|
||||
|
||||
// Below functions are to satisfy the ValueCreator interface
|
||||
|
||||
func (f genericValue) Create(val Value, p *Value, c NoConfig) Value {
|
||||
*p = val
|
||||
return &genericValue{
|
||||
val: *p,
|
||||
}
|
||||
}
|
||||
|
||||
func (f genericValue) ToString(b Value) string {
|
||||
f.val = b
|
||||
return f.String()
|
||||
}
|
||||
|
||||
// Below functions are to satisfy the flag.Value interface
|
||||
|
||||
func (f *genericValue) Set(s string) error {
|
||||
if f.val != nil {
|
||||
return f.val.Set(s)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (f *genericValue) Get() any {
|
||||
if f.val != nil {
|
||||
return f.val.Get()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (f *genericValue) String() string {
|
||||
if f.val != nil {
|
||||
return f.val.String()
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (f *genericValue) IsBoolFlag() bool {
|
||||
if f.val == nil {
|
||||
return false
|
||||
}
|
||||
bf, ok := f.val.(boolFlag)
|
||||
return ok && bf.IsBoolFlag()
|
||||
}
|
||||
|
||||
// Generic looks up the value of a local GenericFlag, returns
|
||||
// nil if not found
|
||||
func (cmd *Command) Generic(name string) Value {
|
||||
if v, ok := cmd.Value(name).(Value); ok {
|
||||
tracef("generic available for flag name %[1]q with value=%[2]v (cmd=%[3]q)", name, v, cmd.Name)
|
||||
return v
|
||||
}
|
||||
|
||||
tracef("generic NOT available for flag name %[1]q (cmd=%[2]q)", name, cmd.Name)
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user