53 lines
1.0 KiB
Go
53 lines
1.0 KiB
Go
package gitpb
|
|
|
|
// this is becoming a standard format
|
|
// todo: autogenerate this from the .proto file?
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
func (repo *Repo) DeleteGoDepByHash(hash string) *GoDep {
|
|
/*
|
|
refslock.Lock()
|
|
defer refslock.Unlock()
|
|
|
|
for i, _ := range repo.GoDeps {
|
|
if repo.GoDeps[i].Hash == hash {
|
|
repo.GoDeps[i] = repo.GoDeps[len(repo.GoDeps)-1]
|
|
repo.GoDeps = repo.GoDeps[:len(repo.GoDeps)-1]
|
|
return nil
|
|
}
|
|
}
|
|
*/
|
|
return nil
|
|
}
|
|
|
|
// enforces no duplicate package names
|
|
func (repo *Repo) AppendGoDep(newP *GoDep) bool {
|
|
/*
|
|
refslock.Lock()
|
|
defer refslock.Unlock()
|
|
|
|
for _, p := range repo.GoDeps {
|
|
if p.GoPath == newP.GoPath {
|
|
return false
|
|
}
|
|
}
|
|
|
|
repo.GoDeps = append(repo.GoDeps, newP)
|
|
*/
|
|
return repo.GoDeps.AppendUniqueGoPath(newP)
|
|
}
|
|
|
|
// returns time.Duration since last scan of go.sum & go.mod
|
|
func (repo *Repo) AgeGoDep() time.Duration {
|
|
t := time.Since(repo.LastGoDep.AsTime())
|
|
return t
|
|
}
|
|
|
|
// find a dependancy by the go path
|
|
func (repo *Repo) FindGoDepByPath(gopath string) *GoDep {
|
|
return repo.GoDeps.FindByGoPath(gopath)
|
|
}
|