Skip to content

Commit c94dcfb

Browse files
committed
refactor: extract computeDepsHash
1 parent 7e6c2c6 commit c94dcfb

File tree

1 file changed

+19
-18
lines changed

1 file changed

+19
-18
lines changed

internal/cache/cache.go

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -164,30 +164,14 @@ func (c *Cache) packageHash(pkg *packages.Package, mode HashMode) (string, error
164164
return strings.Compare(a.PkgPath, b.PkgPath)
165165
})
166166

167-
calcDepsHash := func(depMode HashMode) error {
168-
for _, dep := range imps {
169-
if dep.PkgPath == "unsafe" {
170-
continue
171-
}
172-
173-
depHash, depErr := c.packageHash(dep, depMode)
174-
if depErr != nil {
175-
return fmt.Errorf("failed to calculate hash for dependency %s with mode %d: %w", dep.Name, depMode, depErr)
176-
}
177-
178-
fmt.Fprintf(key, "import %s %s\n", dep.PkgPath, depHash)
179-
}
180-
return nil
181-
}
182-
183-
if err := calcDepsHash(HashModeNeedOnlySelf); err != nil {
167+
if err := c.computeDepsHash(HashModeNeedOnlySelf, imps, key); err != nil {
184168
return "", err
185169
}
186170

187171
curSum = key.Sum()
188172
hashRes[HashModeNeedDirectDeps] = hex.EncodeToString(curSum[:])
189173

190-
if err := calcDepsHash(HashModeNeedAllDeps); err != nil {
174+
if err := c.computeDepsHash(HashModeNeedAllDeps, imps, key); err != nil {
191175
return "", err
192176
}
193177
curSum = key.Sum()
@@ -201,6 +185,23 @@ func (c *Cache) packageHash(pkg *packages.Package, mode HashMode) (string, error
201185
return hashRes[mode], nil
202186
}
203187

188+
func (c *Cache) computeDepsHash(depMode HashMode, imps []*packages.Package, key *cache.Hash) error {
189+
for _, dep := range imps {
190+
if dep.PkgPath == "unsafe" {
191+
continue
192+
}
193+
194+
depHash, err := c.packageHash(dep, depMode)
195+
if err != nil {
196+
return fmt.Errorf("failed to calculate hash for dependency %s with mode %d: %w", dep.Name, depMode, err)
197+
}
198+
199+
fmt.Fprintf(key, "import %s %s\n", dep.PkgPath, depHash)
200+
}
201+
202+
return nil
203+
}
204+
204205
func (c *Cache) putBytes(actionID cache.ActionID, buf *bytes.Buffer) error {
205206
c.ioSem <- struct{}{}
206207

0 commit comments

Comments
 (0)