go-clone/argv.go

41 lines
1.4 KiB
Go
Raw Normal View History

2024-03-07 16:45:49 -06:00
package main
/*
this parses the command line arguements
this enables command line options from other packages like 'gui' and 'log'
*/
var argv args
2024-03-07 16:45:49 -06:00
type args struct {
Repo string `arg:"positional" help:"go import path"`
AutoWork bool `arg:"--auto-work" default:"false" help:"auto recreate the go.work file"`
DryRun bool `arg:"--dry-run" help:"show what would be run"`
Recursive bool `arg:"--recursive" default:"false" help:"resursively clone all dependencies"`
Pull bool `arg:"--git-pull" default:"false" help:"run 'git pull' on all your repos"`
RedoGoMod bool `arg:"--go-reset" default:"false" help:"remake all the go.sum and go.mod files"`
// Fetch bool `arg:"--git-fetch" default:"false" help:"run 'git fetch' on all your repos"`
2024-03-07 16:45:49 -06:00
}
2024-03-07 22:07:40 -06:00
func (a args) Description() string {
2024-03-07 16:45:49 -06:00
return `
go-clone does git clone on go package repositories.
It uses ~/go/src unless it finds a go.work file in a parent directory.
2024-03-21 22:47:17 -05:00
This will clone the sources for go-clone:
go-clone go.wit.com/apps/go-clone
2024-03-07 16:45:49 -06:00
If a go.work file is found, this will auto generate a new go.work file.
The old work file is saved as go.work.last
go-clone --auto-work go.wit.com/apps/go-clone
This will recursively clone a package and all the build requirements:
go-clone --recursive go.wit.com/apps/go-clone
2024-03-21 19:43:26 -05:00
`
2024-03-07 16:45:49 -06:00
}
func (args) Version() string {
2024-11-15 10:52:00 -06:00
return "go-clone " + VERSION + " Built on " + BUILDTIME
2024-03-07 16:45:49 -06:00
}