in dev-tools/mage/notice.go [29:57]
func GenerateNotice(overrides, rules, noticeTemplate string) error {
mg.Deps(InstallGoNoticeGen, Deps.CheckModuleTidy)
err := gotool.Mod.Download(gotool.Download.All())
if err != nil {
return fmt.Errorf("error while downloading dependencies: %w", err)
}
// Ensure the go.mod file is left unchanged after go mod download all runs.
// go mod download will modify go.sum in a way that conflicts with go mod tidy.
// https://github.com/golang/go/issues/43994#issuecomment-770053099
defer gotool.Mod.Tidy() //nolint:errcheck // No value in handling this error.
out, _ := gotool.ListDepsForNotice()
depsFile, _ := os.CreateTemp("", "depsout")
defer os.Remove(depsFile.Name())
_, _ = depsFile.Write([]byte(out))
depsFile.Close()
generator := gotool.NoticeGenerator
return generator(
generator.Dependencies(depsFile.Name()),
generator.IncludeIndirect(),
generator.Overrides(overrides),
generator.Rules(rules),
generator.NoticeTemplate(noticeTemplate),
generator.NoticeOutput("NOTICE.txt"),
)
}