61 lines
1.3 KiB
Go
61 lines
1.3 KiB
Go
package gitpb
|
|
|
|
// does processing on the go.mod and go.sum files
|
|
|
|
import (
|
|
"errors"
|
|
"time"
|
|
)
|
|
|
|
// checks to see if the go.sum and go.mod files
|
|
// match the repo.pb information
|
|
func (repo *Repo) ValidGoSum() error {
|
|
if repo.GoPrimitive {
|
|
// 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")
|
|
}
|
|
mtime, err := repo.mtime("go.mod")
|
|
if err == nil {
|
|
return err
|
|
}
|
|
if mtime != repo.LastGoDep.AsTime() {
|
|
return errors.New("go.mod mtime mis-match")
|
|
}
|
|
}
|
|
mtime, err := repo.mtime("go.sum")
|
|
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)
|
|
}
|
|
|
|
func (repo *Repo) LastGitPull() (time.Time, error) {
|
|
return repo.mtime(".git/FETCH_HEAD")
|
|
}
|
|
|
|
func (repo *Repo) GoSumAge() (time.Duration, error) {
|
|
var mtime time.Time
|
|
var err error
|
|
mtime, err = repo.mtime("go.sum")
|
|
if err == nil {
|
|
return time.Since(mtime), nil
|
|
}
|
|
mtime, err = repo.mtime("go.mod")
|
|
if err == nil {
|
|
return time.Since(mtime), nil
|
|
}
|
|
now := time.Now()
|
|
return time.Since(now), errors.New(repo.GoPath + " go.mod missing")
|
|
}
|