add SetGoPrimitive()

This commit is contained in:
Jeff Carr 2024-12-17 20:47:09 -06:00
parent 5434341272
commit ea14fc629d
2 changed files with 13 additions and 11 deletions

View File

@ -91,7 +91,7 @@ func findPwdRepo() *gitpb.Repo {
func saveAsMetadata(repo *gitpb.Repo) error {
cname := repo.GetCurrentBranchName()
if repo.GoInfo.GoPrimitive {
if repo.GetGoPrimitive() {
if err := repo.AutogenSave([]string{"go.mod"}, cname, true); err != nil {
return err
}

View File

@ -53,28 +53,30 @@ func redoGoMod(repo *gitpb.Repo) error {
}
repo.GoDeps = nil
repo.GoInfo.GoPrimitive = false
repo.SetGoPrimitive(false)
// if there is not a go.sum file, it better be a primitive golang project
if !repo.Exists("go.sum") {
// todo. fix this logic
ok, err := repo.IsPrimitive()
err := repo.SetPrimitive()
if err != nil {
// this means this repo does not depend on any other package
log.Info("PRIMATIVE repo error:", repo.GetGoPath(), "err =", err)
return err
}
if ok {
// this means the repo is primitive so there is no go.sum
repo.GoInfo.GoPrimitive = true
repo.GoDeps = new(gitpb.GoDeps)
return nil
}
}
// now check if GoPrimitive is true
if repo.GetGoPrimitive() {
// perfect!
return nil
}
// well, it's not a primitive and we are still missing the go.sum file
if !repo.Exists("go.sum") {
// this should never happen
// this means something else went wrong!
// display the go.mod file and try to figure out what happened
// maybe the format of go.mod changed in some future version of golang
data, _ := repo.ReadFile("go.mod")
log.Info(string(data))
return errors.New("missing go.sum file on non-primitive go.mod")