On Sun, Feb 21, 2021 at 3:47 PM Iñaki Ucar <[email protected]> wrote:
>
> Hi,
>
> Let's say that pkgA uses pkgB::function1. Then, version 2 of pkgB
> removes function1 and exports function2 for the same functionality. So
> pkgA does something along these lines:
>
> if (utils::packageVersion("pkgB") < 2) {
> pkgB::function1()
> } else {
> pkgB::function2()
> }
>
> I'd say that there's nothing wrong with this code, and yet checks will
> complain about "missing o unexported object" in pkgB, for either
> function1 or function2 depending on the version of pkgB that is
> available.
>
> Isn't this a false positive? Or is there a better way of doing this?
I would just do this:
if (utils::packageVersion("pkgB") < 2) {
getExportedValue("pkgB", "function1")()
} else {
getExportedValue("pkgB", "function2")()
}
I would think that the check is fine with this, although I haven't tried.
Gabor
> Regards,
> --
> Iñaki Úcar
>
> ______________________________________________
> [email protected] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel