mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-07-16 00:17:07 +08:00
bake: allow overriding no-cache and pull per target via --set
Signed-off-by: Tibor Vass <tibor@docker.com>
This commit is contained in:
36
util/flagutil/flagutil.go
Normal file
36
util/flagutil/flagutil.go
Normal file
@ -0,0 +1,36 @@
|
||||
package flagutil
|
||||
|
||||
import "strconv"
|
||||
|
||||
type tristate struct {
|
||||
opt *bool
|
||||
}
|
||||
|
||||
// Tristate is a tri-state boolean flag type.
|
||||
// It can be set, but not unset.
|
||||
func Tristate(opt *bool) tristate {
|
||||
return tristate{opt}
|
||||
}
|
||||
|
||||
func (t tristate) Type() string {
|
||||
return "tristate"
|
||||
}
|
||||
|
||||
func (t tristate) String() string {
|
||||
if t.opt == nil {
|
||||
return "(unset)"
|
||||
}
|
||||
if *t.opt {
|
||||
return "true"
|
||||
}
|
||||
return "false"
|
||||
}
|
||||
|
||||
func (t tristate) Set(s string) error {
|
||||
b, err := strconv.ParseBool(s)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
t.opt = &b
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user