On 2018-03-20 06:17, Johannes Ranke wrote:
...
The idea exposed by Dirk is the same: requireNamespace will find the
package on CRAN and will set eval=TRUE. What you want though is to
avoid running a chunk on CRAN, even if the package is available. So
you need to set eval=FALSE *unconditionally*.
Or conditional on the package version (as Dirk proposed regarding tests) or on
an environment variable NOT_CRAN which you can set to true on the machine
where you do want to run the code (as used by devtools).
The function "fda::CRAN" allows package developers to run tests
themselves that should not run on CRAN or with "R CMD check –as-cran".
Several of my packages have code in "\examples" that include something
like the following:
if(!fda::CRAN()){
#Code I do not want run if a certain parameter is in Sys.getenv()
}
I have not tried this, but I think you could set a parameter,
e.g., '-no-vignette' via either Sys.setenv('-no-vignette'=1) or "R CMD
check -no-vignette", then bracket code snippets in the vignette with
"if(!fda::CRAN('-no-vignette', '-no-vignette')){...}".
This will NOT turn off compiling the vignette, but it will allow
you to suppress running code snippets in the vignette that take time.
Hope this helps.
Spencer
p.s. I just tested "Sys.setenv('-no-vignette'=1); tst2 <-
CRAN('-no-vignette', '-no-vignette')" and got TRUE, when CRAN() returned
FALSE. When I tried print(tst2) I got:
[1] TRUE
attr(,"Sys.getenv")
Error in formatDL(x, ...) : unused argument (digits = 7)
I do not understand this error message, but it does not seem to
be a problem I have to fix right now, so I won't.
Johannes
______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel
______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel