This is a small how-to note on the mentioned topic.
Currently, there is no task like doc-only in the vcbuild.bat, and the test for doc building result is skipped on Windows.
However, sometimes it is needed to quickly test some doc changes for a PR locally on Windows, maybe without building the node (~ 1 hour with 100% dual-core CPU on my machine).
It turns out to be not so difficult to build and test docs on Windows. However, the process has some quirks.
-
Add make to common Git Bash tools for Windows.
-
Unfortunately, a simple command NODE=/path/to/node make doc-only recommended in BUILDING.md works only if node is located deeper than the PWD path because of this macro in the doc-only task flow (it seems this caution is valid for Linux too).
If the path to node has no spaces, we can call with this relative path (supposing the project root is something like d:\node-fork\):
$ NODE=../../C/nodejs/node.exe make doc-only
If the path to node has spaces (like the default "C:\Program Files\nodejs\node.exe"), we have a problem with make. However, we can temporarily locate node in PWD, so this simple hack works:
$ cp "`where node`" node.exe && NODE=node.exe MAKE=make make doc-only && rm node.exe
We should define MAKE=make if the path to make also has spaces (which is default: c:\Program Files\Git\mingw64\bin\make.exe).
-
Finally, we can just comment out the skipping in test/doctool/test-make-doc.js and test the result.
This is a small how-to note on the mentioned topic.
Currently, there is no task like
doc-onlyin the vcbuild.bat, and the test for doc building result is skipped on Windows.However, sometimes it is needed to quickly test some doc changes for a PR locally on Windows, maybe without building the
node(~ 1 hour with 100% dual-core CPU on my machine).It turns out to be not so difficult to build and test docs on Windows. However, the process has some quirks.
Add
maketo common Git Bash tools for Windows.Unfortunately, a simple command
NODE=/path/to/node make doc-onlyrecommended in BUILDING.md works only ifnodeis located deeper than thePWDpath because of this macro in thedoc-onlytask flow (it seems this caution is valid for Linux too).If the path to
nodehas no spaces, we can call with this relative path (supposing the project root is something liked:\node-fork\):$ NODE=../../C/nodejs/node.exe make doc-onlyIf the path to
nodehas spaces (like the default"C:\Program Files\nodejs\node.exe"), we have a problem withmake. However, we can temporarily locatenodeinPWD, so this simple hack works:$ cp "`where node`" node.exe && NODE=node.exe MAKE=make make doc-only && rm node.exeWe should define
MAKE=makeif the path tomakealso has spaces (which is default:c:\Program Files\Git\mingw64\bin\make.exe).Finally, we can just comment out the skipping in
test/doctool/test-make-doc.jsand test the result.