go-deb/addRepo.go

104 lines
2.3 KiB
Go
Raw Normal View History

package main
import (
"os"
"strings"
"time"
"go.wit.com/lib/gadgets"
"go.wit.com/lib/gui/repostatus"
"go.wit.com/log"
)
func RemoveFirstElement(slice []string) (string, []string) {
if len(slice) == 0 {
return "", slice // Return the original slice if it's empty
}
return slice[0], slice[1:] // Return the slice without the first element
}
// homeDir, _ := os.UserHomeDir()
func (c *controlBox) addRepo(path string) {
path = strings.Trim(path, "/") // trim any extranous '/' chars put in the config file by the user
if path == "" {
log.Warn("addRepo() got empty path", path)
return
}
2024-02-20 23:13:26 -06:00
// if repostatus.VerifyLocalGoRepo(path) {
// log.Verbose("path actually exists", path)
// } else {
// log.Warn("repostatus.VerifyLocalGoRepo() failed for for", path)
// return
// }
c.pathL = gadgets.NewOneLiner(c.grid, "path")
c.pathL.SetText(path)
c.grid.NextRow()
c.lastTag = gadgets.NewOneLiner(c.grid, "lastTag")
c.grid.NextRow()
c.dirtyL = gadgets.NewOneLiner(c.grid, "dirty")
c.grid.NextRow()
c.currentL = gadgets.NewOneLiner(c.grid, "current")
c.grid.NextRow()
c.buildDate = gadgets.NewOneLiner(c.grid, "Build Date")
c.grid.NextRow()
stamp := time.Now().UTC().Format("2006/01/02 15:04:05 UTC")
c.buildDate.SetText(stamp)
2024-11-19 05:30:56 -06:00
c.tagDate = gadgets.NewBasicEntry(c.grid, "git tag Date")
c.grid.NextRow()
2024-02-20 23:13:26 -06:00
err, repo := repostatus.NewRepoStatusWindow(path)
if err != nil {
log.Info("path did not work", path, err)
return
}
if repo == nil {
log.Info("repo == nil", path, err)
os.Exit(-1)
return
}
2024-02-20 23:13:26 -06:00
c.status = repo
// c.status.SetMainWorkingName("master")
// c.status.SetDevelWorkingName("devel")
// c.status.SetUserWorkingName("jcarr")
c.status.Update()
cbname := c.status.GetCurrentBranchName()
cbversion := c.status.GetCurrentBranchVersion()
2024-03-02 17:51:34 -06:00
debversion := c.status.DebianCurrentVersion()
if c.status.CheckDirty() {
c.dirtyL.SetText("true")
} else {
c.dirtyL.SetText("false")
}
2024-02-20 23:13:26 -06:00
lasttag := c.status.GetLastTagVersion()
if argv.Release {
2024-03-02 17:51:34 -06:00
debversion = c.status.DebianReleaseVersion()
2024-02-20 23:13:26 -06:00
c.dirtyL.SetText("false")
}
c.Version.SetText(debversion)
c.lastTag.SetText(lasttag)
c.currentL.SetText(cbname + " " + cbversion)
tagDate := c.getDateStamp(lasttag)
c.tagDate.SetText(tagDate)
2024-02-20 23:13:26 -06:00
if s, ok := c.status.Changed(); ok {
log.Warn("should scan here", s)
}
return
}