MCPcopy Create free account
hub / github.com/HashLoad/boss / internalNeedUpdate

Method internalNeedUpdate

models/lock.go:119–146  ·  view source on GitHub ↗
(lockedDependency LockedDependency, version string)

Source from the content-addressed store, hash-verified

117}
118
119func (p Dependency) internalNeedUpdate(lockedDependency LockedDependency, version string) bool {
120 if lockedDependency.Failed {
121 return true
122 }
123
124 dependencyDir := filepath.Join(env.GetCurrentDir(), consts.FolderDependencies, p.GetName())
125
126 if _, err := os.Stat(dependencyDir); os.IsNotExist(err) {
127 return true
128 }
129 hash := utils.HashDir(dependencyDir)
130
131 if lockedDependency.Hash != hash {
132 return true
133 }
134
135 parsedNewVersion, err := semver.NewVersion(version)
136 if err != nil {
137 return version != lockedDependency.Version
138 }
139
140 parsedVersion, err := semver.NewVersion(lockedDependency.Version)
141 if err != nil {
142 return version != lockedDependency.Version
143 }
144 return parsedNewVersion.GreaterThan(parsedVersion)
145
146}
147
148func (p *DependencyArtifacts) Clean() {
149 p.Bin = []string{}

Callers 1

NeedUpdateMethod · 0.80

Calls 3

GetNameMethod · 0.95
GetCurrentDirFunction · 0.92
HashDirFunction · 0.92

Tested by

no test coverage detected