diff --git a/goDep.parseGoSum.go b/goDep.parseGoSum.go index 5bf3f29..e275f0e 100644 --- a/goDep.parseGoSum.go +++ b/goDep.parseGoSum.go @@ -21,7 +21,7 @@ func (repo *Repo) ParseGoSum() (bool, error) { // check of the repo is a primative // that means, there is not a go.sum file // because the package is completely self contained! - if ok, _ := repo.IsPrimitive(); ok { + if err := repo.SetPrimitive(); err == nil { log.Info("This repo is primative!") return true, nil } diff --git a/isPrimitive.go b/isPrimitive.go index 0455799..7755cfb 100644 --- a/isPrimitive.go +++ b/isPrimitive.go @@ -15,6 +15,13 @@ import ( "go.wit.com/log" ) +// deprecate use of IsPrimitive() to this function +// this assumes go.mod and go.sum are in a releasable state +func (repo *Repo) SetPrimitive() error { + _, err := repo.IsPrimitive() + return err +} + // Detect a 'Primative' package. Sets the isPrimative flag // will return true if the repo is truly not dependent on _anything_ else // like spew or lib/widget @@ -43,9 +50,9 @@ func (repo *Repo) IsPrimitive() (bool, error) { return false, errors.New("go.mod file is not primative") } if parts[0] == "go" { - if parts[1] != "1.20" { - log.Log(GITPBWARN, "go not set to 1.20 for", repo.GoPath) - return false, errors.New("go not set to 1.20 for " + repo.GoPath) + if parts[1] != "1.21" { + log.Log(GITPBWARN, "go not set to 1.21 for", repo.GoPath) + // return false, errors.New("go not set to 1.21 for " + repo.GoPath) } } } diff --git a/isTracked.go b/isTracked.go index 2fc8ddf..b15db02 100644 --- a/isTracked.go +++ b/isTracked.go @@ -1,7 +1,10 @@ package gitpb import ( + "errors" "fmt" + + "go.wit.com/log" ) func (repo *Repo) isTracked(file string) (bool, error) { @@ -30,34 +33,40 @@ func (repo *Repo) isIgnored(file string) (bool, error) { return false, nil } -func (repo *Repo) RepoIgnoresGoMod() (bool, error) { +// is it a good idea to run go-mod-clean in this repo? +// for now, check if this repo should be ignored +// TODO: go.mod and go.sum should be moved to git tag metadata +func (repo *Repo) RepoIgnoresGoMod() error { file := "go.mod" if tracked, err := repo.isTracked(file); err != nil { - fmt.Printf("%s Error checking if %s tracked: %v\n", repo.GoPath, file, err) - return false, err + msg := fmt.Sprintf("%s Error checking if %s tracked: %v\n", repo.GoPath, file, err) + log.Info("gitpb:", msg) + return err } else { if tracked { - fmt.Printf("%s %s is tracked by Git.\n", repo.GoPath, file) - return false, nil + msg := fmt.Sprintf("%s %s is tracked by Git.\n", repo.GoPath, file) + log.Info("gitpb:", msg) + return errors.New(msg) } } if ignored, err := repo.isIgnored(file); err != nil { if err != nil { - fmt.Printf("%s Error checking if ignored: %v\n", repo.GoPath, err) - return false, err + msg := fmt.Sprintf("%s Error checking if ignored: %v\n", repo.GoPath, err) + log.Info("gitpb:", msg) + return err } } else { - if ignored { fmt.Printf("%s %s is ignored by Git.\n", repo.GoPath, file) - return true, nil + return nil } } - fmt.Printf("%s %s is neither tracked nor ignored by Git.\n", repo.GoPath, file) + msg := fmt.Sprintf("%s %s is neither tracked nor ignored by Git.\n", repo.GoPath, file) // this means, if you make a go.mod file, it'll add it to the repo to be tracked // so you need to either add it to .gitignore (this is what should happen) // or accept you want an auto-generated file to put endless garbage in your git repo // this obviously exposes my opinion on this subject matter - return false, nil + log.Info("gitpb:", msg) + return errors.New(msg) }