blob: 6779cf48ff59bbe4d0f1a00c93278192a9388689 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
  | 
// Copyright 2017-2025 WIT.COM Inc. All rights reserved.
// Use of this source code is governed by the GPL 3.0
package main
/*
	this parses the command line arguements
	this enables command line options from other packages like 'gui' and 'log'
*/
var argv args
type args struct {
	Build     *BuildCmd   `arg:"subcommand:build"              help:"build and install things"`
	Upgrade   *UpgradeCmd `arg:"subcommand:upgrade"            help:"apt upgrade packages installed from mirrors.wit.com"`
	Git       *GitCmd     `arg:"subcommand:git"                help:"git stuff"`
	Publish   *PublishCmd `arg:"subcommand:publish"            help:"publish packages"`
	ListPkgs  *EmptyCmd   `arg:"subcommand:list"               help:"list all the packages on mirrors.wit.com"`
	Clone     *CloneCmd   `arg:"subcommand:go-clone"           help:"go-clone from a gowebd repomap"`
	Linux     *LinuxCmd   `arg:"subcommand:linux"              help:"helpful linux things"`
	Zoo       *EmptyCmd   `arg:"subcommand:zoo"                help:"WIT Private Cloud info"`
	PB        *ProtoCmd   `arg:"subcommand:pb"                 help:"example .pb files"`
	Droplet   *DropletCmd `arg:"subcommand:droplet"            help:"do things on virtual machines"`
	Test      *TestCmd    `arg:"subcommand:test"               help:"test things"`
	RepoMap   string      `arg:"--repomap"                     help:"location of the repomap"`
	DryRun    bool        `arg:"--dry-run"                     help:"only show what would be packaged"`
	Install   bool        `arg:"--install"                     help:"go install the binaries first"`
	Verbose   bool        `arg:"--verbose"                     help:"be loud about it"`
	Force     bool        `arg:"--force"                       help:"rebuild everything"`
	All       bool        `arg:"--all"                         help:"show everything"`
	Recursive bool        `arg:"--recursive"                   help:"go-clone --recursive"`
	WITCOM    bool        `arg:"--witcom"                      help:"add the GPL header"`
	Max       int32       `arg:"--max"                         help:"stop building after max builds"`
}
type BuildCmd struct {
	Debian   *DebianCmd  `arg:"subcommand:deb"             help:"build missing .deb packages"`
	MacBuild *EmptyCmd   `arg:"subcommand:macos"              help:"build macos packages"`
	Install  *InstallCmd `arg:"subcommand:install"            help:"run make install in each repo"`
}
type ProtoCmd struct {
	Identify string `arg:"--identify"                    help:"identify a .pb file"`
}
type DropletCmd struct {
	Trim *EmptyCmd `arg:"subcommand:trim"            help:"clean out stuff and power off vm"`
}
type TestCmd struct {
	Version *EmptyCmd `arg:"subcommand:version"         help:"test with cmd --version"`
	Copy    bool      `arg:"--copy"                        help:"re-copy argv.template.go"`
}
type LinuxCmd struct {
	Rdate   *EmptyCmd `arg:"subcommand:rdate"              help:"rdate: check the time from the network"`
	Reboots *EmptyCmd `arg:"subcommand:reboots"              help:"show reboots"`
	Dmesg   *EmptyCmd `arg:"subcommand:dmesg"                help:"show last dmesg"`
}
type DebianCmd struct {
	All     bool   `arg:"--all"                         help:"build everything again"`
	DryRun  bool   `arg:"--dry-run"                     help:"only show what would be packaged"`
	Release bool   `arg:"--release"                     help:"use go-deb --release"`
	Verbose bool   `arg:"--verbose"                     help:"be loud about it"`
	Force   bool   `arg:"--force"                       help:"force devel .deb builds into /incoming"`
	Priv    bool   `arg:"--private"                     help:"build private repos"`
	Arch    string `arg:"--arch"                        help:"what arch"`
}
type CloneCmd struct {
	Check   *EmptyCmd `arg:"subcommand:check"              help:"check urls against the repomap"`
	Fix     *EmptyCmd `arg:"subcommand:fix"                help:"fix urls from the repomap"`
	Repomap *EmptyCmd `arg:"subcommand:repomap"            help:"make updated repomap"`
	DryRun  bool      `arg:"--dry-run"                     help:"show what has not yet come to pass"`
	Verbose bool      `arg:"--verbose"                     help:"be loud about it"`
}
type UpgradeCmd struct {
	All   bool `arg:"--all"                         help:"show all the packages"`
	Force bool `arg:"--force"                       help:"force un-install and re-install each package"`
}
type PublishCmd struct {
	Protobuf  bool `arg:"--protobuf"                    help:"force all protobufs to be republished"`
	Doit      bool `arg:"--doit"                        help:"actually publish"`
	KeepGomod bool `arg:"--keep-gomod"                  help:"don't really do anything"`
}
type InstallCmd struct {
	DryRun  bool `arg:"--dry-run"                     help:"show what has not yet come to pass"`
	Verbose bool `arg:"--verbose"                     help:"be loud about it"`
}
type GitCmd struct {
	Log             *EmptyCmd `arg:"subcommand:log"                help:"git log"`
	Who             *EmptyCmd `arg:"subcommand:who"                help:"git who"`
	Tag             *EmptyCmd `arg:"subcommand:tag"                help:"show tags"`
	Pull            *EmptyCmd `arg:"subcommand:pull"               help:"pull the wit standard paths"`
	Push            *EmptyCmd `arg:"subcommand:push"               help:"push the wit standard paths"`
	Template        string    `arg:"--template"                    help:"create a new reup from a tempalte"`
	Create          string    `arg:"--create"                      help:"create new repo"`
	Edit            string    `arg:"--edit"                        help:"edit the subject of the last commit"`
	ChopHEAD        int       `arg:"--chop-head-off"               help:"remove the last commit (HEAD-1)"`
	DeleteUntracked bool      `arg:"--delete-untracked"            help:"delete the untracked files"`
}
type EmptyCmd struct {
}
  |