forgepb/forgeConfig/main.go

137 lines
2.8 KiB
Go
Raw Normal View History

2024-11-20 09:31:24 -06:00
package main
import (
2024-11-20 10:31:25 -06:00
"os"
2024-11-20 09:31:24 -06:00
"go.wit.com/lib/protobuf/forgepb"
"go.wit.com/log"
)
2024-11-20 12:11:13 -06:00
// sent via ldflags
var VERSION string
2024-11-20 09:31:24 -06:00
func main() {
var repos forgepb.Repos
2024-11-20 10:31:25 -06:00
if err := repos.ConfigLoad(); err != nil {
log.Warn("forgepb.ConfigLoad() failed", err)
os.Exit(-1)
}
2024-11-20 12:11:13 -06:00
if argv.List {
log.Info(forgepb.RepoHeader())
2024-11-20 21:22:05 -06:00
loop := repos.SortByPath() // get the list of repos
2024-11-20 12:11:13 -06:00
for loop.Scan() {
r := loop.Repo()
2024-11-20 21:22:05 -06:00
log.Info("repo:", r.GoPath)
2024-11-20 12:11:13 -06:00
}
os.Exit(0)
}
2024-11-20 23:51:28 -06:00
// try to delete, then save config and exit
if argv.Delete {
if oldr := repos.DeleteByPath(argv.GoPath); oldr == nil {
log.Info("deleted", argv.GoPath, "did not exist. did nothing")
os.Exit(0)
}
log.Info("deleted", argv.GoPath, "ok")
repos.ConfigSave()
os.Exit(0)
}
// try to update, then save config and exit
2024-11-20 13:43:26 -06:00
if argv.Update {
2024-11-20 21:22:05 -06:00
/*
if repos.UpdateGoPath(argv.Name, argv.GoPath) {
// save updated config file
repos.ConfigSave()
}
*/
2024-11-20 13:43:26 -06:00
os.Exit(0)
}
2024-11-20 23:51:28 -06:00
// try to add, then save config and exit
2024-11-20 12:11:13 -06:00
if argv.Add {
2024-11-20 21:22:05 -06:00
log.Info("going to add a new repo", argv.GoPath)
2024-11-21 02:24:31 -06:00
new1 := forgepb.Repo{
GoPath: argv.GoPath,
Writable: argv.Writable,
ReadOnly: argv.ReadOnly,
Private: argv.Private,
2024-11-21 02:24:31 -06:00
Directory: argv.Directory,
Favorite: argv.Favorite,
Interesting: argv.Interesting,
}
if repos.Append(&new1) {
2024-11-20 21:22:05 -06:00
log.Info("added", new1.GoPath, "ok")
2024-11-20 12:11:13 -06:00
} else {
2024-11-20 21:22:05 -06:00
log.Info("added", new1.GoPath, "failed")
2024-11-20 12:11:13 -06:00
os.Exit(-1)
}
repos.ConfigSave()
os.Exit(0)
}
2024-11-20 21:22:05 -06:00
// testMemoryCorruption(repos)
2024-11-20 09:31:24 -06:00
repos.ConfigSave()
}
2024-11-20 21:22:05 -06:00
/*
2024-11-20 13:56:27 -06:00
// this fucks shit up
func testMemoryCorruption(all *forgepb.Repos) *forgepb.Repos {
2024-11-20 09:31:24 -06:00
new1 := new(forgepb.Repo)
2024-11-20 13:56:27 -06:00
new1.Name = "bash1"
2024-11-20 09:31:24 -06:00
new1.Version = "5.2.21"
if all.Append(new1) {
log.Info("added", new1.Name, "ok")
} else {
log.Info("added", new1.Name, "failed")
}
2024-11-20 10:31:25 -06:00
new1 = new(forgepb.Repo)
2024-11-20 13:56:27 -06:00
new1.Name = "zookeeper1"
2024-11-20 10:31:25 -06:00
new1.Debname = "zookeeper-go"
if all.Append(new1) {
log.Info("added", new1.Name, "ok")
} else {
log.Info("added", new1.Name, "failed")
}
new1 = new(forgepb.Repo)
new1.Name = "wit-package"
new1.Private = true
if all.Append(new1) {
log.Info("added", new1.Name, "ok")
} else {
log.Info("added", new1.Name, "failed")
}
new1 = new(forgepb.Repo)
new1.Name = "networkQuality"
new1.Debname = "networkquality"
new1.Readonly = true
if all.Append(new1) {
log.Info("added", new1.Name, "ok")
} else {
log.Info("added", new1.Name, "failed")
}
2024-11-20 09:31:24 -06:00
new2 := new(forgepb.Repo)
new2.Name = "go-clone"
new2.Version = "0.6.8" // good version of the macos
if all.Append(new2) {
log.Info("added", new2.Name, "ok")
} else {
log.Info("added", new2.Name, "failed")
}
if all.Append(new2) {
log.Info("added", new2.Name, "ok (this is bad)")
} else {
log.Info("added", new2.Name, "failed (but ok)")
}
fmt.Println("packages are:", len(all.Repos))
return all
}
2024-11-20 21:22:05 -06:00
*/