[R-pkg-devel] When are import version requirements checked?
murdoch@dunc@n @end|ng |rom gm@||@com
Fri Mar 26 14:51:10 CET 2021
Recently I contributed some changes to the pkgdown and downlit packages.
The new pkgdown changes require the new downlit changes in order to
work. These are still both only on Github, in r-lib/pkgdown and
pkgdown lists downlit in the Imports section of DESCRIPTION, but doesn't
import anything from it: all calls use the :: syntax, e.g.
Clearly pkgdown should add a version dependency to its Imports line
since the old downlit doesn't work. What I was surprised to find was
that R pretty much ignores that line. I can install downlit 0.2.1 from
CRAN, and put
downlit (>= 0.2.1.9000),
into the Imports field in DESCRIPTION, and then install the devel
version of pkgdown without any complaints from R, e.g.
> install.packages("~/pkgdown_220.127.116.1101.tar.gz", repos=NULL, type =
* installing *source* package ‘pkgdown’ ...
** using staged installation
** byte-compile and prepare package for lazy loading
*** installing help indices
*** copying figures
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary
* DONE (pkgdown)
The first sign of a problem comes when I try to use the modified function:
... [ lots deleted ] ...
Error: Failed to parse Rd in build_site.Rd
ℹ unused argument (output_handler =
evaluate::new_output_handler(value = pkgdown_print))
Run `rlang::last_error()` to see where the error occurred.
The problem here is that the "output_handler" argument is new in downlit
0.2.1.9000, and we aren't using that version.
Should R object to the incompatible versions here?
More information about the R-package-devel