diff options
Diffstat (limited to 'humanBuildTable.go')
| -rw-r--r-- | humanBuildTable.go | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/humanBuildTable.go b/humanBuildTable.go new file mode 100644 index 0000000..6c2102e --- /dev/null +++ b/humanBuildTable.go @@ -0,0 +1,66 @@ +// Copyright 2025 WIT.COM Inc Licensed GPL 3.0 + +package forgepb + +import ( + "go.wit.com/lib/protobuf/gitpb" +) + +func (f *Forge) getPackageVersion(repo *gitpb.Repo) string { + var s string + + s = repo.GetCurrentBranchVersion() + if repo.IsDirty() { + s += "-dirty" + } + return s +} + +func (f *Forge) getRepoType(repo *gitpb.Repo) string { + var rtype string = repo.GetRepoType() + switch rtype { + case "binary": + rtype = "GO bin" + case "library": + rtype = "GO lib" + case "protobuf": + rtype = "GO pb" + } + if f.IsPrivate(repo) { + rtype = "priv" + } + return rtype +} + +func (f *Forge) isInstalled(repo *gitpb.Repo) string { + return "X" +} + +func (f *Forge) GetBuildBaseTB(pb *gitpb.Repos) *gitpb.ReposTable { + t := pb.NewTable(".deb details") + t.NewUuid() + + var col *gitpb.RepoFunc + + col = t.AddStringFunc("Build Version", func(r *gitpb.Repo) string { + return f.getPackageVersion(r) + }) + col.Width = 24 + + col = t.AddState() + col.Width = 32 + + col = t.AddStringFunc("RepoType", func(r *gitpb.Repo) string { + return f.getRepoType(r) + }) + col.Width = 8 + + col = t.AddStringFunc("I", func(r *gitpb.Repo) string { + return f.isInstalled(r) + }) + col.Width = 2 + + col = t.AddNamespace() + col.Width = 22 + return t +} |
