is primitive fixes

This commit is contained in:
Jeff Carr 2024-12-18 18:51:51 -06:00
parent cbac3a5914
commit 22d2ae5cd7
2 changed files with 21 additions and 11 deletions

View File

@ -18,11 +18,14 @@ func (repo *Repo) ParseGoSum() (bool, error) {
// empty out what was there before
repo.GoDeps = nil
// check of the repo is a primative
// check of the repo is a primitive
// that means, there is not a go.sum file
// because the package is completely self contained!
if err := repo.SetPrimitive(); err == nil {
log.Info("This repo is primative!")
if err := repo.SetPrimitive(); err != nil {
return false, err
}
if repo.GetGoPrimitive() {
log.Info("This repo is primitive!")
return true, nil
}
tmp := filepath.Join(repo.FullPath, "go.sum")

View File

@ -22,13 +22,13 @@ func (repo *Repo) SetPrimitive() error {
return err
}
// Detect a 'Primative' package. Sets the isPrimative flag
// Detect a 'Primitive' package. Sets the isPrimitive flag
// will return true if the repo is truly not dependent on _anything_ else
// like spew or lib/widget
// it assumes go mod ran init and tidy ran without error
func (repo *Repo) computePrimitive() (bool, error) {
// go mod init & go mod tidy ran without errors
log.Log(GITPB, "isPrimativeGoMod()", repo.FullPath)
log.Log(GITPB, "isPrimitiveGoMod()", repo.FullPath)
tmp := filepath.Join(repo.FullPath, "go.mod")
gomod, err := os.Open(tmp)
if err != nil {
@ -37,6 +37,11 @@ func (repo *Repo) computePrimitive() (bool, error) {
}
defer gomod.Close()
if repo.Exists("go.sum") {
repo.GoInfo.GoPrimitive = false
return false, nil
}
scanner := bufio.NewScanner(gomod)
for scanner.Scan() {
line := strings.TrimSpace(scanner.Text())
@ -47,14 +52,16 @@ func (repo *Repo) computePrimitive() (bool, error) {
log.Log(GITPB, " gomod: part[0] =", parts[0])
if parts[0] == "require" {
log.Log(GITPB, " should return false here")
return false, errors.New("go.mod file is not primative")
return false, errors.New("go.mod file is not primitive")
}
if parts[0] == "go" {
if parts[1] != "1.21" {
log.Log(GITPBWARN, "go not set to 1.21 for", repo.GetGoPath())
// return false, errors.New("go not set to 1.21 for " + repo.GetGoPath())
/*
if parts[0] == "go" {
if parts[1] != "1.21" {
log.Log(GITPBWARN, "go not set to 1.21 for", repo.GetGoPath())
// return false, errors.New("go not set to 1.21 for " + repo.GetGoPath())
}
}
}
*/
}
}
repo.GoInfo.GoPrimitive = true