58 lines
1.2 KiB
Go
58 lines
1.2 KiB
Go
package gitpb
|
|
|
|
// does processing on the go.mod and go.sum files
|
|
|
|
import (
|
|
"errors"
|
|
)
|
|
|
|
// checks to see if the go.sum and go.mod files exist
|
|
// also check for a match with the repo.pb GoPrimitive bool
|
|
// todo: check mtime
|
|
func (repo *Repo) ValidGoSum() error {
|
|
if !repo.Exists("go.mod") {
|
|
return errors.New("ValidGoSum() go.mod is missing")
|
|
}
|
|
if repo.GoPrimitive {
|
|
if !repo.Exists("go.mod") {
|
|
return errors.New("GoPrimitive == true, but go.mod is missing")
|
|
}
|
|
// repo thinks it is primitive but has a go.sum file
|
|
if repo.Exists("go.sum") {
|
|
return errors.New("GoPrimitive == true, but go.sum exists")
|
|
}
|
|
/*
|
|
// todo: fix this
|
|
mtime, err := repo.Mtime("go.mod")
|
|
if err == nil {
|
|
return err
|
|
}
|
|
if mtime != repo.LastGoDep.AsTime() {
|
|
return errors.New("go.mod mtime mis-match")
|
|
}
|
|
*/
|
|
return nil
|
|
}
|
|
if !repo.Exists("go.sum") {
|
|
return errors.New("ValidGoSum() go.sum is missing")
|
|
}
|
|
/*
|
|
mtime, err := repo.Mtime("go.sum")
|
|
// todo: fix this
|
|
if err == nil {
|
|
return err
|
|
}
|
|
if mtime != repo.LastGoDep.AsTime() {
|
|
return errors.New("go.sum mtime mis-match")
|
|
}
|
|
*/
|
|
return nil
|
|
}
|
|
|
|
func (repo *Repo) GoDepsLen() int {
|
|
if repo.GoDeps == nil {
|
|
return 0
|
|
}
|
|
return len(repo.GoDeps.GoDeps)
|
|
}
|