all: sync with master
This commit is contained in:
@@ -96,23 +96,25 @@ func fmtModule(m *debug.Module) (formatted string) {
|
||||
|
||||
// Constants defining the headers of build information message.
|
||||
const (
|
||||
vFmtAGHHdr = "AdGuard Home"
|
||||
vFmtVerHdr = "Version: "
|
||||
vFmtChanHdr = "Channel: "
|
||||
vFmtGoHdr = "Go version: "
|
||||
vFmtTimeHdr = "Commit time: "
|
||||
vFmtRaceHdr = "Race: "
|
||||
vFmtGOOSHdr = "GOOS: " + runtime.GOOS
|
||||
vFmtGOARCHHdr = "GOARCH: " + runtime.GOARCH
|
||||
vFmtGOARMHdr = "GOARM: "
|
||||
vFmtGOMIPSHdr = "GOMIPS: "
|
||||
vFmtDepsHdr = "Dependencies:"
|
||||
vFmtAGHHdr = "AdGuard Home"
|
||||
vFmtVerHdr = "Version: "
|
||||
vFmtSchemaVerHdr = "Schema version: "
|
||||
vFmtChanHdr = "Channel: "
|
||||
vFmtGoHdr = "Go version: "
|
||||
vFmtTimeHdr = "Commit time: "
|
||||
vFmtRaceHdr = "Race: "
|
||||
vFmtGOOSHdr = "GOOS: " + runtime.GOOS
|
||||
vFmtGOARCHHdr = "GOARCH: " + runtime.GOARCH
|
||||
vFmtGOARMHdr = "GOARM: "
|
||||
vFmtGOMIPSHdr = "GOMIPS: "
|
||||
vFmtDepsHdr = "Dependencies:"
|
||||
)
|
||||
|
||||
// Verbose returns formatted build information. Output example:
|
||||
//
|
||||
// AdGuard Home
|
||||
// Version: v0.105.3
|
||||
// Schema version: 27
|
||||
// Channel: development
|
||||
// Go version: go1.15.3
|
||||
// Build time: 2021-03-30T16:26:08Z+0300
|
||||
@@ -125,34 +127,31 @@ const (
|
||||
// ...
|
||||
//
|
||||
// TODO(e.burkov): Make it write into passed io.Writer.
|
||||
func Verbose() (v string) {
|
||||
func Verbose(schemaVersion uint) (v string) {
|
||||
b := &strings.Builder{}
|
||||
|
||||
const nl = "\n"
|
||||
stringutil.WriteToBuilder(
|
||||
b,
|
||||
vFmtAGHHdr,
|
||||
nl,
|
||||
vFmtVerHdr,
|
||||
version,
|
||||
nl,
|
||||
vFmtChanHdr,
|
||||
channel,
|
||||
nl,
|
||||
vFmtGoHdr,
|
||||
runtime.Version(),
|
||||
)
|
||||
stringutil.WriteToBuilder(b, vFmtAGHHdr, nl)
|
||||
stringutil.WriteToBuilder(b, vFmtVerHdr, version, nl)
|
||||
|
||||
schemaVerStr := strconv.FormatUint(uint64(schemaVersion), 10)
|
||||
stringutil.WriteToBuilder(b, vFmtSchemaVerHdr, schemaVerStr, nl)
|
||||
|
||||
stringutil.WriteToBuilder(b, vFmtChanHdr, channel, nl)
|
||||
stringutil.WriteToBuilder(b, vFmtGoHdr, runtime.Version(), nl)
|
||||
|
||||
writeCommitTime(b)
|
||||
|
||||
stringutil.WriteToBuilder(b, nl, vFmtGOOSHdr, nl, vFmtGOARCHHdr)
|
||||
stringutil.WriteToBuilder(b, vFmtGOOSHdr, nl)
|
||||
stringutil.WriteToBuilder(b, vFmtGOARCHHdr, nl)
|
||||
|
||||
if goarm != "" {
|
||||
stringutil.WriteToBuilder(b, nl, vFmtGOARMHdr, "v", goarm)
|
||||
stringutil.WriteToBuilder(b, vFmtGOARMHdr, "v", goarm, nl)
|
||||
} else if gomips != "" {
|
||||
stringutil.WriteToBuilder(b, nl, vFmtGOMIPSHdr, gomips)
|
||||
stringutil.WriteToBuilder(b, vFmtGOMIPSHdr, gomips, nl)
|
||||
}
|
||||
|
||||
stringutil.WriteToBuilder(b, nl, vFmtRaceHdr, strconv.FormatBool(isRace))
|
||||
stringutil.WriteToBuilder(b, vFmtRaceHdr, strconv.FormatBool(isRace), nl)
|
||||
|
||||
info, ok := debug.ReadBuildInfo()
|
||||
if !ok {
|
||||
@@ -163,10 +162,10 @@ func Verbose() (v string) {
|
||||
return b.String()
|
||||
}
|
||||
|
||||
stringutil.WriteToBuilder(b, nl, vFmtDepsHdr)
|
||||
stringutil.WriteToBuilder(b, vFmtDepsHdr, nl)
|
||||
for _, dep := range info.Deps {
|
||||
if depStr := fmtModule(dep); depStr != "" {
|
||||
stringutil.WriteToBuilder(b, "\n\t", depStr)
|
||||
stringutil.WriteToBuilder(b, "\t", depStr, nl)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -180,8 +179,8 @@ func writeCommitTime(b *strings.Builder) {
|
||||
|
||||
commitTimeUnix, err := strconv.ParseInt(committime, 10, 64)
|
||||
if err != nil {
|
||||
stringutil.WriteToBuilder(b, "\n", vFmtTimeHdr, fmt.Sprintf("parse error: %s", err))
|
||||
stringutil.WriteToBuilder(b, vFmtTimeHdr, fmt.Sprintf("parse error: %s", err), "\n")
|
||||
} else {
|
||||
stringutil.WriteToBuilder(b, "\n", vFmtTimeHdr, time.Unix(commitTimeUnix, 0).String())
|
||||
stringutil.WriteToBuilder(b, vFmtTimeHdr, time.Unix(commitTimeUnix, 0).String(), "\n")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user