ref: c4a116558725ab885b7d303e0924cf2b35c9ba79
parent: e77bb13c201770929be6b5caf413be48ecbe1d8f
author: Bjørn Erik Pedersen <[email protected]>
date: Thu Apr 6 13:39:20 EDT 2017
all: Handle all errors As reported by `errcheck`.
--- a/commands/gendoc.go
+++ b/commands/gendoc.go
@@ -53,7 +53,9 @@
}
if found, _ := helpers.Exists(gendocdir, hugofs.Os); !found {
jww.FEEDBACK.Println("Directory", gendocdir, "does not exist, creating...")
- hugofs.Os.MkdirAll(gendocdir, 0777)
+ if err := hugofs.Os.MkdirAll(gendocdir, 0777); err != nil {
+ return err
+ }
}
now := time.Now().Format(time.RFC3339)
prepender := func(filename string) string {
--- a/commands/genman.go
+++ b/commands/genman.go
@@ -43,7 +43,9 @@
}
if found, _ := helpers.Exists(genmandir, hugofs.Os); !found {
jww.FEEDBACK.Println("Directory", genmandir, "does not exist, creating...")
- hugofs.Os.MkdirAll(genmandir, 0777)
+ if err := hugofs.Os.MkdirAll(genmandir, 0777); err != nil {
+ return err
+ }
}
cmd.Root().DisableAutoGenTag = true
--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -211,7 +211,7 @@
// Set bash-completion
validConfigFilenames := []string{"json", "js", "yaml", "yml", "toml", "tml"}
- HugoCmd.PersistentFlags().SetAnnotation("config", cobra.BashCompFilenameExt, validConfigFilenames)
+ _ = HugoCmd.PersistentFlags().SetAnnotation("config", cobra.BashCompFilenameExt, validConfigFilenames)
}
// initHugoBuildCommonFlags initialize common flags related to the Hugo build.
@@ -249,10 +249,10 @@
// Set bash-completion.
// Each flag must first be defined before using the SetAnnotation() call.
- cmd.Flags().SetAnnotation("source", cobra.BashCompSubdirsInDir, []string{})
- cmd.Flags().SetAnnotation("cacheDir", cobra.BashCompSubdirsInDir, []string{})
- cmd.Flags().SetAnnotation("destination", cobra.BashCompSubdirsInDir, []string{})
- cmd.Flags().SetAnnotation("theme", cobra.BashCompSubdirsInDir, []string{"themes"})
+ _ = cmd.Flags().SetAnnotation("source", cobra.BashCompSubdirsInDir, []string{})
+ _ = cmd.Flags().SetAnnotation("cacheDir", cobra.BashCompSubdirsInDir, []string{})
+ _ = cmd.Flags().SetAnnotation("destination", cobra.BashCompSubdirsInDir, []string{})
+ _ = cmd.Flags().SetAnnotation("theme", cobra.BashCompSubdirsInDir, []string{"themes"})
}
func initBenchmarkBuildingFlags(cmd *cobra.Command) {
@@ -274,7 +274,7 @@
hugoCmdV = HugoCmd
// Set bash-completion
- HugoCmd.PersistentFlags().SetAnnotation("logFile", cobra.BashCompFilenameExt, []string{})
+ _ = HugoCmd.PersistentFlags().SetAnnotation("logFile", cobra.BashCompFilenameExt, []string{})
}
// InitializeConfig initializes a config file with sensible default configuration flags.
@@ -384,7 +384,9 @@
config.Set("cacheDir", helpers.GetTempDir("hugo_cache", fs.Source))
}
- c.initFs(fs)
+ if err := c.initFs(fs); err != nil {
+ return nil, err
+ }
cfg.Logger.INFO.Println("Using config file:", viper.ConfigFileUsed())
@@ -682,17 +684,18 @@
return nil
}
- helpers.SymbolicWalk(c.Fs.Source, dataDir, walker)
- helpers.SymbolicWalk(c.Fs.Source, c.PathSpec().AbsPathify(c.Cfg.GetString("contentDir")), walker)
- helpers.SymbolicWalk(c.Fs.Source, i18nDir, walker)
- helpers.SymbolicWalk(c.Fs.Source, c.PathSpec().AbsPathify(c.Cfg.GetString("layoutDir")), walker)
+ // SymbolicWalk will log anny ERRORs
+ _ = helpers.SymbolicWalk(c.Fs.Source, dataDir, walker)
+ _ = helpers.SymbolicWalk(c.Fs.Source, c.PathSpec().AbsPathify(c.Cfg.GetString("contentDir")), walker)
+ _ = helpers.SymbolicWalk(c.Fs.Source, i18nDir, walker)
+ _ = helpers.SymbolicWalk(c.Fs.Source, c.PathSpec().AbsPathify(c.Cfg.GetString("layoutDir")), walker)
- helpers.SymbolicWalk(c.Fs.Source, staticDir, walker)
+ _ = helpers.SymbolicWalk(c.Fs.Source, staticDir, walker)
if c.PathSpec().ThemeSet() {
- helpers.SymbolicWalk(c.Fs.Source, filepath.Join(themesDir, "layouts"), walker)
- helpers.SymbolicWalk(c.Fs.Source, filepath.Join(themesDir, "static"), walker)
- helpers.SymbolicWalk(c.Fs.Source, filepath.Join(themesDir, "i18n"), walker)
- helpers.SymbolicWalk(c.Fs.Source, filepath.Join(themesDir, "data"), walker)
+ _ = helpers.SymbolicWalk(c.Fs.Source, filepath.Join(themesDir, "layouts"), walker)
+ _ = helpers.SymbolicWalk(c.Fs.Source, filepath.Join(themesDir, "static"), walker)
+ _ = helpers.SymbolicWalk(c.Fs.Source, filepath.Join(themesDir, "i18n"), walker)
+ _ = helpers.SymbolicWalk(c.Fs.Source, filepath.Join(themesDir, "data"), walker)
}
@@ -824,7 +827,9 @@
walkAdder := func(path string, f os.FileInfo, err error) error {
if f.IsDir() {
c.Logger.FEEDBACK.Println("adding created directory to watchlist", path)
- watcher.Add(path)
+ if err := watcher.Add(path); err != nil {
+ return err
+ }
}
return nil
}
@@ -833,7 +838,7 @@
// When mkdir -p is used, only the top directory triggers an event (at least on OSX)
if ev.Op&fsnotify.Create == fsnotify.Create {
if s, err := c.Fs.Source.Stat(ev.Name); err == nil && s.Mode().IsDir() {
- helpers.SymbolicWalk(c.Fs.Source, ev.Name, walkAdder)
+ _ = helpers.SymbolicWalk(c.Fs.Source, ev.Name, walkAdder)
}
}
@@ -921,7 +926,7 @@
// If file doesn't exist in any static dir, remove it
toRemove := filepath.Join(publishDir, relPath)
logger.Println("File no longer exists in static dir, removing", toRemove)
- c.Fs.Destination.RemoveAll(toRemove)
+ _ = c.Fs.Destination.RemoveAll(toRemove)
} else if err == nil {
// If file still exists, sync it
logger.Println("Syncing", relPath, "to", publishDir)
--- a/hugolib/hugo_sites.go
+++ b/hugolib/hugo_sites.go
@@ -551,7 +551,9 @@
p.Content = helpers.BytesToHTML(workContentCopy)
if summaryContent == nil {
- p.setAutoSummary()
+ if err := p.setAutoSummary(); err != nil {
+ s.Log.ERROR.Printf("Failed to set user auto summary for page %q: %s", p.pathOrTitle(), err)
+ }
}
} else {
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -637,7 +637,7 @@
func (s *Site) RegisterMediaTypes() {
for _, mt := range s.mediaTypesConfig {
// The last one will win if there are any duplicates.
- mime.AddExtensionType("."+mt.Suffix, mt.Type()+"; charset=utf-8")
+ _ = mime.AddExtensionType("."+mt.Suffix, mt.Type()+"; charset=utf-8")
}
}
@@ -709,7 +709,9 @@
}
if len(dataChanged) > 0 {
- s.readDataFromSourceFS()
+ if err := s.readDataFromSourceFS(); err != nil {
+ s.Log.ERROR.Println(err)
+ }
}
// If a content file changes, we need to reload only it and re-render the entire site.
@@ -1895,7 +1897,10 @@
path = []byte(s)
}
transformer := transform.NewChain(transform.AbsURLInXML)
- transformer.Apply(outBuffer, renderBuffer, path)
+ if err := transformer.Apply(outBuffer, renderBuffer, path); err != nil {
+ helpers.DistinctErrorLog.Println(err)
+ return nil
+ }
return s.publish(dest, outBuffer)
@@ -1943,7 +1948,10 @@
}
transformer := transform.NewChain(transformLinks...)
- transformer.Apply(outBuffer, renderBuffer, path)
+ if err := transformer.Apply(outBuffer, renderBuffer, path); err != nil {
+ helpers.DistinctErrorLog.Println(err)
+ return nil
+ }
return s.publish(dest, outBuffer)
}
--- a/hugolib/site_render.go
+++ b/hugolib/site_render.go
@@ -147,7 +147,9 @@
// TODO(bep) output do better
link := newOutputFormat(p.Page, p.outputFormat).Permalink()
- s.writeDestAlias(target, link, nil)
+ if err := s.writeDestAlias(target, link, nil); err != nil {
+ return err
+ }
pagers := p.paginator.Pagers()
--- a/transform/hugogeneratorinject.go
+++ b/transform/hugogeneratorinject.go
@@ -27,7 +27,9 @@
// HugoGeneratorInject injects a meta generator tag for Hugo if none present.
func HugoGeneratorInject(ct contentTransformer) {
if metaTagsCheck.Match(ct.Content()) {
- ct.Write(ct.Content())
+ if _, err := ct.Write(ct.Content()); err != nil {
+ helpers.DistinctWarnLog.Println("Failed to inject Hugo generator tag:", err)
+ }
return
}
@@ -41,5 +43,8 @@
newcontent = bytes.Replace(ct.Content(), []byte(head), replace, 1)
}
- ct.Write(newcontent)
+ if _, err := ct.Write(newcontent); err != nil {
+ helpers.DistinctWarnLog.Println("Failed to inject Hugo generator tag:", err)
+ }
+
}