0

How can I force godoc to update my private package documentation when running a local godoc webserver on Windows?

Running the command: "godoc -http :6060" on Windows doesn't update new godoc comments in private packages. When I first ran the command it got the comments that were already present but hasn't updated since when killing and restarting the command. Is there a cache or something I can clear?

I can't find anything about this anywhere. There's this really old github issue (that was apparently fixed) that is frozen due to age and deals with the -sync option that doesn't exist in godoc in the current (and my own) go1.8 windows/amd64 install: https://github.com/golang/go/issues/3273

I tried this on Linux and it updates immediately when I kill and restart the "godoc -http :6060" command.

ddrake12
  • 831
  • 11
  • 22

2 Answers2

0

Technically this is not a Go related problem, but more related to the execution of a command when the contents of a folder change.

There are some solutions for standard HTTP Go programs -- those who have a router and listen on an specific port -- but nothing too much for GoDoc. This is because of the os-dependant model, where the OS needs to have a way to detect and listen for changes in the directory.

Maybe something from here may help you out, but it will require some bash scripting -- which may not be an option if you're on Windows and/or don't have Bash.

For Go HTTP projects, there's CodeGangsta's Gin package and Pilu's Fresh. Both work great!

Patrick D'appollonio
  • 2,722
  • 1
  • 18
  • 34
0

Patrick's answer pointed me in the right direction. The solution was to move the entire package folder into another folder and then run the "godoc -http :6060" command again which forced the update.

For just creating a godoc, this works fine. You just can't actually build anything without changing imports or moving the folder back.

Strangely, after doing this and moving it back, godoc is now recognizing my updates without moving the package folder.

ddrake12
  • 831
  • 11
  • 22