blob: 61ab8f5ce7487dcfe01e6225b260b75f813a7d6d (
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"`
// Gomod 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 {
}
|