internal/pkg: append user-facing name in messages
All checks were successful
Test / Create distribution (push) Successful in 46s
Test / Sandbox (push) Successful in 2m58s
Test / ShareFS (push) Successful in 4m49s
Test / Sandbox (race detector) (push) Successful in 5m25s
Test / Hpkg (push) Successful in 5m31s
Test / Hakurei (push) Successful in 5m46s
Test / Hakurei (race detector) (push) Successful in 7m46s
Test / Flake checks (push) Successful in 1m47s
All checks were successful
Test / Create distribution (push) Successful in 46s
Test / Sandbox (push) Successful in 2m58s
Test / ShareFS (push) Successful in 4m49s
Test / Sandbox (race detector) (push) Successful in 5m25s
Test / Hpkg (push) Successful in 5m31s
Test / Hakurei (push) Successful in 5m46s
Test / Hakurei (race detector) (push) Successful in 7m46s
Test / Flake checks (push) Successful in 1m47s
This makes verbose messages much more useful. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -8,6 +8,7 @@ import (
|
||||
"encoding/base64"
|
||||
"encoding/binary"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/fs"
|
||||
"os"
|
||||
@@ -278,6 +279,20 @@ func Ident(a Artifact) ID {
|
||||
return a.Kind().Ident(a.Params(), a.Dependencies()...)
|
||||
}
|
||||
|
||||
// reportNameIdent is like reportName but does not recompute [ID].
|
||||
func reportNameIdent(a Artifact, id ID) string {
|
||||
r := Encode(id)
|
||||
if s, ok := a.(fmt.Stringer); ok {
|
||||
if name := s.String(); name != "" {
|
||||
r += "-" + name
|
||||
}
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
// reportName returns a string describing [Artifact] presented to the user.
|
||||
func reportName(a Artifact) string { return reportNameIdent(a, Ident(a)) }
|
||||
|
||||
// Kind corresponds to the concrete type of [Artifact] and is used to create
|
||||
// identifier for an [Artifact] with dependencies.
|
||||
type Kind uint64
|
||||
@@ -725,6 +740,9 @@ func (c *Cache) openFile(f File) (r io.ReadCloser, err error) {
|
||||
if !errors.Is(err, os.ErrNotExist) {
|
||||
return
|
||||
}
|
||||
if c.msg.IsVerbose() {
|
||||
c.msg.Verbosef("curing %s to memory...", reportName(f))
|
||||
}
|
||||
var data []byte
|
||||
if data, err = f.Cure(c.ctx); err != nil {
|
||||
return
|
||||
@@ -917,7 +935,7 @@ func (c *Cache) Cure(a Artifact) (
|
||||
}
|
||||
|
||||
if c.msg.IsVerbose() {
|
||||
c.msg.Verbosef("curing %s...", Encode(id))
|
||||
c.msg.Verbosef("curing %s...", reportNameIdent(a, id))
|
||||
}
|
||||
|
||||
// cure File outside type switch to skip TContext initialisation
|
||||
|
||||
Reference in New Issue
Block a user