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 // empty out what was there before
repo.GoDeps = nil 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 // that means, there is not a go.sum file
// because the package is completely self contained! // because the package is completely self contained!
if err := repo.SetPrimitive(); err == nil { if err := repo.SetPrimitive(); err != nil {
log.Info("This repo is primative!") return false, err
}
if repo.GetGoPrimitive() {
log.Info("This repo is primitive!")
return true, nil return true, nil
} }
tmp := filepath.Join(repo.FullPath, "go.sum") tmp := filepath.Join(repo.FullPath, "go.sum")

View File

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