mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
commands: Move time notification to after any build errors
This allows error parsers (VSCode problemMatchers) to use the time notification as bounds for detecting errors. Closes #8403
This commit is contained in:
parent
07919d1ccb
commit
04dc469fbd
3 changed files with 29 additions and 7 deletions
|
@ -162,13 +162,21 @@ Complete documentation is available at http://gohugo.io/.`,
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// prevent cobra printing error so it can be handled here (before the timeTrack prints)
|
||||||
|
cmd.SilenceErrors = true
|
||||||
|
|
||||||
c, err := initializeConfig(true, cc.buildWatch, &cc.hugoBuilderCommon, cc, cfgInit)
|
c, err := initializeConfig(true, cc.buildWatch, &cc.hugoBuilderCommon, cc, cfgInit)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
cmd.PrintErrln("Error:", err.Error())
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
cc.c = c
|
cc.c = c
|
||||||
|
|
||||||
return c.build()
|
err = c.build()
|
||||||
|
if err != nil {
|
||||||
|
cmd.PrintErrln("Error:", err.Error())
|
||||||
|
}
|
||||||
|
return err
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -539,7 +539,6 @@ func (c *commandeer) build() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *commandeer) serverBuild() error {
|
func (c *commandeer) serverBuild() error {
|
||||||
defer c.timeTrack(time.Now(), "Built")
|
|
||||||
|
|
||||||
stopProfiling, err := c.initProfiling()
|
stopProfiling, err := c.initProfiling()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -737,7 +736,6 @@ func (c *commandeer) handleBuildErr(err error, msg string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *commandeer) rebuildSites(events []fsnotify.Event) error {
|
func (c *commandeer) rebuildSites(events []fsnotify.Event) error {
|
||||||
defer c.timeTrack(time.Now(), "Total")
|
|
||||||
|
|
||||||
c.buildErr = nil
|
c.buildErr = nil
|
||||||
visited := c.visitedURLs.PeekAllSet()
|
visited := c.visitedURLs.PeekAllSet()
|
||||||
|
@ -1124,9 +1122,13 @@ func (c *commandeer) handleEvents(watcher *watcher.Batcher,
|
||||||
|
|
||||||
c.printChangeDetected("")
|
c.printChangeDetected("")
|
||||||
c.changeDetector.PrepareNew()
|
c.changeDetector.PrepareNew()
|
||||||
if err := c.rebuildSites(dynamicEvents); err != nil {
|
|
||||||
c.handleBuildErr(err, "Rebuild failed")
|
func() {
|
||||||
}
|
defer c.timeTrack(time.Now(), "Total")
|
||||||
|
if err := c.rebuildSites(dynamicEvents); err != nil {
|
||||||
|
c.handleBuildErr(err, "Rebuild failed")
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
if doLiveReload {
|
if doLiveReload {
|
||||||
if len(partitionedEvents.ContentEvents) == 0 && len(partitionedEvents.AssetEvents) > 0 {
|
if len(partitionedEvents.ContentEvents) == 0 && len(partitionedEvents.AssetEvents) > 0 {
|
||||||
|
|
|
@ -236,12 +236,24 @@ func (sc *serverCmd) server(cmd *cobra.Command, args []string) error {
|
||||||
jww.WARN.Println("memstats error:", err)
|
jww.WARN.Println("memstats error:", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// silence errors in cobra so we can handle them here
|
||||||
|
cmd.SilenceErrors = true
|
||||||
|
|
||||||
c, err := initializeConfig(true, true, &sc.hugoBuilderCommon, sc, cfgInit)
|
c, err := initializeConfig(true, true, &sc.hugoBuilderCommon, sc, cfgInit)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
cmd.PrintErrln("Error:", err.Error())
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := c.serverBuild(); err != nil {
|
err = func() error {
|
||||||
|
defer c.timeTrack(time.Now(), "Built")
|
||||||
|
err := c.serverBuild()
|
||||||
|
if err != nil {
|
||||||
|
cmd.PrintErrln("Error:", err.Error())
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}()
|
||||||
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue