go-mod-clean/argv.go

34 lines
1.2 KiB
Go

package main
/*
this parses the command line arguements
*/
var argv args
type args struct {
All bool `arg:"--all" default:"false" help:"redo every repo found in go/src or go.work"`
Auto bool `arg:"--auto" help:"don't approve via STDIN"`
Trim bool `arg:"--trim" default:"true" help:"trim entries from go.sum"`
Verbose bool `arg:"--verbose" help:"show more"`
Notes bool `arg:"--metadata" help:"save as git metadata (notes)"`
Restore bool `arg:"--restore" default:"true" help:"restore from git metadata"`
Force bool `arg:"--force" help:"remove things and redo them no matter what"`
Strict bool `arg:"--strict" default:"false" help:"never make go.* files unless everything is perfect"`
}
func (args) Version() string {
return "go-mod-clean " + VERSION + " Built on " + BUILDTIME
}
func (a args) Description() string {
return `
go-mod-clean will try to verify your go.* files are using the newest package versions
* Recreate go.* with 'go mod init' and 'go mod tidy'
* Set your required go in go.mod (default is go1.21
* Check that the most recent master branch versions are used
* Try to trim go.sum of non-existent entries
`
}