Skip to content
Prev 14499 / 21312 Next

[Bioc-devel] Controlling vignette compilation order

Thanks for the update Martin. At least separate processes will avoid the MAX_DLL problems we had earlier.

?simpleSingleCell? is now set up so that each vignette will try to compile any upstream vignettes that it depends on (if those upstream targets haven?t already been built). This is done in a separate R process via callr to avoid caching difficulties as described previously. knitr caching is used to avoid redundant work when an already-compiled upstream vignette is recompiled by R CMD BUILD to create the HTML.

This setup seems to behave on the Bioc build system (note that the package itself is failing for other reasons that should be fixed in the latest version). There are no longer any implicit dependencies between vignettes based on the compilation order, which is probably a good thing. All vignettes must explicitly ?simpleSingleCell:::.compile()? their upstream targets.

It?s worth pointing out that my old vignette setup would have withstood r75944, as everything necessary was saved to file before being reloaded by each vignette. As it is now, the set-up can also withstand arbitrary changes to the compilation order. Now I only have to worry if R should decide to compile vignettes in different directories (or empty out the directory before compiling each vignette).

-A